aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nix/repl.cc4
-rw-r--r--tests/ca/repl.sh5
-rw-r--r--tests/local.mk2
-rw-r--r--tests/repl.sh4
4 files changed, 11 insertions, 4 deletions
diff --git a/src/nix/repl.cc b/src/nix/repl.cc
index 9c0d22438..bc31cf1d4 100644
--- a/src/nix/repl.cc
+++ b/src/nix/repl.cc
@@ -504,8 +504,8 @@ bool NixRepl::processLine(string line)
state->store->buildPaths({DerivedPath::Built{drvPath}});
auto drv = state->store->readDerivation(drvPath);
logger->cout("\nThis derivation produced the following outputs:");
- for (auto & i : drv.outputsAndOptPaths(*state->store))
- logger->cout(" %s -> %s", i.first, state->store->printStorePath(*i.second.second));
+ for (auto & [outputName, outputPath] : state->store->queryDerivationOutputMap(drvPath))
+ logger->cout(" %s -> %s", outputName, state->store->printStorePath(outputPath));
} else if (command == ":i") {
runNix("nix-env", {"-i", drvPathRaw});
} else {
diff --git a/tests/ca/repl.sh b/tests/ca/repl.sh
new file mode 100644
index 000000000..3808c7cb2
--- /dev/null
+++ b/tests/ca/repl.sh
@@ -0,0 +1,5 @@
+source common.sh
+
+export NIX_TESTS_CA_BY_DEFAULT=1
+
+cd .. && source repl.sh
diff --git a/tests/local.mk b/tests/local.mk
index 8d454ee19..b63a12d96 100644
--- a/tests/local.mk
+++ b/tests/local.mk
@@ -48,7 +48,7 @@ nix_tests = \
flakes.sh \
build.sh \
compute-levels.sh \
- repl.sh \
+ repl.sh ca/repl.sh \
ca/build.sh \
ca/build-with-garbage-path.sh \
ca/duplicate-realisation-in-closure.sh \
diff --git a/tests/repl.sh b/tests/repl.sh
index 4e3059517..d360821f2 100644
--- a/tests/repl.sh
+++ b/tests/repl.sh
@@ -7,7 +7,9 @@ simple = import ./simple.nix
testRepl () {
local nixArgs=("$@")
- local outPath=$(nix repl "${nixArgs[@]}" <<< "$replCmds" |&
+ local replOutput="$(nix repl "${nixArgs[@]}" <<< "$replCmds")"
+ echo "$replOutput"
+ local outPath=$(echo "$replOutput" |&
grep -o -E "$NIX_STORE_DIR/\w*-simple")
nix path-info "${nixArgs[@]}" "$outPath"
}