stdenv.tests: Add succeedOnFailure

Changed files
+19
pkgs
stdenv
+5
pkgs/stdenv/generic/default.nix
···
# without running any commands. Because this will also skip `shopt -s extglob`
# commands and extglob affects the Bash parser, we enable extglob always.
shellDryRun = "${stdenv.shell} -n -O extglob";
+
+
tests = {
+
succeedOnFailure = import ../tests/succeedOnFailure.nix { inherit stdenv; };
+
};
+
passthru.tests = lib.warn "Use `stdenv.tests` instead. `passthru` is a `mkDerivation` detail." stdenv.tests;
}
# Propagate any extra attributes. For instance, we use this to
+14
pkgs/stdenv/tests/succeedOnFailure.nix
···
+
{ stdenv }:
+
+
stdenv.mkDerivation {
+
name = "stdenv-test-succeedOnFailure";
+
+
succeedOnFailure = true;
+
+
passAsFile = [ "buildCommand" ];
+
buildCommand = ''
+
mkdir $out
+
echo foo > $out/foo
+
exit 1
+
'';
+
}