From 467cbf403b0f3497e856569ea4945d9bd39cf99f Mon Sep 17 00:00:00 2001 From: Connor Baker Date: Fri, 21 Feb 2025 10:12:36 -0800 Subject: [PATCH] tests.testers.testBuildFailure': add negative tests for exit code check and log check --- .../testers/testBuildFailurePrime/tests.nix | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/pkgs/build-support/testers/testBuildFailurePrime/tests.nix b/pkgs/build-support/testers/testBuildFailurePrime/tests.nix index 9ba65387ae8b..1f1adadccb32 100644 --- a/pkgs/build-support/testers/testBuildFailurePrime/tests.nix +++ b/pkgs/build-support/testers/testBuildFailurePrime/tests.nix @@ -114,6 +114,34 @@ let }; sideEffectsStructuredAttrs = overrideStructuredAttrs true final.sideEffects; + + exitCodeNegativeTest = testers.testBuildFailure' { + drv = testers.testBuildFailure' { + drv = runCommand "exit-code" { } "exit 3"; + # Default expected exit code is 1 + }; + expectedBuilderLogEntries = [ + "ERROR: testBuilderExitCode: original builder produced exit code 3 but was expected to produce 1" + ]; + }; + + exitCodeNegativeTestStructuredAttrs = overrideStructuredAttrs true final.exitCodeNegativeTest; + + logNegativeTest = testers.testBuildFailure' { + drv = testers.testBuildFailure' { + drv = runCommand "exit-code" { } '' + nixLog "apples" + exit 3 + ''; + expectedBuilderExitCode = 3; + expectedBuilderLogEntries = [ "bees" ]; + }; + expectedBuilderLogEntries = [ + "ERROR: testBuilderLogEntries: original builder log does not contain 'bees'" + ]; + }; + + logNegativeTestStructuredAttrs = overrideStructuredAttrs true final.logNegativeTest; }; in final