about summary refs log tree commit diff
path: root/pkgs/test/release/default.nix
blob: 2fdc6d0dc38c5b6ba017bacb7f4269878236a234 (plain) (blame)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
# Adapted from lib/tests/release.nix
{ pkgs-path ? ../../..
, pkgs ? import pkgs-path {}
, lib ? pkgs.lib
, nix ? pkgs.nix
}:

#
# This verifies that release-attrpaths-superset.nix does not encounter
# infinite recursion or non-tryEval-able failures.
#
pkgs.runCommand "all-attrs-eval-under-tryEval" {
  nativeBuildInputs = [
    nix
    pkgs.gitMinimal
  ] ++ lib.optional pkgs.stdenv.hostPlatform.isLinux pkgs.inotify-tools;
  strictDeps = true;

  src = with lib.fileset; toSource {
    root = pkgs-path;
    fileset = unions [
      ../../../default.nix
      ../../../doc
      ../../../lib
      ../../../maintainers
      ../../../nixos
      ../../../pkgs
      ../../../.version
    ];
  };
}
''
  datadir="${nix}/share"
  export TEST_ROOT=$(pwd)/test-tmp
  export HOME=$(mktemp -d)
  export NIX_BUILD_HOOK=
  export NIX_CONF_DIR=$TEST_ROOT/etc
  export NIX_LOCALSTATE_DIR=$TEST_ROOT/var
  export NIX_LOG_DIR=$TEST_ROOT/var/log/nix
  export NIX_STATE_DIR=$TEST_ROOT/var/nix
  export NIX_STORE_DIR=$TEST_ROOT/store
  export PAGER=cat
  cacheDir=$TEST_ROOT/binary-cache

  nix-store --init

  echo "Running pkgs/top-level/release-attrpaths-superset.nix"
  nix-instantiate --eval --strict --json $src/pkgs/top-level/release-attrpaths-superset.nix -A names > /dev/null

  mkdir $out
  echo success > $out/${nix.version}
''