summaryrefslogtreecommitdiff
path: root/pkgs/build-support/testers/testEqualArrayOrMap/default.nix
blob: 31bbc7fe3f12b00714c409b2569785195f7f95cd (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
38
39
{
  arrayUtilities,
  lib,
  stdenvNoCC,
}:
lib.makeOverridable (
  {
    name,
    valuesArray ? null,
    valuesMap ? null,
    expectedArray ? null,
    expectedMap ? null,
    script,
  }:
  assert lib.assertMsg (
    expectedArray != null || expectedMap != null
  ) "testEqualArrayOrMap: at least one of 'expectedArray' or 'expectedMap' must be provided";
  stdenvNoCC.mkDerivation {
    __structuredAttrs = true;
    strictDeps = true;

    inherit name;

    nativeBuildInputs = [
      arrayUtilities.isDeclaredArray
      ./assert-equal-array.sh
      arrayUtilities.isDeclaredMap
      arrayUtilities.getSortedMapKeys
      ./assert-equal-map.sh
    ];

    inherit valuesArray valuesMap;
    inherit expectedArray expectedMap;

    inherit script;

    buildCommandPath = ./build-command.sh;
  }
)