tests/lib: init

WE NOW HAVE TESTS ~3 YEARS INTO DEVELOPMENT, BOI!
This commit is contained in:
Gabriel Arazas 2024-03-03 16:43:18 +08:00
parent 7c34617479
commit 0c78d7b32b
No known key found for this signature in database
GPG Key ID: ADE0C41DAB221FCC
3 changed files with 45 additions and 0 deletions

5
tests/default.nix Normal file
View File

@ -0,0 +1,5 @@
{ pkgs ? import <nixpkgs> { } }:
{
lib = import ./lib { inherit pkgs; };
}

20
tests/lib/default.nix Normal file
View File

@ -0,0 +1,20 @@
{ pkgs }:
let
inherit (pkgs) lib;
foodogsquaredLib = (import ../../lib { inherit pkgs; }).extend (final: prev:
let
callLib = file: import file { inherit pkgs lib; self = prev; };
in
{
nixos = callLib ../../lib/nixos.nix;
home-manager = callLib ../../lib/home-manager.nix;
nixvim = callLib ../../lib/nixvim.nix;
});
callLib = file: import file { inherit pkgs lib; self = foodogsquaredLib; };
in
{
trivial = callLib ./trivial.nix;
#home-manager = callLib ./home-manager.nix;
}

20
tests/lib/trivial.nix Normal file
View File

@ -0,0 +1,20 @@
{ pkgs, lib, self }:
lib.runTests {
testCountAttrs = {
expr = self.trivial.countAttrs (n: v: v?enable && v.enable) {
hello.enable = true;
what.enable = false;
atro.enable = true;
adelie = { };
world = "there";
mo = null;
};
expected = 2;
};
testGetConfig = {
expr = self.trivial.getConfig "home-manager" "foo-dogsquared";
expected = ../../configs/home-manager/foo-dogsquared;
};
}