1
0
Fork 0
mirror of https://github.com/hercules-ci/flake-parts.git synced 2025-03-09 18:36:49 +00:00
flake-parts/dev/tests/eval-tests.nix

64 lines
1.2 KiB
Nix
Raw Normal View History

rec {
f-p = builtins.getFlake (toString ../..);
f-p-lib = f-p.lib;
inherit (f-p-lib) mkFlake;
inherit (f-p.inputs.nixpkgs-lib) lib;
pkg = system: name: derivation {
name = name;
builder = "no-builder";
system = system;
};
empty = mkFlake
{ self = { }; }
{
systems = [ ];
};
example1 = mkFlake
{ self = { }; }
{
systems = [ "a" "b" ];
perSystem = { system, ... }: {
packages.hello = pkg system "hello";
};
};
runTests = ok:
assert empty == {
apps = { };
checks = { };
darwinModules = { };
devShells = { };
formatter = { };
legacyPackages = { };
nixosConfigurations = { };
nixosModules = { };
overlays = { };
packages = { };
};
assert example1 == {
apps = { a = { }; b = { }; };
checks = { a = { }; b = { }; };
darwinModules = { };
devShells = { a = { }; b = { }; };
formatter = { };
legacyPackages = { a = { }; b = { }; };
nixosConfigurations = { };
nixosModules = { };
overlays = { };
packages = {
a = { hello = pkg "a" "hello"; };
b = { hello = pkg "b" "hello"; };
};
};
ok;
result = runTests "ok";
}