summaryrefslogtreecommitdiff
path: root/pkgs/build-support/testers/testBuildFailurePrime/default.nix
blob: d61d6fb0efbe79289c5627e481769467aa0204ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{
  lib,
  stdenvNoCC,
  testers,
}:
# See https://nixos.org/manual/nixpkgs/unstable/#tester-testBuildFailurePrime
# or doc/build-helpers/testers.chapter.md
lib.makeOverridable (
  {
    drv,
    name ? "testBuildFailure-${drv.name}",
    expectedBuilderExitCode ? 1,
    expectedBuilderLogEntries ? [ ],
    script ? "",
  }:
  stdenvNoCC.mkDerivation (finalAttrs: {
    __structuredAttrs = true;
    strictDeps = true;

    inherit name;

    nativeBuildInputs = [ finalAttrs.failed ];

    failed = testers.testBuildFailure drv;

    inherit expectedBuilderExitCode expectedBuilderLogEntries;

    inherit script;

    buildCommandPath = ./build-command.sh;

    meta = {
      description = "Wrapper around testers.testBuildFailure to simplify common use cases";
      maintainers = [ lib.maintainers.connorbaker ];
    };
  })
)