Merge branch 'nar-accessor-tree' of https://github.com/bennofs/nix

This commit is contained in:
Eelco Dolstra 2017-05-24 11:04:43 +02:00
commit edbb105e98
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE
4 changed files with 123 additions and 34 deletions

View file

@ -13,7 +13,8 @@ nix_tests = \
check-reqs.sh pass-as-file.sh tarball.sh restricted.sh \
placeholders.sh nix-shell.sh \
linux-sandbox.sh \
build-remote.sh
build-remote.sh \
nar-index.sh
# parallel.sh
install-tests += $(foreach x, $(nix_tests), tests/$(x))

23
tests/nar-index.nix Normal file
View file

@ -0,0 +1,23 @@
with import ./config.nix;
rec {
a = mkDerivation {
name = "nar-index-a";
builder = builtins.toFile "builder.sh"
''
mkdir $out
mkdir $out/foo
touch $out/foo-x
touch $out/foo/bar
touch $out/foo/baz
touch $out/qux
mkdir $out/zyx
cat >$out/foo/data <<EOF
lasjdöaxnasd
asdom 12398
ä"§Æ¢«»alsd
EOF
'';
};
}

23
tests/nar-index.sh Normal file
View file

@ -0,0 +1,23 @@
source common.sh
echo "building test path"
storePath="$(nix-build nar-index.nix -A a --no-out-link)"
cd "$TEST_ROOT"
echo "dumping path to nar"
narFile="$TEST_ROOT/path.nar"
nix-store --dump $storePath > $narFile
echo "check that find and ls-nar match"
( cd $storePath; find . | sort ) > files.find
nix ls-nar -R -d $narFile "" | sort > files.ls-nar
diff -u files.find files.ls-nar
echo "check that file contents of data match"
nix cat-nar $narFile /foo/data > data.cat-nar
diff -u data.cat-nar $storePath/foo/data
echo "check that file contents of baz match"
nix cat-nar $narFile /foo/baz > baz.cat-nar
diff -u baz.cat-nar $storePath/foo/baz