mirror of
https://gitlab.com/TECHNOFAB/nixtest.git
synced 2025-12-12 02:00:18 +01:00
test: nest sample tests as fixtures in real tests
also use new test helpers
This commit is contained in:
parent
bed029f4a9
commit
006537e6ab
4 changed files with 186 additions and 142 deletions
101
flake.nix
101
flake.nix
|
|
@ -11,7 +11,6 @@
|
|||
inputs.nix-gitlab-ci.flakeModule
|
||||
inputs.nix-devtools.flakeModule
|
||||
inputs.nix-mkdocs.flakeModule
|
||||
./lib/flakeModule.nix
|
||||
];
|
||||
systems = import systems;
|
||||
flake = {};
|
||||
|
|
@ -63,100 +62,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
nixtest = {
|
||||
skip = "skip.*d";
|
||||
suites = {
|
||||
"suite-one" = {
|
||||
pos = __curPos;
|
||||
tests = [
|
||||
{
|
||||
name = "test-one";
|
||||
# required to figure out file and line, but optional
|
||||
expected = 1;
|
||||
actual = 1;
|
||||
}
|
||||
{
|
||||
name = "fail";
|
||||
expected = 0;
|
||||
actual = "meow";
|
||||
}
|
||||
{
|
||||
name = "snapshot-test";
|
||||
type = "snapshot";
|
||||
actual = "test";
|
||||
}
|
||||
{
|
||||
name = "test-snapshot-drv";
|
||||
type = "snapshot";
|
||||
actualDrv = pkgs.runCommand "test-snapshot" {} ''
|
||||
echo '"snapshot drv"' > $out
|
||||
'';
|
||||
}
|
||||
{
|
||||
name = "test-error-drv";
|
||||
expected = null;
|
||||
actualDrv = pkgs.runCommand "test-error-drv" {} ''
|
||||
echo "This works, but its better to just write 'fail' to \$out and expect 'success' or sth."
|
||||
exit 1
|
||||
'';
|
||||
}
|
||||
{
|
||||
name = "test-script";
|
||||
type = "script";
|
||||
script = ''
|
||||
echo Test something here
|
||||
# required in pure mode:
|
||||
export PATH="${lib.makeBinPath [pkgs.gnugrep]}"
|
||||
grep -q "test" ${builtins.toFile "test" "test"}
|
||||
'';
|
||||
}
|
||||
];
|
||||
};
|
||||
"other-suite".tests = [
|
||||
{
|
||||
name = "obj-snapshot";
|
||||
type = "snapshot";
|
||||
pos = __curPos;
|
||||
actual = {hello = "world";};
|
||||
}
|
||||
{
|
||||
name = "pretty-snapshot";
|
||||
type = "snapshot";
|
||||
format = "pretty";
|
||||
pos = __curPos;
|
||||
actual = {
|
||||
example = args: {};
|
||||
example2 = {
|
||||
drv = pkgs.hello;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "pretty-unit";
|
||||
format = "pretty";
|
||||
pos = __curPos;
|
||||
expected = pkgs.hello;
|
||||
actual = pkgs.hello;
|
||||
}
|
||||
{
|
||||
name = "test-drv";
|
||||
pos = __curPos;
|
||||
expected = {a = "b";};
|
||||
actualDrv = pkgs.runCommand "test-something" {} ''
|
||||
echo "Simulating taking some time"
|
||||
sleep 1
|
||||
echo '{"a":"b"}' > $out
|
||||
'';
|
||||
}
|
||||
{
|
||||
name = "skipped";
|
||||
expected = null;
|
||||
actual = null;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
doc = {
|
||||
path = ./docs;
|
||||
deps = pp: [
|
||||
|
|
@ -315,10 +220,10 @@
|
|||
ntlib = import ./lib {inherit pkgs lib;};
|
||||
in {
|
||||
default = pkgs.callPackage ./package.nix {};
|
||||
lib-tests = ntlib.mkNixtest {
|
||||
modules = ntlib.autodiscover {dir = ./lib;};
|
||||
tests = ntlib.mkNixtest {
|
||||
modules = ntlib.autodiscover {dir = ./tests;};
|
||||
args = {
|
||||
inherit pkgs;
|
||||
inherit pkgs ntlib;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue