diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2009-03-17T17·38+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2009-03-17T17·38+0000 |
commit | 93b6926054b0b339d310a3075a677a65676c7c11 (patch) | |
tree | 50de8a47acee0db3fe1a996cee669b0d5bb05a45 /tests | |
parent | 51e7e32c3bf7c2fb5045b0655c2edc1fbf347455 (diff) |
* Regression test for exportBuildReferencesGraph. It currently fails.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/common.sh.in | 5 | ||||
-rw-r--r-- | tests/export-graph.nix | 14 | ||||
-rw-r--r-- | tests/export-graph.sh | 21 |
3 files changed, 34 insertions, 6 deletions
diff --git a/tests/common.sh.in b/tests/common.sh.in index 5865cf1d637f..08faeea7199d 100644 --- a/tests/common.sh.in +++ b/tests/common.sh.in @@ -76,3 +76,8 @@ clearProfiles() { clearManifests() { rm -f $NIX_STATE_DIR/manifests/* } + +fail() { + echo "$1" + exit 1 +} diff --git a/tests/export-graph.nix b/tests/export-graph.nix index b7afa2a85b9b..d65ad8c143cb 100644 --- a/tests/export-graph.nix +++ b/tests/export-graph.nix @@ -2,21 +2,27 @@ with import ./config.nix; rec { - buildGraphBuilder = builtins.toFile "build-graph-builder" + printRefs = '' while read path; do read drv read nrRefs echo "$path has $nrRefs references" - echo -n "$path" >> $out + echo "$path" >> $out for ((n = 0; n < $nrRefs; n++)); do read ref; echo "ref $ref"; done done < refs ''; - buildGraph = mkDerivation { + runtimeGraph = mkDerivation { name = "dependencies"; - builder = buildGraphBuilder; + builder = builtins.toFile "build-graph-builder" "${printRefs}"; exportReferencesGraph = ["refs" (import ./dependencies.nix)]; }; + buildGraph = mkDerivation { + name = "dependencies"; + builder = builtins.toFile "build-graph-builder" "${printRefs}"; + exportBuildReferencesGraph = ["refs" (import ./dependencies.nix).drvPath]; + }; + } diff --git a/tests/export-graph.sh b/tests/export-graph.sh index f31bc75abfdd..5cba57f99663 100644 --- a/tests/export-graph.sh +++ b/tests/export-graph.sh @@ -3,7 +3,24 @@ source common.sh clearStore clearProfiles -outPath=$($nixbuild ./export-graph.nix) +checkRef() { + nix-store -q --references ./result | grep -q "$1" || fail "missing reference $1" +} + +# Test the export of the runtime dependency graph. + +outPath=$($nixbuild ./export-graph.nix -A runtimeGraph) test $(nix-store -q --references ./result | wc -l) = 2 || fail "bad nr of references" -nix-store -q --references ./result | grep -q input-2 || fail "missing reference" + +checkRef input-2 +for i in $(cat $outPath); do checkRef $i; done + +# Test the export of the build-time dependency graph. + +outPath=$($nixbuild ./export-graph.nix -A buildGraph) + +checkRef input-1 +checkRef input-2 + +for i in $(cat $outPath); do checkRef $i; done |