Add a test that nix repl --show-trace actually shows the trace
This commit is contained in:
parent
581f774284
commit
2dc29e0d93
|
@ -13,6 +13,10 @@ failing = import ./simple-failing.nix
|
||||||
:log failing
|
:log failing
|
||||||
"
|
"
|
||||||
|
|
||||||
|
replUndefinedVariable="
|
||||||
|
import ./undefined-variable.nix
|
||||||
|
"
|
||||||
|
|
||||||
testRepl () {
|
testRepl () {
|
||||||
local nixArgs=("$@")
|
local nixArgs=("$@")
|
||||||
local replOutput="$(nix repl "${nixArgs[@]}" <<< "$replCmds")"
|
local replOutput="$(nix repl "${nixArgs[@]}" <<< "$replCmds")"
|
||||||
|
@ -22,10 +26,14 @@ testRepl () {
|
||||||
nix path-info "${nixArgs[@]}" "$outPath"
|
nix path-info "${nixArgs[@]}" "$outPath"
|
||||||
# simple.nix prints a PATH during build
|
# simple.nix prints a PATH during build
|
||||||
echo "$replOutput" | grep -qs 'PATH=' || fail "nix repl :log doesn't output logs"
|
echo "$replOutput" | grep -qs 'PATH=' || fail "nix repl :log doesn't output logs"
|
||||||
local replOutput="$(nix repl "${nixArgs[@]}" <<< "$replFailingCmds")"
|
local replOutput="$(nix repl "${nixArgs[@]}" <<< "$replFailingCmds" 2>&1)"
|
||||||
echo "$replOutput"
|
echo "$replOutput"
|
||||||
echo "$replOutput" | grep -qs 'This should fail' \
|
echo "$replOutput" | grep -qs 'This should fail' \
|
||||||
|| fail "nix repl :log doesn't output logs for a failed derivation"
|
|| fail "nix repl :log doesn't output logs for a failed derivation"
|
||||||
|
local replOutput="$(nix repl --show-trace "${nixArgs[@]}" <<< "$replUndefinedVariable" 2>&1)"
|
||||||
|
echo "$replOutput"
|
||||||
|
echo "$replOutput" | grep -qs "while evaluating the file" \
|
||||||
|
|| fail "nix repl --show-trace doesn't show the trace"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Simple test, try building a drv
|
# Simple test, try building a drv
|
||||||
|
|
1
tests/undefined-variable.nix
Normal file
1
tests/undefined-variable.nix
Normal file
|
@ -0,0 +1 @@
|
||||||
|
let f = builtins.toFile "test-file.nix" "asd"; in import f
|
Loading…
Reference in a new issue