2024-08-25 16:46:52 +01:00
|
|
|
{
|
|
|
|
pkgs,
|
2024-08-28 00:20:37 +01:00
|
|
|
linkFarmFromDrvs,
|
2024-12-31 22:22:44 +01:00
|
|
|
runCommandLocal,
|
2024-08-25 16:46:52 +01:00
|
|
|
mkTestDerivationFromNixvimModule,
|
|
|
|
}:
|
|
|
|
let
|
2024-08-28 00:20:37 +01:00
|
|
|
# Wraps a call to mkTestDerivationFromNixvimModule with testers.testBuildFailure
|
|
|
|
mkFailingNixvimTest =
|
|
|
|
args: pkgs.testers.testBuildFailure (mkTestDerivationFromNixvimModule ({ inherit pkgs; } // args));
|
2024-08-25 16:46:52 +01:00
|
|
|
in
|
2024-08-28 00:20:37 +01:00
|
|
|
linkFarmFromDrvs "failing-tests" [
|
2024-12-31 22:22:44 +01:00
|
|
|
(runCommandLocal "fail-running-nvim"
|
2024-08-28 00:20:37 +01:00
|
|
|
{
|
|
|
|
failed = mkFailingNixvimTest {
|
|
|
|
name = "prints-hello-world";
|
|
|
|
module = {
|
|
|
|
extraConfigLua = ''
|
|
|
|
print('Hello, world!')
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
''
|
|
|
|
[[ 1 = $(cat "$failed/testBuildFailure.exit") ]]
|
|
|
|
grep -F 'ERROR: Hello, world!' "$failed/testBuildFailure.log"
|
|
|
|
touch $out
|
|
|
|
''
|
|
|
|
)
|
2024-12-31 22:22:44 +01:00
|
|
|
(runCommandLocal "fail-on-warnings"
|
2024-08-28 00:20:37 +01:00
|
|
|
{
|
|
|
|
failed = mkFailingNixvimTest {
|
|
|
|
name = "warns-hello-world";
|
|
|
|
module = {
|
|
|
|
warnings = [ "Hello, world!" ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
''
|
|
|
|
[[ 1 = $(cat "$failed/testBuildFailure.exit") ]]
|
2024-12-27 13:46:29 +00:00
|
|
|
grep -F 'Failed 1 expectation' "$failed/testBuildFailure.log"
|
|
|
|
grep -F 'Expected length to be 0 but found 1.' "$failed/testBuildFailure.log"
|
|
|
|
grep -F 'For warnings' "$failed/testBuildFailure.log"
|
2024-08-28 00:20:37 +01:00
|
|
|
grep -F 'Hello, world!' "$failed/testBuildFailure.log"
|
|
|
|
touch $out
|
|
|
|
''
|
|
|
|
)
|
2024-12-31 22:22:44 +01:00
|
|
|
(runCommandLocal "fail-on-assertions"
|
2024-08-28 00:20:37 +01:00
|
|
|
{
|
|
|
|
failed = mkFailingNixvimTest {
|
|
|
|
name = "asserts-hello-world";
|
|
|
|
module = {
|
|
|
|
assertions = [
|
|
|
|
{
|
|
|
|
assertion = false;
|
|
|
|
message = "Hello, world!";
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
''
|
|
|
|
[[ 1 = $(cat "$failed/testBuildFailure.exit") ]]
|
2024-12-27 13:46:29 +00:00
|
|
|
grep -F 'Failed 1 expectation' "$failed/testBuildFailure.log"
|
|
|
|
grep -F 'Expected length to be 0 but found 1.' "$failed/testBuildFailure.log"
|
|
|
|
grep -F 'For assertions' "$failed/testBuildFailure.log"
|
2024-08-28 00:20:37 +01:00
|
|
|
grep -F 'Hello, world!' "$failed/testBuildFailure.log"
|
|
|
|
touch $out
|
|
|
|
''
|
|
|
|
)
|
|
|
|
]
|