Closed lilyball closed 5 years ago
Can you rerun the tests with RUST_BACKTRACE=1 ? Note that travis is green so I am rather suprised: https://travis-ci.com/symphorien/nix-du
It turns out these test failures are due to running the tests from within the sandbox. My extra-sandbox-paths
are set to /System/Library/Frameworks /System/Library/PrivateFrameworks /usr/lib /private/tmp /private/var/tmp /usr/bin/env
, which should be sufficient for the impurities present in darwin builds. This makes me wonder if the tests are actually relying on having access to the real /nix
folder.
The tests use a local temporary store: https://github.com/symphorien/nix-du/blob/master/tests/common.rs#L14-L38 Do you have any more details than just the error code of nix when ran?
Also, can you build nix on MacOS with sandbox? The way I run nix in the tests is inspired by nix's own tests: https://github.com/NixOS/nix/blob/master/tests/common.sh.in#L4-L13
I'm not sure what you mean; I included the full test output in my original issue (see "Full output"), but I don't know how to get any more info than what it says.
I'll see if I can get a Nix build done under the sandbox, but looking at your link, everything there is under a temp dir, and TMPDIR
//tmp
is explicitly included by Nix's sandbox.
~I ran nix-build --option sandbox false -E 'with import <nixpkgs> {}; nix.overrideAttrs (_: { asdl = 3; })'
and most of the tests passed. The failing tests weren't due to the sandbox but both due to a socket path length issue:~
error: socket path '/private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-2.3.drv-0/nix-test/var/nix/daemon-socket/socket' is too long
Oops I turned the sandbox off in that test, not on. How did that autocomplete? Let me run it again.
You're right, with the sandbox on Nix itself fails to run tests. Lots of errors
error: opening pseudoterminal master: Operation not permitted
Anyway it looks like the nix-du
failures are coming from Nix itself, so I'm going to go ahead and close this issue.
I just tried building the latest master (
2601d1fcdc9752c025a87687e3e5b01ba78e3a72
) using Nix (I edited the existing package definition) and I get a bunch of test failures on Darwin. These failures only show up with the sandbox enabled.Full output
``` ---- filter_size_root_not_kept stdout ---- Derivation: with import /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/source/tests/nix/template.nix; rec { coucou = mkNode "coucou" [mux foo]; foo = mkNode "foo" [baz]; bar = mkNode "bar" [foo]; baz = mkNode "baz" []; mux = mkNode "mux" [baz]; frob = mkNode "frob" []; } Building coucou thread 'filter_size_root_not_kept' panicked at 'expected command to succeed, got ExitStatus(ExitStatus(256))', /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/nix-du-unstable-2019-09-30-vendor/cli_test_dir/src/lib.rs:484:13 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace. ---- filter_size_non_root stdout ---- Derivation: with import /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/source/tests/nix/template.nix; rec { a = mkNode "a" [d]; b = mkNode "b" [d]; c = mkNode "c" [e]; d = mkNode "d" [e]; e = mkNode "e" [f]; f = mkNode "f" []; } Building a thread 'filter_size_non_root' panicked at 'expected command to succeed, got ExitStatus(ExitStatus(256))', /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/nix-du-unstable-2019-09-30-vendor/cli_test_dir/src/lib.rs:484:13 ---- filter_number_root_not_kept stdout ---- Derivation: with import /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/source/tests/nix/template.nix; rec { coucou = mkNode "coucou" [mux foo]; foo = mkNode "foo" [baz]; bar = mkNode "bar" [foo]; baz = mkNode "baz" []; mux = mkNode "mux" [baz]; frob = mkNode "frob" []; } Building coucou thread 'filter_number_root_not_kept' panicked at 'expected command to succeed, got ExitStatus(ExitStatus(256))', /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/nix-du-unstable-2019-09-30-vendor/cli_test_dir/src/lib.rs:484:13 ---- filter_size_root_kept stdout ---- Derivation: with import /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/source/tests/nix/template.nix; rec { coucou = mkNode "coucou" [mux foo]; foo = mkNode "foo" [baz]; bar = mkNode "bar" [foo]; baz = mkNode "baz" []; mux = mkNode "mux" [baz]; } Building coucou thread 'filter_size_root_kept' panicked at 'expected command to succeed, got ExitStatus(ExitStatus(256))', /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/nix-du-unstable-2019-09-30-vendor/cli_test_dir/src/lib.rs:484:13 ---- autodetect_optimised stdout ---- Derivation: with import /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/source/tests/nix/template.nix; rec { coucou = mkNode "coucou" [foo]; foo = mkNode "foo" []; bar = mkNode "bar" []; } Building coucou thread 'autodetect_optimised' panicked at 'expected command to succeed, got ExitStatus(ExitStatus(256))', /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/nix-du-unstable-2019-09-30-vendor/cli_test_dir/src/lib.rs:484:13 ---- filter_number_non_root stdout ---- Derivation: with import /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/source/tests/nix/template.nix; rec { a = mkNode "a" [d]; b = mkNode "b" [d]; c = mkNode "c" [e]; d = mkNode "d" [e]; e = mkNode "e" [f]; f = mkNode "f" []; } Building a thread 'filter_number_non_root' panicked at 'expected command to succeed, got ExitStatus(ExitStatus(256))', /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/nix-du-unstable-2019-09-30-vendor/cli_test_dir/src/lib.rs:484:13 ---- autodetect_un_optimised stdout ---- Derivation: with import /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/source/tests/nix/template.nix; rec { coucou = mkNode "coucou" [foo]; foo = mkNode "foo" []; bar = mkNode "bar" []; } Building coucou thread 'autodetect_un_optimised' panicked at 'expected command to succeed, got ExitStatus(ExitStatus(256))', /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/nix-du-unstable-2019-09-30-vendor/cli_test_dir/src/lib.rs:484:13 ---- filter_number_root_kept stdout ---- Derivation: with import /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/source/tests/nix/template.nix; rec { coucou = mkNode "coucou" [mux foo]; foo = mkNode "foo" [baz]; bar = mkNode "bar" [foo]; baz = mkNode "baz" []; mux = mkNode "mux" [baz]; } Building coucou thread 'filter_number_root_kept' panicked at 'expected command to succeed, got ExitStatus(ExitStatus(256))', /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/nix-du-unstable-2019-09-30-vendor/cli_test_dir/src/lib.rs:484:13 ---- optimise stdout ---- Derivation: with import /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/source/tests/nix/template.nix; rec { coucou = mkNode "coucou" [foo]; foo = mkNode "foo" []; bar = mkNode "bar" []; blih = mkNode "blih" []; } Building coucou thread 'optimise' panicked at 'expected command to succeed, got ExitStatus(ExitStatus(256))', /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/nix-du-unstable-2019-09-30-vendor/cli_test_dir/src/lib.rs:484:13 ---- rooted_simple stdout ---- Derivation: with import /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/source/tests/nix/template.nix; rec { a = mkNode "a" [b]; b = mkNode "b" []; c = mkNode "c" [h d]; d = mkNode "d" [f e]; e = mkNode "e" [g j]; f = mkNode "f" [g]; g = mkNode "g" []; h = mkNode "h" [i]; i = mkNode "i" []; j = mkNode "j" []; } Building a thread 'rooted_simple' panicked at 'expected command to succeed, got ExitStatus(ExitStatus(256))', /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/nix-du-unstable-2019-09-30-vendor/cli_test_dir/src/lib.rs:484:13 ---- k2_1 stdout ---- Derivation: with import /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/source/tests/nix/template.nix; rec { coucou = mkNode "coucou" [foo]; foo = mkNode "foo" []; bar = mkNode "bar" [foo]; } Building coucou thread 'k2_1' panicked at 'expected command to succeed, got ExitStatus(ExitStatus(256))', /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/nix-du-unstable-2019-09-30-vendor/cli_test_dir/src/lib.rs:484:13 ---- simple stdout ---- Derivation: with import /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/source/tests/nix/template.nix; rec { coucou = mkNode "coucou" [mux foo]; foo = mkNode "foo" [baz]; bar = mkNode "bar" [foo]; baz = mkNode "baz" []; mux = mkNode "mux" [baz]; } Building coucou thread 'simple' panicked at 'expected command to succeed, got ExitStatus(ExitStatus(256))', /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/nix-du-unstable-2019-09-30-vendor/cli_test_dir/src/lib.rs:484:13 ---- rooted_lazy stdout ---- Derivation: with import /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/source/tests/nix/template.nix; rec { coucou = mkNode "coucou" [foo]; foo = mkNode "foo" []; bar = mkNode "bar" []; } Building coucou thread 'rooted_lazy' panicked at 'expected command to succeed, got ExitStatus(ExitStatus(256))', /private/var/folders/cs/l6c6g06x0974_0w5pdg8dps80000gn/T/nix-build-nix-du-unstable-2019-09-30.drv-0/nix-du-unstable-2019-09-30-vendor/cli_test_dir/src/lib.rs:484:13 ```"x86_64-darwin"
Darwin 18.7.0, macOS 10.14.6
no
yes
nix-env (Nix) 2.3
"nixpkgs-20.03pre194957.bef773ed53f"
/Users/lily/.nix-defexpr/channels/nixpkgs