clanLib.jsonschema: move tests from pkgs/clan-cli
All checks were successful
build / test (pull_request) Successful in 26s

This commit is contained in:
DavHau 2023-08-09 16:05:16 +02:00
parent 9438a9eb5f
commit 7262208a4c
12 changed files with 38 additions and 28 deletions

View File

@ -22,6 +22,7 @@
"aarch64-linux"
];
imports = [
# ./checks/flake-module.nix
./devShell.nix
./formatter.nix
./templates/flake-module.nix

View File

@ -12,5 +12,5 @@
)
(builtins.readDir folder);
jsonschema = import ./jsonschema.nix { inherit lib; };
jsonschema = import ./jsonschema { inherit lib; };
}

View File

@ -1,5 +1,8 @@
{ lib
, ...
}: {
imports = [
./jsonschema/flake-module.nix
];
flake.lib = import ./default.nix { inherit lib; };
}

View File

@ -0,0 +1,29 @@
{
perSystem = { pkgs, self', ... }: {
checks = {
# check if the `clan config` example jsonschema and data is valid
lib-jsonschema-example-valid = pkgs.runCommand "lib-jsonschema-example-valid" { } ''
echo "Checking that example-schema.json is valid"
${pkgs.check-jsonschema}/bin/check-jsonschema \
--check-metaschema ${./.}/example-schema.json
echo "Checking that example-data.json is valid according to example-schema.json"
${pkgs.check-jsonschema}/bin/check-jsonschema \
--schemafile ${./.}/example-schema.json \
${./.}/example-data.json
touch $out
'';
# check if the `clan config` nix jsonschema converter unit tests succeed
lib-jsonschema-nix-unit-tests = pkgs.runCommand "lib-jsonschema-nix-unit-tests" { } ''
export NIX_PATH=nixpkgs=${pkgs.path}
${self'.packages.nix-unit}/bin/nix-unit \
${./.}/test.nix \
--eval-store $(realpath .)
touch $out
'';
};
};
}

View File

@ -1,6 +1,6 @@
# run these tests via `nix-unit ./test.nix`
{ lib ? (import <nixpkgs> { }).lib
, slib ? import ../../clan_cli/config/schema-lib.nix { inherit lib; }
, slib ? import ./. { inherit lib; }
}:
{
parseOption = import ./test_parseOption.nix { inherit lib slib; };

View File

@ -1,7 +1,7 @@
# tests for the nixos options to jsonschema converter
# run these tests via `nix-unit ./test.nix`
{ lib ? (import <nixpkgs> { }).lib
, slib ? import ../../../../lib/jsonschema.nix { inherit lib; }
, slib ? import ./. { inherit lib; }
}:
let
description = "Test Description";

View File

@ -1,7 +1,7 @@
# tests for the nixos options to jsonschema converter
# run these tests via `nix-unit ./test.nix`
{ lib ? (import <nixpkgs> { }).lib
, slib ? import ../../../../lib/jsonschema.nix { inherit lib; }
, slib ? import ./. { inherit lib; }
}:
let
evaledOptions =

View File

@ -27,30 +27,7 @@
## End optional dependencies
};
checks = self'.packages.clan-cli.tests // {
# check if the `clan config` example jsonschema and data is valid
clan-config-example-schema-valid = pkgs.runCommand "clan-config-example-schema-valid" { } ''
echo "Checking that example-schema.json is valid"
${pkgs.check-jsonschema}/bin/check-jsonschema \
--check-metaschema ${./.}/tests/config/example-schema.json
echo "Checking that example-data.json is valid according to example-schema.json"
${pkgs.check-jsonschema}/bin/check-jsonschema \
--schemafile ${./.}/tests/config/example-schema.json \
${./.}/tests/config/example-data.json
touch $out
'';
# check if the `clan config` nix jsonschema converter unit tests succeed
clan-config-nix-unit-tests = pkgs.runCommand "clan-edit-unit-tests" { } ''
export NIX_PATH=nixpkgs=${pkgs.path}
${self'.packages.nix-unit}/bin/nix-unit \
${./.}/tests/config/test.nix \
--eval-store $(realpath .)
touch $out
'';
};
checks = self'.packages.clan-cli.tests;
};
}