1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-12-16 05:51:05 +01:00

Merge pull request #14182 from NixOS/simplify-archive-tests

tests: Move invalid nar tests from tests/functional to libutil-tests
This commit is contained in:
John Ericson 2025-10-08 20:46:37 +00:00 committed by GitHub
commit bb1945a090
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
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.