aboutsummaryrefslogtreecommitdiffstats
path: root/test/testdata/eval-okay-versions.nix
diff options
context:
space:
mode:
authorRutger Broekhoff2025-07-07 21:52:08 +0200
committerRutger Broekhoff2025-07-07 21:52:08 +0200
commitba61dfd69504ec6263a9dee9931d93adeb6f3142 (patch)
treed6c9b78e50eeab24e0c1c09ab45909a6ae3fd5db /test/testdata/eval-okay-versions.nix
downloadverified-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.nix43
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 @@
1let
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
43in (import ./lib.nix).and tests