csomh / source-git / rpm

Forked from source-git/rpm 4 years ago
Clone
2ff057
#    rpmvercmp.at: rpm version comparison tests
2ff057
2ff057
m4_define([RPMVERCMP],[
2ff057
AT_SETUP([rpmvercmp($1, $2) = $3])
2ff057
AT_KEYWORDS([vercmp])
2ff057
AT_CHECK([runroot rpm --eval '%{lua: print(rpm.vercmp("$1", "$2"))}'], [0], [$3
2ff057
], [])
2ff057
AT_CLEANUP
2ff057
])
2ff057
2ff057
AT_BANNER([RPM version comparison])
2ff057
2ff057
RPMVERCMP(1.0, 1.0, 0)
2ff057
RPMVERCMP(1.0, 2.0, -1)
2ff057
RPMVERCMP(2.0, 1.0, 1)
2ff057
2ff057
RPMVERCMP(2.0.1, 2.0.1, 0)
2ff057
RPMVERCMP(2.0, 2.0.1, -1)
2ff057
RPMVERCMP(2.0.1, 2.0, 1)
2ff057
2ff057
RPMVERCMP(2.0.1a, 2.0.1a, 0)
2ff057
RPMVERCMP(2.0.1a, 2.0.1, 1)
2ff057
RPMVERCMP(2.0.1, 2.0.1a, -1)
2ff057
2ff057
RPMVERCMP(5.5p1, 5.5p1, 0)
2ff057
RPMVERCMP(5.5p1, 5.5p2, -1)
2ff057
RPMVERCMP(5.5p2, 5.5p1, 1)
2ff057
2ff057
RPMVERCMP(5.5p10, 5.5p10, 0)
2ff057
RPMVERCMP(5.5p1, 5.5p10, -1)
2ff057
RPMVERCMP(5.5p10, 5.5p1, 1)
2ff057
2ff057
RPMVERCMP(10xyz, 10.1xyz, -1)
2ff057
RPMVERCMP(10.1xyz, 10xyz, 1)
2ff057
2ff057
RPMVERCMP(xyz10, xyz10, 0)
2ff057
RPMVERCMP(xyz10, xyz10.1, -1)
2ff057
RPMVERCMP(xyz10.1, xyz10, 1)
2ff057
2ff057
RPMVERCMP(xyz.4, xyz.4, 0)
2ff057
RPMVERCMP(xyz.4, 8, -1)
2ff057
RPMVERCMP(8, xyz.4, 1)
2ff057
RPMVERCMP(xyz.4, 2, -1)
2ff057
RPMVERCMP(2, xyz.4, 1)
2ff057
2ff057
RPMVERCMP(5.5p2, 5.6p1, -1)
2ff057
RPMVERCMP(5.6p1, 5.5p2, 1)
2ff057
2ff057
RPMVERCMP(5.6p1, 6.5p1, -1)
2ff057
RPMVERCMP(6.5p1, 5.6p1, 1)
2ff057
2ff057
RPMVERCMP(6.0.rc1, 6.0, 1)
2ff057
RPMVERCMP(6.0, 6.0.rc1, -1)
2ff057
2ff057
RPMVERCMP(10b2, 10a1, 1)
2ff057
RPMVERCMP(10a2, 10b2, -1)
2ff057
2ff057
RPMVERCMP(1.0aa, 1.0aa, 0)
2ff057
RPMVERCMP(1.0a, 1.0aa, -1)
2ff057
RPMVERCMP(1.0aa, 1.0a, 1)
2ff057
2ff057
RPMVERCMP(10.0001, 10.0001, 0)
2ff057
RPMVERCMP(10.0001, 10.1, 0)
2ff057
RPMVERCMP(10.1, 10.0001, 0)
2ff057
RPMVERCMP(10.0001, 10.0039, -1)
2ff057
RPMVERCMP(10.0039, 10.0001, 1)
2ff057
2ff057
RPMVERCMP(4.999.9, 5.0, -1)
2ff057
RPMVERCMP(5.0, 4.999.9, 1)
2ff057
2ff057
RPMVERCMP(20101121, 20101121, 0)
2ff057
RPMVERCMP(20101121, 20101122, -1)
2ff057
RPMVERCMP(20101122, 20101121, 1)
2ff057
2ff057
RPMVERCMP(2_0, 2_0, 0)
2ff057
RPMVERCMP(2.0, 2_0, 0)
2ff057
RPMVERCMP(2_0, 2.0, 0)
2ff057
2ff057
dnl RhBug:178798 case
2ff057
RPMVERCMP(a, a, 0)
2ff057
RPMVERCMP(a+, a+, 0)
2ff057
RPMVERCMP(a+, a_, 0)
2ff057
RPMVERCMP(a_, a+, 0)
2ff057
RPMVERCMP(+a, +a, 0)
2ff057
RPMVERCMP(+a, _a, 0)
2ff057
RPMVERCMP(_a, +a, 0)
2ff057
RPMVERCMP(+_, +_, 0)
2ff057
RPMVERCMP(_+, +_, 0)
2ff057
RPMVERCMP(_+, _+, 0)
2ff057
RPMVERCMP(+, _, 0)
2ff057
RPMVERCMP(_, +, 0)
2ff057
2ff057
dnl Basic testcases for tilde sorting
2ff057
RPMVERCMP(1.0~rc1, 1.0~rc1, 0)
2ff057
RPMVERCMP(1.0~rc1, 1.0, -1)
2ff057
RPMVERCMP(1.0, 1.0~rc1, 1)
2ff057
RPMVERCMP(1.0~rc1, 1.0~rc2, -1)
2ff057
RPMVERCMP(1.0~rc2, 1.0~rc1, 1)
2ff057
RPMVERCMP(1.0~rc1~git123, 1.0~rc1~git123, 0)
2ff057
RPMVERCMP(1.0~rc1~git123, 1.0~rc1, -1)
2ff057
RPMVERCMP(1.0~rc1, 1.0~rc1~git123, 1)
2ff057
2ff057
dnl These are included here to document current, arguably buggy behaviors
2ff057
dnl for reference purposes and for easy checking against  unintended
2ff057
dnl behavior changes.
2ff057
dnl
2ff057
dnl AT_BANNER([RPM version comparison oddities])
2ff057
dnl RhBug:811992 case
2ff057
dnl RPMVERCMP(1b.fc17, 1b.fc17, 0)
2ff057
dnl RPMVERCMP(1b.fc17, 1.fc17, -1)
2ff057
dnl RPMVERCMP(1.fc17, 1b.fc17, 1)
2ff057
dnl RPMVERCMP(1g.fc17, 1g.fc17, 0)
2ff057
dnl RPMVERCMP(1g.fc17, 1.fc17, 1)
2ff057
dnl RPMVERCMP(1.fc17, 1g.fc17, -1)
2ff057
2ff057
dnl Non-ascii characters are considered equal so these are all the same, eh...
2ff057
dnl RPMVERCMP(1.1.α, 1.1.α, 0)
2ff057
dnl RPMVERCMP(1.1.α, 1.1.β, 0)
2ff057
dnl RPMVERCMP(1.1.β, 1.1.α, 0)
2ff057
dnl RPMVERCMP(1.1.αα, 1.1.α, 0)
2ff057
dnl RPMVERCMP(1.1.α, 1.1.ββ, 0)
2ff057
dnl RPMVERCMP(1.1.ββ, 1.1.αα, 0)