* Regression test for exportBuildReferencesGraph. It currently fails.
This commit is contained in:
parent
51e7e32c3b
commit
93b6926054
|
@ -76,3 +76,8 @@ clearProfiles() {
|
|||
clearManifests() {
|
||||
rm -f $NIX_STATE_DIR/manifests/*
|
||||
}
|
||||
|
||||
fail() {
|
||||
echo "$1"
|
||||
exit 1
|
||||
}
|
||||
|
|
|
@ -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];
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue