1
1
mirror of https://github.com/divnix/digga.git synced 2024-12-24 00:21:47 +03:00
digga/tests/default.nix
David Arnold 8a21557baa imp: make fullFlake debuggable through top level repl
at:

checks.<system>.checksTest.fullFlake
2022-02-23 15:23:13 -08:00

49 lines
1.2 KiB
Nix

{ pkgs, lib }:
let
fullFlake = import ./fullFlake { inherit pkgs lib; };
mkOutputTest = output:
let
outputs = builtins.attrValues (fullFlake.${output}.${pkgs.system});
in
pkgs.runCommandNoCC "${output}-test" {
buildInputs = outputs;
} ''
echo "${toString outputs}" > $out
'';
in
{
libTests = pkgs.runCommandNoCC "devos-lib-tests"
{
buildInputs = [
pkgs.nix
(
let tests = import ./lib { inherit pkgs lib; }; in
if tests == [ ] then null
else throw (builtins.toJSON tests)
)
];
} ''
datadir="${pkgs.nix}/share"
export TEST_ROOT=$(pwd)/test-tmp
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
touch $out
'';
checksTest = mkOutputTest "checks" // {
# debug the fullFLake through repl at checks.<system>.checksTest.fullFlake
inherit fullFlake;
};
devShellTest = fullFlake.devShell.${pkgs.system};
}