blob: c88bf86d7e69ca3826cfeab46dfc6480bdb4490a [file] [log] [blame]
Ian Wienand2ba36cd2015-11-12 13:52:36 +11001#!/usr/bin/env bash
2
3# Tests for DevStack vercmp functionality
4
5TOP=$(cd $(dirname "$0")/.. && pwd)
6
7# Import common functions
8source $TOP/functions
9source $TOP/tests/unittest.sh
10
11assert_true "numeric gt" vercmp 2.0 ">" 1.0
12assert_true "numeric gte" vercmp 2.0 ">=" 1.0
13assert_true "numeric gt" vercmp 1.0.1 ">" 1.0
14assert_true "numeric gte" vercmp 1.0.1 ">=" 1.0
15assert_true "alpha gt" vercmp 1.0.1b ">" 1.0.1a
16assert_true "alpha gte" vercmp 1.0.1b ">=" 1.0.1a
17assert_true "alpha gt" vercmp b ">" a
18assert_true "alpha gte" vercmp b ">=" a
19assert_true "alpha gt" vercmp 2.0-rc3 ">" 2.0-rc1
20assert_true "alpha gte" vercmp 2.0-rc3 ">=" 2.0-rc1
21
22assert_false "numeric gt fail" vercmp 1.0 ">" 1.0
23assert_true "numeric gte" vercmp 1.0 ">=" 1.0
24assert_false "numeric gt fail" vercmp 0.9 ">" 1.0
25assert_false "numeric gte fail" vercmp 0.9 ">=" 1.0
26assert_false "numeric gt fail" vercmp 0.9.9 ">" 1.0
27assert_false "numeric gte fail" vercmp 0.9.9 ">=" 1.0
28assert_false "numeric gt fail" vercmp 0.9a.9 ">" 1.0.1
29assert_false "numeric gte fail" vercmp 0.9a.9 ">=" 1.0.1
30
31assert_false "numeric lt" vercmp 1.0 "<" 1.0
32assert_true "numeric lte" vercmp 1.0 "<=" 1.0
33assert_true "numeric lt" vercmp 1.0 "<" 1.0.1
34assert_true "numeric lte" vercmp 1.0 "<=" 1.0.1
35assert_true "alpha lt" vercmp 1.0.1a "<" 1.0.1b
36assert_true "alpha lte" vercmp 1.0.1a "<=" 1.0.1b
37assert_true "alpha lt" vercmp a "<" b
38assert_true "alpha lte" vercmp a "<=" b
39assert_true "alpha lt" vercmp 2.0-rc1 "<" 2.0-rc3
40assert_true "alpha lte" vercmp 2.0-rc1 "<=" 2.0-rc3
41
42assert_true "eq" vercmp 1.0 "==" 1.0
43assert_true "eq" vercmp 1.0.1 "==" 1.0.1
44assert_false "eq fail" vercmp 1.0.1 "==" 1.0.2
45assert_false "eq fail" vercmp 2.0-rc1 "==" 2.0-rc2
46
47report_results