From d0b635f6f2cd8a329980d1574f448041064f7d1a Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Fri, 26 Mar 2021 11:40:26 +0100 Subject: fix(nix/runTestsuite): use s6-portable-utils MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same as 221698c603dcb318c609b4d21cb2a9fada44a14c We had a bunch of instances of https://github.com/NixOS/nix/issues/2176, where nix would exit with a “killed by signal 9” error. According to Eelco in that issue, this is perfectly normal behaviour of course, and appears if the last command in a loop closes `stdout` or `stdin`, then the builder will SIGKILL it immediately. This is of course also a perfectly fine error message for that case. It turns out that mainly GNU coreutils exhibit this behaviour … Let’s see if using a more sane tool suite fixes that. Change-Id: Iaf9e542952ca36c02208a3f067f575ba978272b4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2663 Reviewed-by: Profpatsch Tested-by: BuildkiteCI --- nix/runTestsuite/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nix/runTestsuite/default.nix b/nix/runTestsuite/default.nix index 5bb0ce1f85..78cf5389e4 100644 --- a/nix/runTestsuite/default.nix +++ b/nix/runTestsuite/default.nix @@ -37,7 +37,8 @@ let bool ; - bins = depot.nix.getBins pkgs.coreutils [ "printf" "touch" ]; + bins = depot.nix.getBins pkgs.coreutils [ "printf" ] + // depot.nix.getBins pkgs.s6-portable-utils [ "s6-touch" ]; # Returns true if the given expression throws when `deepSeq`-ed throws = expr: @@ -161,7 +162,7 @@ let then depot.nix.runExecline.local "testsuite-${name}-successful" {} [ "importas" "out" "out" "if" [ bins.printf "%s\n" "testsuite ${name} successful!" ] - bins.touch "$out" + bins.s6-touch "$out" ] else depot.nix.runExecline.local "testsuite-${name}-failed" {} [ "importas" "out" "out" -- cgit 1.4.1