diff options
| author | Jani Välimaa <wally@mageia.org> | 2026-03-20 21:50:54 +0200 |
|---|---|---|
| committer | Jani Välimaa <wally@mageia.org> | 2026-03-20 21:50:54 +0200 |
| commit | 77d182fe03929b920c0cb1f236d542044b1f1d1f (patch) | |
| tree | 998e23ac6e7a11a48b48c84c6af732ebb24e1cbc | |
| parent | 1e32b47277d59bdb02f4cd0fcb1a16842a8aa319 (diff) | |
| download | perl-URPM-master.tar perl-URPM-master.tar.gz perl-URPM-master.tar.bz2 perl-URPM-master.tar.xz perl-URPM-master.zip | |
| -rw-r--r-- | Changes | 2 | ||||
| -rw-r--r-- | t/parse.t | 38 |
2 files changed, 39 insertions, 1 deletions
@@ -1,3 +1,5 @@ +- add tests from RPM for tilde and caret sorting + Version 5.226 - 19 Dec 2025 - fix segfault in parse_property() (mga#34833, mga34837) @@ -10,7 +10,7 @@ use URPM::Build; if (`uname -a` =~ /BSD/i) { plan skip_all => "*BSD fails those"; } else { - plan tests => 41; + plan tests => 71; } @@ -88,6 +88,42 @@ ok(URPM::rpmvercmp("1-1mdk", "1-2mdk") == -1, "Right value win = -1"); ok(URPM::rpmvercmp("1-2mdk", "1-1mdk") == 1, "Left value win = 1"); ok(URPM::rpmvercmp("1:1-1mdk", "2:1-1mdk") == -1, "epoch 1 vs 2 = -1"); +# Basic testcases for tilde sorting +ok(URPM::rpmvercmp("1.0~rc1", "1.0~rc1") == 0, "Same value = 0"); +ok(URPM::rpmvercmp("1.0~rc1", "1.0") == -1, "Right value win = -1"); +ok(URPM::rpmvercmp("1.0", "1.0~rc1") == 1, "Left value win = 1"); +ok(URPM::rpmvercmp("1.0~rc1", "1.0~rc2") == -1, "Right value win = -1"); +ok(URPM::rpmvercmp("1.0~rc2", "1.0~rc1") == 1, "Left value win = 1"); +ok(URPM::rpmvercmp("1.0~rc1~git123", "1.0~rc1~git123") == 0, "Same value = 0"); +ok(URPM::rpmvercmp("1.0~rc1~git123", "1.0~rc1") == -1, "Right value win = -1"); +ok(URPM::rpmvercmp("1.0~rc1", "1.0~rc1~git123") == 1, "Left value win = 1"); + +# Basic testcases for caret sorting +ok(URPM::rpmvercmp("1.0^", "1.0^") == 0, "Same value = 0"); +ok(URPM::rpmvercmp("1.0^", "1.0") == 1, "Left value win = 1"); +ok(URPM::rpmvercmp("1.0", "1.0^") == -1, "Right value win = -1"); +ok(URPM::rpmvercmp("1.0^git1", "1.0^git1") == 0, "Same value = 0"); +ok(URPM::rpmvercmp("1.0^git1", "1.0") == 1, "Left value win = 1"); +ok(URPM::rpmvercmp("1.0", "1.0^git1") == -1, "Right value win = -1"); +ok(URPM::rpmvercmp("1.0^git1", "1.0^git2") == -1, "Right value win = -1"); +ok(URPM::rpmvercmp("1.0^git2", "1.0^git1") == 1, "Left value win = 1"); +ok(URPM::rpmvercmp("1.0^git1", "1.01") == -1, "Right value win = -1"); +ok(URPM::rpmvercmp("1.01", "1.0^git1") == 1, "Left value win = 1"); +ok(URPM::rpmvercmp("1.0^20160101", "1.0^20160101") == 0, "Same value = 0"); +ok(URPM::rpmvercmp("1.0^20160101", "1.0.1") == -1, "Right value win = -1"); +ok(URPM::rpmvercmp("1.0.1", "1.0^20160101") == 1, "Left value win = 1"); +ok(URPM::rpmvercmp("1.0^20160101^git1", "1.0^20160101^git1") == 0, "Same value = 0"); +ok(URPM::rpmvercmp("1.0^20160102", "1.0^20160101^git1") == 1, "Left value win = 1"); +ok(URPM::rpmvercmp("1.0^20160101^git1", "1.0^20160102") == -1, "Right value win = -1"); + +# Basic testcases for tilde and caret sorting +ok(URPM::rpmvercmp("1.0~rc1^git1", "1.0~rc1^git1") == 0, "Same value = 0"); +ok(URPM::rpmvercmp("1.0~rc1^git1", "1.0~rc1") == 1, "Left value win = 1"); +ok(URPM::rpmvercmp("1.0~rc1", "1.0~rc1^git1") == -1, "Right value win = -1"); +ok(URPM::rpmvercmp("1.0^git1~pre", "1.0^git1~pre") == 0, "Same value = 0"); +ok(URPM::rpmvercmp("1.0^git1", "1.0^git1~pre") == 1, "Left value win = 1"); +ok(URPM::rpmvercmp("1.0^git1~pre", "1.0^git1") == -1, "Right value win = -1"); + { open(my $hdfh, "zcat hdlist.cz 2>/dev/null |") or die $!; my $pkg = URPM::stream2header($hdfh); |
