Andrew Geissler | d1e8949 | 2021-02-12 15:35:20 -0600 | [diff] [blame] | 1 | from oe.cve_check import Version |
| 2 | from oeqa.selftest.case import OESelftestTestCase |
| 3 | |
| 4 | class CVECheck(OESelftestTestCase): |
| 5 | |
| 6 | def test_version_compare(self): |
| 7 | result = Version("100") > Version("99") |
| 8 | self.assertTrue( result, msg="Failed to compare version '100' > '99'") |
| 9 | result = Version("2.3.1") > Version("2.2.3") |
| 10 | self.assertTrue( result, msg="Failed to compare version '2.3.1' > '2.2.3'") |
| 11 | result = Version("2021-01-21") > Version("2020-12-25") |
| 12 | self.assertTrue( result, msg="Failed to compare version '2021-01-21' > '2020-12-25'") |
| 13 | result = Version("1.2-20200910") < Version("1.2-20200920") |
| 14 | self.assertTrue( result, msg="Failed to compare version '1.2-20200910' < '1.2-20200920'") |
| 15 | |
| 16 | result = Version("1.0") >= Version("1.0beta") |
| 17 | self.assertTrue( result, msg="Failed to compare version '1.0' >= '1.0beta'") |
| 18 | result = Version("1.0-rc2") > Version("1.0-rc1") |
| 19 | self.assertTrue( result, msg="Failed to compare version '1.0-rc2' > '1.0-rc1'") |
| 20 | result = Version("1.0.alpha1") < Version("1.0") |
| 21 | self.assertTrue( result, msg="Failed to compare version '1.0.alpha1' < '1.0'") |
| 22 | result = Version("1.0_dev") <= Version("1.0") |
| 23 | self.assertTrue( result, msg="Failed to compare version '1.0_dev' <= '1.0'") |
| 24 | |
| 25 | # ignore "p1" and "p2", so these should be equal |
| 26 | result = Version("1.0p2") == Version("1.0p1") |
| 27 | self.assertTrue( result ,msg="Failed to compare version '1.0p2' to '1.0p1'") |
| 28 | # ignore the "b" and "r" |
| 29 | result = Version("1.0b") == Version("1.0r") |
| 30 | self.assertTrue( result ,msg="Failed to compare version '1.0b' to '1.0r'") |
| 31 | |
| 32 | # consider the trailing alphabet as patched level when comparing |
| 33 | result = Version("1.0b","alphabetical") < Version("1.0r","alphabetical") |
| 34 | self.assertTrue( result ,msg="Failed to compare version with suffix '1.0b' < '1.0r'") |
| 35 | result = Version("1.0b","alphabetical") > Version("1.0","alphabetical") |
| 36 | self.assertTrue( result ,msg="Failed to compare version with suffix '1.0b' > '1.0'") |
Andrew Geissler | 95ac1b8 | 2021-03-31 14:34:31 -0500 | [diff] [blame^] | 37 | |
| 38 | # consider the trailing "p" and "patch" as patched released when comparing |
| 39 | result = Version("1.0","patch") < Version("1.0p1","patch") |
| 40 | self.assertTrue( result ,msg="Failed to compare version with suffix '1.0' < '1.0p1'") |
| 41 | result = Version("1.0p2","patch") > Version("1.0p1","patch") |
| 42 | self.assertTrue( result ,msg="Failed to compare version with suffix '1.0p2' > '1.0p1'") |
| 43 | result = Version("1.0_patch2","patch") < Version("1.0_patch3","patch") |
| 44 | self.assertTrue( result ,msg="Failed to compare version with suffix '1.0_patch2' < '1.0_patch3'") |