]> pd.if.org Git - zpackage/blob - t/vercmp.t
fix vercmp bugs
[zpackage] / t / vercmp.t
1 #!/bin/sh
2
3 # test addfile
4
5 . tap.sh
6
7 # 17 vtests, 3 least, 3 greatest, 2 other, 3 temp handling
8 # 17 * 6 + 3 + 3
9 plan 111
10
11 require rm -rf tmp
12 require mkdir tmp
13
14 vtest() {
15         res=$(zpm-vercmp "$1" "$2")
16         okstreq "$res" -1 "$1 < $2"
17
18         res=$(zpm-vercmp "$2" "$1")
19         okstreq "$res" 1 "$2 > $1"
20
21         res=$(zpm-vercmp "$1" "$1")
22         okstreq "$res" 0 "$1 == $1"
23
24         res=$(zpm shell vercmp.db "select '$1' < '$2' collate vercmp")
25         okstreq "$res" 1 "zpm shell $1 < $2"
26         res=$(zpm shell vercmp.db "select '$1' > '$2' collate vercmp")
27         okstreq "$res" 0 "zpm shell not $1 > $2"
28         res=$(zpm shell vercmp.db "select '$1' = '$1' collate vercmp")
29         okstreq "$res" 1 "zpm shell $1 = $1"
30 }
31
32 least() {
33         want=$1
34         shift
35         l=$(zpm vercmp -L "$@")
36         okstreq "$l" "$want" "least $*"
37 }
38
39 greatest() {
40         want=$1
41         shift
42         g=$(zpm vercmp -G "$@")
43         okstreq "$g" "$want" "greatest $*"
44 }
45
46 least 1.0a 1.0a 1.0b
47 least 1.0a 1.0b 1.0a
48 greatest z a b z
49 greatest z a z b
50 least abc abc
51 greatest abc abc
52  
53 #zpm vercmp -gq 'gnupg-1.0-1' "gnupg-2.0-1"
54 #exitwith 1 vercmp -g not gt
55
56 #zpm vercmp -gq 'gnupg-2.0-1' "gnupg-1.0-1"
57 #exitwith 0 vercmp -g is gt
58
59 # alpha
60 vtest 1.0a 1.0b
61 vtest 1.0b 1.0beta
62 vtest 1.0beta 1.0p
63 vtest 1.0p 1.0pre
64 vtest 1.0pre 1.0rc
65
66 vtest 1.0 1.0rc
67 vtest 1.0 1.0.a
68 vtest 1.0.a 1.0.1
69
70 vtest 1 1.0
71 vtest 1.0 1.1
72
73 vtest 1.1 1.1.1
74 vtest 1.2 2.0
75 vtest 2.0 3.0.0
76
77 # release
78 vtest 1.0-1 1.0-2
79 vtest 1.0-2 2.0-1
80
81 # full
82 vtest ffmpeg-4.1-3 ffmpeg-4.1.1-1
83 vtest 4.1-3 4.1.1-1
84
85 require rm -rf tmp
86 finish