diff options
author | hsjobeki <hsjobeki+github@gmail.com> | 2023-02-23 10:21:58 +0100 |
---|---|---|
committer | hsjobeki <hsjobeki+github@gmail.com> | 2023-02-23 10:21:58 +0100 |
commit | 70c36dcfb8bcd293171c0faae2d4056334d1e744 (patch) | |
tree | 11f2bb796b3df99d9cee62ff552ce4f032a4566d | |
parent | 03fb72201639e5274fee6d77b0d9c66e98329aba (diff) |
add better documentation comments to lib.runTests
-rw-r--r-- | lib/debug.nix | 65 |
1 files changed, 59 insertions, 6 deletions
diff --git a/lib/debug.nix b/lib/debug.nix index e3ca3352397ec..9ec0169e66e2c 100644 --- a/lib/debug.nix +++ b/lib/debug.nix @@ -109,6 +109,8 @@ rec { traceSeqN 2 { a.b.c = 3; } null trace: { a = { b = {…}; }; } => null + + Type: traceSeqN :: Int -> a -> b -> b */ traceSeqN = depth: x: y: let snip = v: if isList v then noQuotes "[…]" v @@ -173,17 +175,68 @@ rec { # -- TESTING -- - /* Evaluate a set of tests. A test is an attribute set `{expr, - expected}`, denoting an expression and its expected result. The - result is a list of failed tests, each represented as `{name, - expected, actual}`, denoting the attribute name of the failing + /* Evaluates a set of tests. + + A test is an attribute set `{expr, expected}`, + denoting an expression and its expected result. + + The result is a `list` of __failed tests__, each represented as + `{name, expected, result}`, + + - expected + - What was passed as `expected` + - result + - The actual `result` of the test + + Denoting the attribute name of the failing test and its expected and actual results. Used for regression testing of the functions in lib; see - tests.nix for an example. Only tests having names starting with + tests.nix for an example. + + > Important: In general only `tests` having names starting with "test" are run. - Add attr { tests = ["testName"]; } to run these tests only. + - Add attr { tests = ["testName"]; } to run tests from list only. + - If `tests` in not specififed all tests will be evaluated. + + Example: + + runTests { + testAndOk = { + expr = lib.and true false; + expected = false; + }; + testAndFail = { + expr = lib.and true false; + expected = true; + }; + } + -> + [ + { + name = "testAndFail"; + expected = true; + result = false; + } + ] + + Type: + runTests :: { + tests = [ String ]; + ${testName} :: { + expr :: a; + expected :: a; + }; + } + -> + [ + { + name :: String; + expected :: a; + result :: a; + } + ] */ runTests = # Tests to run |