1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-27 04:30:59 +01:00

tests: Move invalid nar tests from tests/functional to libutil-tests

Since 242f362567 we have better infrastructure
for this kind of tests.
This commit is contained in:
Sergei Zimmerman 2025-10-08 01:59:04 +03:00
parent fb117e0cac
commit 0619351326
No known key found for this signature in database
9 changed files with 15 additions and 29 deletions

View file

@ -42,6 +42,20 @@ INSTANTIATE_TEST_SUITE_P(
NarTest,
InvalidNarTest,
::testing::Values(
std::pair{"invalid-tag-instead-of-contents", "bad archive: expected tag 'contents', got 'AAAAAAAA'"}));
std::pair{"invalid-tag-instead-of-contents", "bad archive: expected tag 'contents', got 'AAAAAAAA'"},
// Unpacking a NAR with a NUL character in a file name should fail.
std::pair{"nul-character", "bad archive: NAR contains invalid file name 'f"},
// Likewise for a '.' filename.
std::pair{"dot", "bad archive: NAR contains invalid file name '.'"},
// Likewise for a '..' filename.
std::pair{"dotdot", "bad archive: NAR contains invalid file name '..'"},
// Likewise for a filename containing a slash.
std::pair{"slash", "bad archive: NAR contains invalid file name 'x/y'"},
// Likewise for an empty filename.
std::pair{"empty", "bad archive: NAR contains invalid file name ''"},
// Test that the 'executable' field cannot come before the 'contents' field.
std::pair{"executable-after-contents", "bad archive: expected tag ')', got 'executable'"},
// Test that the 'name' field cannot come before the 'node' field in a directory entry.
std::pair{"name-after-node", "bad archive: expected tag 'name'"}));
} // namespace nix

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.