diff options
author | John Ericson <Ericson2314@yahoo.com> | 2017-05-17 11:31:57 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-17 11:31:57 -0400 |
commit | f3c989babdcadb296b8e98b8b7572d229a3838fb (patch) | |
tree | fbde5bc622e8fb18e8d5dd4ae2519c2e67df1239 /lib | |
parent | 6ba53a7c812958b4103a568be42f227977d66217 (diff) | |
parent | 296753f0947427d5753be68ae10363ac1b8b4cdc (diff) | |
download | nixlib-f3c989babdcadb296b8e98b8b7572d229a3838fb.tar nixlib-f3c989babdcadb296b8e98b8b7572d229a3838fb.tar.gz nixlib-f3c989babdcadb296b8e98b8b7572d229a3838fb.tar.bz2 nixlib-f3c989babdcadb296b8e98b8b7572d229a3838fb.tar.lz nixlib-f3c989babdcadb296b8e98b8b7572d229a3838fb.tar.xz nixlib-f3c989babdcadb296b8e98b8b7572d229a3838fb.tar.zst nixlib-f3c989babdcadb296b8e98b8b7572d229a3838fb.zip |
Merge pull request #25196 from Ericson2314/recursive-platform-tests
lib: Consolidate tests into one meta job
Diffstat (limited to 'lib')
-rw-r--r-- | lib/tests/misc.nix (renamed from lib/tests.nix) | 4 | ||||
-rw-r--r-- | lib/tests/release.nix | 58 | ||||
-rw-r--r-- | lib/tests/systems.nix | 14 |
3 files changed, 34 insertions, 42 deletions
diff --git a/lib/tests.nix b/lib/tests/misc.nix index a201fa9ed15d..334e1a707334 100644 --- a/lib/tests.nix +++ b/lib/tests/misc.nix @@ -1,8 +1,8 @@ # to run these tests: -# nix-instantiate --eval --strict nixpkgs/lib/tests.nix +# nix-instantiate --eval --strict nixpkgs/lib/tests/misc.nix # if the resulting list is empty, all tests passed let inherit (builtins) add; in -with import ./default.nix; +with import ../default.nix; runTests { diff --git a/lib/tests/release.nix b/lib/tests/release.nix index dfa4ca2676d1..77dff39edfaa 100644 --- a/lib/tests/release.nix +++ b/lib/tests/release.nix @@ -1,40 +1,32 @@ -{ nixpkgs ? { outPath = (import ../.).cleanSource ../..; revCount = 1234; shortRev = "abcdef"; } -, # The platforms for which we build Nixpkgs. - supportedSystems ? [ builtins.currentSystem ] -, # Strip most of attributes when evaluating to spare memory usage - scrubJobs ? true -}: +{ pkgs ? import ((import ../../lib).cleanSource ../..) {} }: -with import ../../pkgs/top-level/release-lib.nix { inherit supportedSystems scrubJobs; }; -with lib; +pkgs.stdenv.mkDerivation { + name = "nixpkgs-lib-tests"; + buildInputs = [ pkgs.nix ]; + NIX_PATH="nixpkgs=${pkgs.path}"; -{ - systems = import ./systems.nix { inherit lib assertTrue; }; + buildCommand = '' + datadir="${pkgs.nix}/share" + export TEST_ROOT=$(pwd)/test-tmp + export NIX_BUILD_HOOK= + export NIX_CONF_DIR=$TEST_ROOT/etc + export NIX_DB_DIR=$TEST_ROOT/db + export NIX_LOCALSTATE_DIR=$TEST_ROOT/var + export NIX_LOG_DIR=$TEST_ROOT/var/log/nix + export NIX_MANIFESTS_DIR=$TEST_ROOT/var/nix/manifests + 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 - moduleSystem = pkgs.stdenv.mkDerivation { - name = "nixpkgs-lib-tests"; - buildInputs = [ pkgs.nix ]; - NIX_PATH="nixpkgs=${nixpkgs}"; + cd ${pkgs.path}/lib/tests + ./modules.sh - buildCommand = '' - datadir="${pkgs.nix}/share" - export TEST_ROOT=$(pwd)/test-tmp - export NIX_BUILD_HOOK= - export NIX_CONF_DIR=$TEST_ROOT/etc - export NIX_DB_DIR=$TEST_ROOT/db - export NIX_LOCALSTATE_DIR=$TEST_ROOT/var - export NIX_LOG_DIR=$TEST_ROOT/var/log/nix - export NIX_MANIFESTS_DIR=$TEST_ROOT/var/nix/manifests - 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 + [[ "$(nix-instantiate --eval --strict misc.nix)" == "[ ]" ]] - cd ${nixpkgs}/lib/tests - ./modules.sh + [[ "$(nix-instantiate --eval --strict systems.nix)" == "[ ]" ]] - touch $out - ''; - }; + touch $out + ''; } diff --git a/lib/tests/systems.nix b/lib/tests/systems.nix index 5eacc0defafb..523fd3feb3b0 100644 --- a/lib/tests/systems.nix +++ b/lib/tests/systems.nix @@ -5,13 +5,13 @@ # calculating the lists anyway?". The answer is one can mindlessly update these # tests as new platforms become supported, and then just give the diff a quick # sanity check before committing :). -{ lib, assertTrue }: - -with lib.systems.doubles; - -let mseteq = x: y: lib.sort lib.lessThan x == lib.sort lib.lessThan y; in - -{ +let + lib = import ../default.nix; + mseteq = x: y: { + expr = lib.sort lib.lessThan x; + expected = lib.sort lib.lessThan y; + }; +in with lib.systems.doubles; lib.runTests { all = assertTrue (mseteq all (linux ++ darwin ++ cygwin ++ freebsd ++ openbsd ++ netbsd ++ illumos)); arm = assertTrue (mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv7l-linux" ]); |