diff options
author | Rutger Broekhoff | 2025-07-07 21:52:08 +0200 |
---|---|---|
committer | Rutger Broekhoff | 2025-07-07 21:52:08 +0200 |
commit | ba61dfd69504ec6263a9dee9931d93adeb6f3142 (patch) | |
tree | d6c9b78e50eeab24e0c1c09ab45909a6ae3fd5db /test/testdata/eval-okay-versions.nix | |
download | verified-dyn-lang-interp-ba61dfd69504ec6263a9dee9931d93adeb6f3142.tar.gz verified-dyn-lang-interp-ba61dfd69504ec6263a9dee9931d93adeb6f3142.zip |
Initialize repository
Diffstat (limited to 'test/testdata/eval-okay-versions.nix')
-rw-r--r-- | test/testdata/eval-okay-versions.nix | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/test/testdata/eval-okay-versions.nix b/test/testdata/eval-okay-versions.nix new file mode 100644 index 0000000..e9111f5 --- /dev/null +++ b/test/testdata/eval-okay-versions.nix | |||
@@ -0,0 +1,43 @@ | |||
1 | let | ||
2 | |||
3 | name1 = "hello-1.0.2"; | ||
4 | name2 = "hello"; | ||
5 | name3 = "915resolution-0.5.2"; | ||
6 | name4 = "xf86-video-i810-1.7.4"; | ||
7 | name5 = "name-that-ends-with-dash--1.0"; | ||
8 | |||
9 | eq = 0; | ||
10 | lt = builtins.sub 0 1; | ||
11 | gt = 1; | ||
12 | |||
13 | versionTest = v1: v2: expected: | ||
14 | let d1 = builtins.compareVersions v1 v2; | ||
15 | d2 = builtins.compareVersions v2 v1; | ||
16 | in d1 == builtins.sub 0 d2 && d1 == expected; | ||
17 | |||
18 | tests = [ | ||
19 | ((builtins.parseDrvName name1).name == "hello") | ||
20 | ((builtins.parseDrvName name1).version == "1.0.2") | ||
21 | ((builtins.parseDrvName name2).name == "hello") | ||
22 | ((builtins.parseDrvName name2).version == "") | ||
23 | ((builtins.parseDrvName name3).name == "915resolution") | ||
24 | ((builtins.parseDrvName name3).version == "0.5.2") | ||
25 | ((builtins.parseDrvName name4).name == "xf86-video-i810") | ||
26 | ((builtins.parseDrvName name4).version == "1.7.4") | ||
27 | ((builtins.parseDrvName name5).name == "name-that-ends-with-dash") | ||
28 | ((builtins.parseDrvName name5).version == "-1.0") | ||
29 | (versionTest "1.0" "2.3" lt) | ||
30 | (versionTest "2.1" "2.3" lt) | ||
31 | (versionTest "2.3" "2.3" eq) | ||
32 | (versionTest "2.5" "2.3" gt) | ||
33 | (versionTest "3.1" "2.3" gt) | ||
34 | (versionTest "2.3.1" "2.3" gt) | ||
35 | (versionTest "2.3.1" "2.3a" gt) | ||
36 | (versionTest "2.3pre1" "2.3" lt) | ||
37 | (versionTest "2.3pre3" "2.3pre12" lt) | ||
38 | (versionTest "2.3a" "2.3c" lt) | ||
39 | (versionTest "2.3pre1" "2.3c" lt) | ||
40 | (versionTest "2.3pre1" "2.3q" lt) | ||
41 | ]; | ||
42 | |||
43 | in (import ./lib.nix).and tests | ||