about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2009-03-17T17·38+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2009-03-17T17·38+0000
commit93b6926054b0b339d310a3075a677a65676c7c11 (patch)
tree50de8a47acee0db3fe1a996cee669b0d5bb05a45
parent51e7e32c3bf7c2fb5045b0655c2edc1fbf347455 (diff)
* Regression test for exportBuildReferencesGraph. It currently fails.
-rw-r--r--tests/common.sh.in5
-rw-r--r--tests/export-graph.nix14
-rw-r--r--tests/export-graph.sh21
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