Caught by edef's harness. I rewrote the structured build log tests in
f2 and added a test for this one.
Before: it failed the build altogether:
```
building '/tmp/jade/pytest-of-jade/pytest-77/test_invalid_fields_files0_0/nix/store/skhjs5zs082nqiakj69qz32gyywz0v1a-unusual-loggi
ng.drv'...
error: unsupported JSON type 7
```
Now the output is as expected:
```
warning: Unable to handle a JSON message from the derivation builder: error: unsupported log field type number
@nix {"action": "start", "fields": [1.5], "id": 2, "type": 1, "level": 1, "text": "abc"}
```
Change-Id: Idbd28c5a4d4cf15f27207f83b730e7946a6a6964
27 lines
630 B
Bash
27 lines
630 B
Bash
source common.sh
|
|
|
|
clearStore
|
|
|
|
path=$(nix-build dependencies.nix --no-out-link)
|
|
|
|
# Test nix-store -l.
|
|
[ "$(nix-store -l $path)" = FOO ]
|
|
|
|
# Test compressed logs.
|
|
clearStore
|
|
rm -rf $NIX_LOG_DIR
|
|
(! nix-store -l $path)
|
|
nix-build dependencies.nix --no-out-link --compress-build-log
|
|
[ "$(nix-store -l $path)" = FOO ]
|
|
|
|
# test whether empty logs work fine with `nix log`.
|
|
builder="$(realpath "$(mktemp)")"
|
|
echo -e "#!/bin/sh\nmkdir \$out" > "$builder"
|
|
outp="$(nix-build -E \
|
|
'with import ./config.nix; mkDerivation { name = "fnord"; builder = '"$builder"'; }' \
|
|
--out-link "$(mktemp -d)/result")"
|
|
|
|
test -d "$outp"
|
|
|
|
nix log "$outp"
|