summaryrefslogtreecommitdiff
path: root/test/testcases
diff options
context:
space:
mode:
Diffstat (limited to 'test/testcases')
-rw-r--r--test/testcases/cplxdeps/and.t39
-rw-r--r--test/testcases/cplxdeps/andor.t73
-rw-r--r--test/testcases/cplxdeps/if.t36
-rw-r--r--test/testcases/cplxdeps/ifelse.t70
-rw-r--r--test/testcases/cplxdeps/or.t34
-rw-r--r--test/testcases/cplxdeps/orand.t87
-rw-r--r--test/testcases/recommendations/recommended_conflicts.t16
-rw-r--r--test/testcases/recommendations/recommended_multirepo.t19
-rw-r--r--test/testcases/recommendations/recommended_oldversion.t15
-rw-r--r--test/testcases/recommendations/recommended_targeted.t15
-rw-r--r--test/testcases/recommendations/recommended_version.t15
-rw-r--r--test/testcases/recommendations/suggested_conflicts.t16
-rw-r--r--test/testcases/recommendations/suggested_multirepo.t19
-rw-r--r--test/testcases/recommendations/suggested_oldversion.t15
-rw-r--r--test/testcases/recommendations/suggested_targeted.t15
-rw-r--r--test/testcases/recommendations/suggested_version.t15
16 files changed, 499 insertions, 0 deletions
diff --git a/test/testcases/cplxdeps/and.t b/test/testcases/cplxdeps/and.t
new file mode 100644
index 0000000..d4ef47e
--- /dev/null
+++ b/test/testcases/cplxdeps/and.t
@@ -0,0 +1,39 @@
+feature complex_deps
+repo available 0 testtags <inline>
+#>=Pkg: A1 1 1 x86_64
+#>=Prv: A
+#>=Pkg: A2 1 1 x86_64
+#>=Prv: A
+#>=Pkg: B1 1 1 x86_64
+#>=Prv: B
+#>=Pkg: B2 1 1 x86_64
+#>=Prv: B
+#>=Pkg: X 1 1 x86_64
+#>=Req: A & B
+#>=Pkg: Y 1 1 x86_64
+#>=Con: A & B
+job install name X
+result rules <inline>
+#>rule job 3986285ed3e7fa05cb3367ca1e7f0d3d X-1-1.x86_64@available
+#>rule pkg 8d94817282778a96505d2865a9b6c417 B1-1-1.x86_64@available
+#>rule pkg 8d94817282778a96505d2865a9b6c417 B2-1-1.x86_64@available
+#>rule pkg 8d94817282778a96505d2865a9b6c417 -X-1-1.x86_64@available
+#>rule pkg 9294f4d070a449a787a945d757c853ac A1-1-1.x86_64@available
+#>rule pkg 9294f4d070a449a787a945d757c853ac A2-1-1.x86_64@available
+#>rule pkg 9294f4d070a449a787a945d757c853ac -X-1-1.x86_64@available
+nextjob
+job install name Y
+result rules <inline>
+#>rule job 181d7955b2179c4ffdffedf0198f4807 Y-1-1.x86_64@available
+#>rule pkg 05a449a52d4792a0b847f482f5d7b509 -A1-1-1.x86_64@available
+#>rule pkg 05a449a52d4792a0b847f482f5d7b509 -B2-1-1.x86_64@available
+#>rule pkg 05a449a52d4792a0b847f482f5d7b509 -Y-1-1.x86_64@available
+#>rule pkg 85eac3dcd30bb5f51ad50b6644455822 -A2-1-1.x86_64@available
+#>rule pkg 85eac3dcd30bb5f51ad50b6644455822 -B2-1-1.x86_64@available
+#>rule pkg 85eac3dcd30bb5f51ad50b6644455822 -Y-1-1.x86_64@available
+#>rule pkg 8611a3d851adbd063a5d34a3ad4804e6 -A1-1-1.x86_64@available
+#>rule pkg 8611a3d851adbd063a5d34a3ad4804e6 -B1-1-1.x86_64@available
+#>rule pkg 8611a3d851adbd063a5d34a3ad4804e6 -Y-1-1.x86_64@available
+#>rule pkg ba6ba0db8d7421f83f7df6cc4df6df7d -A2-1-1.x86_64@available
+#>rule pkg ba6ba0db8d7421f83f7df6cc4df6df7d -B1-1-1.x86_64@available
+#>rule pkg ba6ba0db8d7421f83f7df6cc4df6df7d -Y-1-1.x86_64@available
diff --git a/test/testcases/cplxdeps/andor.t b/test/testcases/cplxdeps/andor.t
new file mode 100644
index 0000000..f60745d
--- /dev/null
+++ b/test/testcases/cplxdeps/andor.t
@@ -0,0 +1,73 @@
+feature complex_deps
+repo available 0 testtags <inline>
+#>=Pkg: A1 1 1 x86_64
+#>=Prv: A
+#>=Pkg: A2 1 1 x86_64
+#>=Prv: A
+#>=Pkg: B1 1 1 x86_64
+#>=Prv: B
+#>=Pkg: B2 1 1 x86_64
+#>=Prv: B
+#>=Pkg: C1 1 1 x86_64
+#>=Prv: C
+#>=Pkg: C2 1 1 x86_64
+#>=Prv: C
+#>=Pkg: D1 1 1 x86_64
+#>=Prv: D
+#>=Pkg: D2 1 1 x86_64
+#>=Prv: D
+#>=Pkg: X 1 1 x86_64
+#>=Req: (A & B) | (C & D)
+#>=Pkg: Y 1 1 x86_64
+#>=Con: (A & B) | (C & D)
+job install name X
+result rules <inline>
+#>rule job 3986285ed3e7fa05cb3367ca1e7f0d3d X-1-1.x86_64@available
+#>rule pkg 500f33fd32c5be8fb62896b334f580e7 B1-1-1.x86_64@available
+#>rule pkg 500f33fd32c5be8fb62896b334f580e7 B2-1-1.x86_64@available
+#>rule pkg 500f33fd32c5be8fb62896b334f580e7 D1-1-1.x86_64@available
+#>rule pkg 500f33fd32c5be8fb62896b334f580e7 D2-1-1.x86_64@available
+#>rule pkg 500f33fd32c5be8fb62896b334f580e7 -X-1-1.x86_64@available
+#>rule pkg 551b370e0a9430e9fcb2608b73b2d6f1 A1-1-1.x86_64@available
+#>rule pkg 551b370e0a9430e9fcb2608b73b2d6f1 A2-1-1.x86_64@available
+#>rule pkg 551b370e0a9430e9fcb2608b73b2d6f1 D1-1-1.x86_64@available
+#>rule pkg 551b370e0a9430e9fcb2608b73b2d6f1 D2-1-1.x86_64@available
+#>rule pkg 551b370e0a9430e9fcb2608b73b2d6f1 -X-1-1.x86_64@available
+#>rule pkg dee60af94c8ea49c9f99362dcb65806a B1-1-1.x86_64@available
+#>rule pkg dee60af94c8ea49c9f99362dcb65806a B2-1-1.x86_64@available
+#>rule pkg dee60af94c8ea49c9f99362dcb65806a C1-1-1.x86_64@available
+#>rule pkg dee60af94c8ea49c9f99362dcb65806a C2-1-1.x86_64@available
+#>rule pkg dee60af94c8ea49c9f99362dcb65806a -X-1-1.x86_64@available
+#>rule pkg e524681ade2cf622db027a5d989023c4 A1-1-1.x86_64@available
+#>rule pkg e524681ade2cf622db027a5d989023c4 A2-1-1.x86_64@available
+#>rule pkg e524681ade2cf622db027a5d989023c4 C1-1-1.x86_64@available
+#>rule pkg e524681ade2cf622db027a5d989023c4 C2-1-1.x86_64@available
+#>rule pkg e524681ade2cf622db027a5d989023c4 -X-1-1.x86_64@available
+nextjob
+job install name Y
+result rules <inline>
+#>rule job 181d7955b2179c4ffdffedf0198f4807 Y-1-1.x86_64@available
+#>rule pkg 05a449a52d4792a0b847f482f5d7b509 -A1-1-1.x86_64@available
+#>rule pkg 05a449a52d4792a0b847f482f5d7b509 -B2-1-1.x86_64@available
+#>rule pkg 05a449a52d4792a0b847f482f5d7b509 -Y-1-1.x86_64@available
+#>rule pkg 57f43a628a3173b517f444966e291dcc -C2-1-1.x86_64@available
+#>rule pkg 57f43a628a3173b517f444966e291dcc -D2-1-1.x86_64@available
+#>rule pkg 57f43a628a3173b517f444966e291dcc -Y-1-1.x86_64@available
+#>rule pkg 61248d82dae65a4a486fc7321a4e50ac -C2-1-1.x86_64@available
+#>rule pkg 61248d82dae65a4a486fc7321a4e50ac -D1-1-1.x86_64@available
+#>rule pkg 61248d82dae65a4a486fc7321a4e50ac -Y-1-1.x86_64@available
+#>rule pkg 85eac3dcd30bb5f51ad50b6644455822 -A2-1-1.x86_64@available
+#>rule pkg 85eac3dcd30bb5f51ad50b6644455822 -B2-1-1.x86_64@available
+#>rule pkg 85eac3dcd30bb5f51ad50b6644455822 -Y-1-1.x86_64@available
+#>rule pkg 8611a3d851adbd063a5d34a3ad4804e6 -A1-1-1.x86_64@available
+#>rule pkg 8611a3d851adbd063a5d34a3ad4804e6 -B1-1-1.x86_64@available
+#>rule pkg 8611a3d851adbd063a5d34a3ad4804e6 -Y-1-1.x86_64@available
+#>rule pkg 919596a70a75b1cdd73c596397bf70e7 -C1-1-1.x86_64@available
+#>rule pkg 919596a70a75b1cdd73c596397bf70e7 -D2-1-1.x86_64@available
+#>rule pkg 919596a70a75b1cdd73c596397bf70e7 -Y-1-1.x86_64@available
+#>rule pkg ba6ba0db8d7421f83f7df6cc4df6df7d -A2-1-1.x86_64@available
+#>rule pkg ba6ba0db8d7421f83f7df6cc4df6df7d -B1-1-1.x86_64@available
+#>rule pkg ba6ba0db8d7421f83f7df6cc4df6df7d -Y-1-1.x86_64@available
+#>rule pkg da2fe506ceca44a0c6eafab14af37505 -C1-1-1.x86_64@available
+#>rule pkg da2fe506ceca44a0c6eafab14af37505 -D1-1-1.x86_64@available
+#>rule pkg da2fe506ceca44a0c6eafab14af37505 -Y-1-1.x86_64@available
diff --git a/test/testcases/cplxdeps/if.t b/test/testcases/cplxdeps/if.t
new file mode 100644
index 0000000..7e3dead
--- /dev/null
+++ b/test/testcases/cplxdeps/if.t
@@ -0,0 +1,36 @@
+feature complex_deps
+repo available 0 testtags <inline>
+#>=Pkg: A1 1 1 x86_64
+#>=Prv: A
+#>=Pkg: A2 1 1 x86_64
+#>=Prv: A
+#>=Pkg: B1 1 1 x86_64
+#>=Prv: B
+#>=Pkg: B2 1 1 x86_64
+#>=Prv: B
+#>=Pkg: X 1 1 x86_64
+#>=Req: A <IF> B
+#>=Pkg: Y 1 1 x86_64
+#>=Con: A <IF> B
+job install name X
+result rules <inline>
+#>rule job 3986285ed3e7fa05cb3367ca1e7f0d3d X-1-1.x86_64@available
+#>rule pkg 2c561cfd067b5ec806fd5c4fcd2ac761 A1-1-1.x86_64@available
+#>rule pkg 2c561cfd067b5ec806fd5c4fcd2ac761 A2-1-1.x86_64@available
+#>rule pkg 2c561cfd067b5ec806fd5c4fcd2ac761 -B1-1-1.x86_64@available
+#>rule pkg 2c561cfd067b5ec806fd5c4fcd2ac761 -X-1-1.x86_64@available
+#>rule pkg 72c9298b01fec76aae2722e2cdfdc776 A1-1-1.x86_64@available
+#>rule pkg 72c9298b01fec76aae2722e2cdfdc776 A2-1-1.x86_64@available
+#>rule pkg 72c9298b01fec76aae2722e2cdfdc776 -B2-1-1.x86_64@available
+#>rule pkg 72c9298b01fec76aae2722e2cdfdc776 -X-1-1.x86_64@available
+nextjob
+job install name Y
+result rules <inline>
+#>rule job 181d7955b2179c4ffdffedf0198f4807 Y-1-1.x86_64@available
+#>rule pkg 0fd77d3093bfb9bc85606ae155bee7e0 -A1-1-1.x86_64@available
+#>rule pkg 0fd77d3093bfb9bc85606ae155bee7e0 -Y-1-1.x86_64@available
+#>rule pkg 45e18ba2f65a39574c1f4b1c77b565ec -A2-1-1.x86_64@available
+#>rule pkg 45e18ba2f65a39574c1f4b1c77b565ec -Y-1-1.x86_64@available
+#>rule pkg 88a787532b7e170c57d67c5123982b0d B1-1-1.x86_64@available
+#>rule pkg 88a787532b7e170c57d67c5123982b0d B2-1-1.x86_64@available
+#>rule pkg 88a787532b7e170c57d67c5123982b0d -Y-1-1.x86_64@available
diff --git a/test/testcases/cplxdeps/ifelse.t b/test/testcases/cplxdeps/ifelse.t
new file mode 100644
index 0000000..ef5bab9
--- /dev/null
+++ b/test/testcases/cplxdeps/ifelse.t
@@ -0,0 +1,70 @@
+feature complex_deps
+repo available 0 testtags <inline>
+#>=Pkg: A1 1 1 x86_64
+#>=Prv: A
+#>=Pkg: A2 1 1 x86_64
+#>=Prv: A
+#>=Pkg: B1 1 1 x86_64
+#>=Prv: B
+#>=Pkg: B2 1 1 x86_64
+#>=Prv: B
+#>=Pkg: C1 1 1 x86_64
+#>=Prv: C
+#>=Pkg: C2 1 1 x86_64
+#>=Prv: C
+#>=Pkg: X 1 1 x86_64
+#>=Req: A <IF> (B <ELSE> C)
+#>=Pkg: Y 1 1 x86_64
+#>=Con: A <IF> (B <ELSE> C)
+job install name X
+result rules <inline>
+#>rule job 3986285ed3e7fa05cb3367ca1e7f0d3d X-1-1.x86_64@available
+#>rule pkg 2c561cfd067b5ec806fd5c4fcd2ac761 A1-1-1.x86_64@available
+#>rule pkg 2c561cfd067b5ec806fd5c4fcd2ac761 A2-1-1.x86_64@available
+#>rule pkg 2c561cfd067b5ec806fd5c4fcd2ac761 -B1-1-1.x86_64@available
+#>rule pkg 2c561cfd067b5ec806fd5c4fcd2ac761 -X-1-1.x86_64@available
+#>rule pkg 72c9298b01fec76aae2722e2cdfdc776 A1-1-1.x86_64@available
+#>rule pkg 72c9298b01fec76aae2722e2cdfdc776 A2-1-1.x86_64@available
+#>rule pkg 72c9298b01fec76aae2722e2cdfdc776 -B2-1-1.x86_64@available
+#>rule pkg 72c9298b01fec76aae2722e2cdfdc776 -X-1-1.x86_64@available
+#>rule pkg dee60af94c8ea49c9f99362dcb65806a B1-1-1.x86_64@available
+#>rule pkg dee60af94c8ea49c9f99362dcb65806a B2-1-1.x86_64@available
+#>rule pkg dee60af94c8ea49c9f99362dcb65806a C1-1-1.x86_64@available
+#>rule pkg dee60af94c8ea49c9f99362dcb65806a C2-1-1.x86_64@available
+#>rule pkg dee60af94c8ea49c9f99362dcb65806a -X-1-1.x86_64@available
+nextjob
+job install name Y
+result rules <inline>
+#>rule job 181d7955b2179c4ffdffedf0198f4807 Y-1-1.x86_64@available
+#>rule pkg 05a449a52d4792a0b847f482f5d7b509 -A1-1-1.x86_64@available
+#>rule pkg 05a449a52d4792a0b847f482f5d7b509 -B2-1-1.x86_64@available
+#>rule pkg 05a449a52d4792a0b847f482f5d7b509 -Y-1-1.x86_64@available
+#>rule pkg 2823a39a3d1ae2f7d45ca97e97f5bf8e -A1-1-1.x86_64@available
+#>rule pkg 2823a39a3d1ae2f7d45ca97e97f5bf8e -C1-1-1.x86_64@available
+#>rule pkg 2823a39a3d1ae2f7d45ca97e97f5bf8e -Y-1-1.x86_64@available
+#>rule pkg 46a6ab5f0c299f23867d74570cc179b8 B1-1-1.x86_64@available
+#>rule pkg 46a6ab5f0c299f23867d74570cc179b8 B2-1-1.x86_64@available
+#>rule pkg 46a6ab5f0c299f23867d74570cc179b8 -C1-1-1.x86_64@available
+#>rule pkg 46a6ab5f0c299f23867d74570cc179b8 -Y-1-1.x86_64@available
+#>rule pkg 85eac3dcd30bb5f51ad50b6644455822 -A2-1-1.x86_64@available
+#>rule pkg 85eac3dcd30bb5f51ad50b6644455822 -B2-1-1.x86_64@available
+#>rule pkg 85eac3dcd30bb5f51ad50b6644455822 -Y-1-1.x86_64@available
+#>rule pkg 8611a3d851adbd063a5d34a3ad4804e6 -A1-1-1.x86_64@available
+#>rule pkg 8611a3d851adbd063a5d34a3ad4804e6 -B1-1-1.x86_64@available
+#>rule pkg 8611a3d851adbd063a5d34a3ad4804e6 -Y-1-1.x86_64@available
+#>rule pkg 92d66d3ad45eaa7d443a05245c9a0eaf -A2-1-1.x86_64@available
+#>rule pkg 92d66d3ad45eaa7d443a05245c9a0eaf -C1-1-1.x86_64@available
+#>rule pkg 92d66d3ad45eaa7d443a05245c9a0eaf -Y-1-1.x86_64@available
+#>rule pkg ba6ba0db8d7421f83f7df6cc4df6df7d -A2-1-1.x86_64@available
+#>rule pkg ba6ba0db8d7421f83f7df6cc4df6df7d -B1-1-1.x86_64@available
+#>rule pkg ba6ba0db8d7421f83f7df6cc4df6df7d -Y-1-1.x86_64@available
+#>rule pkg c3f6b37277eb48011d0e68c11323ea3e B1-1-1.x86_64@available
+#>rule pkg c3f6b37277eb48011d0e68c11323ea3e B2-1-1.x86_64@available
+#>rule pkg c3f6b37277eb48011d0e68c11323ea3e -C2-1-1.x86_64@available
+#>rule pkg c3f6b37277eb48011d0e68c11323ea3e -Y-1-1.x86_64@available
+#>rule pkg c450fe9f8321047ee2cd1e6fc9f34df6 -A2-1-1.x86_64@available
+#>rule pkg c450fe9f8321047ee2cd1e6fc9f34df6 -C2-1-1.x86_64@available
+#>rule pkg c450fe9f8321047ee2cd1e6fc9f34df6 -Y-1-1.x86_64@available
+#>rule pkg da9eb4921698e87f788a89bd25cf75b8 -A1-1-1.x86_64@available
+#>rule pkg da9eb4921698e87f788a89bd25cf75b8 -C2-1-1.x86_64@available
+#>rule pkg da9eb4921698e87f788a89bd25cf75b8 -Y-1-1.x86_64@available
diff --git a/test/testcases/cplxdeps/or.t b/test/testcases/cplxdeps/or.t
new file mode 100644
index 0000000..7446799
--- /dev/null
+++ b/test/testcases/cplxdeps/or.t
@@ -0,0 +1,34 @@
+feature complex_deps
+repo available 0 testtags <inline>
+#>=Pkg: A1 1 1 x86_64
+#>=Prv: A
+#>=Pkg: A2 1 1 x86_64
+#>=Prv: A
+#>=Pkg: B1 1 1 x86_64
+#>=Prv: B
+#>=Pkg: B2 1 1 x86_64
+#>=Prv: B
+#>=Pkg: X 1 1 x86_64
+#>=Req: A | B
+#>=Pkg: Y 1 1 x86_64
+#>=Con: A | B
+job install name X
+result rules <inline>
+#>rule job 3986285ed3e7fa05cb3367ca1e7f0d3d X-1-1.x86_64@available
+#>rule pkg 7d7fb2231997a6ba15d2c7c1d11d4ff1 A1-1-1.x86_64@available
+#>rule pkg 7d7fb2231997a6ba15d2c7c1d11d4ff1 A2-1-1.x86_64@available
+#>rule pkg 7d7fb2231997a6ba15d2c7c1d11d4ff1 B1-1-1.x86_64@available
+#>rule pkg 7d7fb2231997a6ba15d2c7c1d11d4ff1 B2-1-1.x86_64@available
+#>rule pkg 7d7fb2231997a6ba15d2c7c1d11d4ff1 -X-1-1.x86_64@available
+nextjob
+job install name Y
+result rules <inline>
+#>rule job 181d7955b2179c4ffdffedf0198f4807 Y-1-1.x86_64@available
+#>rule pkg 0fd77d3093bfb9bc85606ae155bee7e0 -A1-1-1.x86_64@available
+#>rule pkg 0fd77d3093bfb9bc85606ae155bee7e0 -Y-1-1.x86_64@available
+#>rule pkg 45e18ba2f65a39574c1f4b1c77b565ec -A2-1-1.x86_64@available
+#>rule pkg 45e18ba2f65a39574c1f4b1c77b565ec -Y-1-1.x86_64@available
+#>rule pkg 69d83d7a676b6a65f79a6fc5bcf2ca6e -B1-1-1.x86_64@available
+#>rule pkg 69d83d7a676b6a65f79a6fc5bcf2ca6e -Y-1-1.x86_64@available
+#>rule pkg d6e57752cc50ab9fc0a218fda6dbf172 -B2-1-1.x86_64@available
+#>rule pkg d6e57752cc50ab9fc0a218fda6dbf172 -Y-1-1.x86_64@available
diff --git a/test/testcases/cplxdeps/orand.t b/test/testcases/cplxdeps/orand.t
new file mode 100644
index 0000000..8a5108a
--- /dev/null
+++ b/test/testcases/cplxdeps/orand.t
@@ -0,0 +1,87 @@
+feature complex_deps
+repo available 0 testtags <inline>
+#>=Pkg: A1 1 1 x86_64
+#>=Prv: A
+#>=Pkg: A2 1 1 x86_64
+#>=Prv: A
+#>=Pkg: B1 1 1 x86_64
+#>=Prv: B
+#>=Pkg: B2 1 1 x86_64
+#>=Prv: B
+#>=Pkg: C1 1 1 x86_64
+#>=Prv: C
+#>=Pkg: C2 1 1 x86_64
+#>=Prv: C
+#>=Pkg: D1 1 1 x86_64
+#>=Prv: D
+#>=Pkg: D2 1 1 x86_64
+#>=Prv: D
+#>=Pkg: X 1 1 x86_64
+#>=Req: (A | B) & (C | D)
+#>=Pkg: Y 1 1 x86_64
+#>=Con: (A | B) & (C | D)
+job install name X
+result rules <inline>
+#>rule job 3986285ed3e7fa05cb3367ca1e7f0d3d X-1-1.x86_64@available
+#>rule pkg 7d7fb2231997a6ba15d2c7c1d11d4ff1 A1-1-1.x86_64@available
+#>rule pkg 7d7fb2231997a6ba15d2c7c1d11d4ff1 A2-1-1.x86_64@available
+#>rule pkg 7d7fb2231997a6ba15d2c7c1d11d4ff1 B1-1-1.x86_64@available
+#>rule pkg 7d7fb2231997a6ba15d2c7c1d11d4ff1 B2-1-1.x86_64@available
+#>rule pkg 7d7fb2231997a6ba15d2c7c1d11d4ff1 -X-1-1.x86_64@available
+#>rule pkg cb5c72eeb44f643493f3df3e7e62f9dc C1-1-1.x86_64@available
+#>rule pkg cb5c72eeb44f643493f3df3e7e62f9dc C2-1-1.x86_64@available
+#>rule pkg cb5c72eeb44f643493f3df3e7e62f9dc D1-1-1.x86_64@available
+#>rule pkg cb5c72eeb44f643493f3df3e7e62f9dc D2-1-1.x86_64@available
+#>rule pkg cb5c72eeb44f643493f3df3e7e62f9dc -X-1-1.x86_64@available
+nextjob
+job install name Y
+result rules <inline>
+#>rule job 181d7955b2179c4ffdffedf0198f4807 Y-1-1.x86_64@available
+#>rule pkg 16cbba917580ca34f91961a74cfd07c2 -B1-1-1.x86_64@available
+#>rule pkg 16cbba917580ca34f91961a74cfd07c2 -D1-1-1.x86_64@available
+#>rule pkg 16cbba917580ca34f91961a74cfd07c2 -Y-1-1.x86_64@available
+#>rule pkg 1db9a5695f062c299dbb815adf4f2374 -A1-1-1.x86_64@available
+#>rule pkg 1db9a5695f062c299dbb815adf4f2374 -D2-1-1.x86_64@available
+#>rule pkg 1db9a5695f062c299dbb815adf4f2374 -Y-1-1.x86_64@available
+#>rule pkg 22f3f4d055f6daaeb6f5622907a9206f -A2-1-1.x86_64@available
+#>rule pkg 22f3f4d055f6daaeb6f5622907a9206f -D1-1-1.x86_64@available
+#>rule pkg 22f3f4d055f6daaeb6f5622907a9206f -Y-1-1.x86_64@available
+#>rule pkg 2823a39a3d1ae2f7d45ca97e97f5bf8e -A1-1-1.x86_64@available
+#>rule pkg 2823a39a3d1ae2f7d45ca97e97f5bf8e -C1-1-1.x86_64@available
+#>rule pkg 2823a39a3d1ae2f7d45ca97e97f5bf8e -Y-1-1.x86_64@available
+#>rule pkg 33a12cadfd9dd12dc60a3e250ae9f92a -B2-1-1.x86_64@available
+#>rule pkg 33a12cadfd9dd12dc60a3e250ae9f92a -C2-1-1.x86_64@available
+#>rule pkg 33a12cadfd9dd12dc60a3e250ae9f92a -Y-1-1.x86_64@available
+#>rule pkg 48a9e473b42b382f7cf46ac33e98ba76 -B2-1-1.x86_64@available
+#>rule pkg 48a9e473b42b382f7cf46ac33e98ba76 -C1-1-1.x86_64@available
+#>rule pkg 48a9e473b42b382f7cf46ac33e98ba76 -Y-1-1.x86_64@available
+#>rule pkg 714e9978244eb65bc57b7c4fac5a0430 -B1-1-1.x86_64@available
+#>rule pkg 714e9978244eb65bc57b7c4fac5a0430 -C1-1-1.x86_64@available
+#>rule pkg 714e9978244eb65bc57b7c4fac5a0430 -Y-1-1.x86_64@available
+#>rule pkg 86df5aaf92e5ea31f8efedf442fd431e -B1-1-1.x86_64@available
+#>rule pkg 86df5aaf92e5ea31f8efedf442fd431e -C2-1-1.x86_64@available
+#>rule pkg 86df5aaf92e5ea31f8efedf442fd431e -Y-1-1.x86_64@available
+#>rule pkg 87928b09a90963097188f62d00bfb3d9 -B2-1-1.x86_64@available
+#>rule pkg 87928b09a90963097188f62d00bfb3d9 -D1-1-1.x86_64@available
+#>rule pkg 87928b09a90963097188f62d00bfb3d9 -Y-1-1.x86_64@available
+#>rule pkg 92d66d3ad45eaa7d443a05245c9a0eaf -A2-1-1.x86_64@available
+#>rule pkg 92d66d3ad45eaa7d443a05245c9a0eaf -C1-1-1.x86_64@available
+#>rule pkg 92d66d3ad45eaa7d443a05245c9a0eaf -Y-1-1.x86_64@available
+#>rule pkg b5f410efacf9eb0b2b725e3e7b7d6e93 -B1-1-1.x86_64@available
+#>rule pkg b5f410efacf9eb0b2b725e3e7b7d6e93 -D2-1-1.x86_64@available
+#>rule pkg b5f410efacf9eb0b2b725e3e7b7d6e93 -Y-1-1.x86_64@available
+#>rule pkg c450fe9f8321047ee2cd1e6fc9f34df6 -A2-1-1.x86_64@available
+#>rule pkg c450fe9f8321047ee2cd1e6fc9f34df6 -C2-1-1.x86_64@available
+#>rule pkg c450fe9f8321047ee2cd1e6fc9f34df6 -Y-1-1.x86_64@available
+#>rule pkg da9eb4921698e87f788a89bd25cf75b8 -A1-1-1.x86_64@available
+#>rule pkg da9eb4921698e87f788a89bd25cf75b8 -C2-1-1.x86_64@available
+#>rule pkg da9eb4921698e87f788a89bd25cf75b8 -Y-1-1.x86_64@available
+#>rule pkg dfd799532ba714fd139acf879992c2de -A2-1-1.x86_64@available
+#>rule pkg dfd799532ba714fd139acf879992c2de -D2-1-1.x86_64@available
+#>rule pkg dfd799532ba714fd139acf879992c2de -Y-1-1.x86_64@available
+#>rule pkg eab097949c9719f1e7e196241c6ec0f4 -B2-1-1.x86_64@available
+#>rule pkg eab097949c9719f1e7e196241c6ec0f4 -D2-1-1.x86_64@available
+#>rule pkg eab097949c9719f1e7e196241c6ec0f4 -Y-1-1.x86_64@available
+#>rule pkg ede76598bf66f6be0b1fa3439c97a71b -A1-1-1.x86_64@available
+#>rule pkg ede76598bf66f6be0b1fa3439c97a71b -D1-1-1.x86_64@available
+#>rule pkg ede76598bf66f6be0b1fa3439c97a71b -Y-1-1.x86_64@available
diff --git a/test/testcases/recommendations/recommended_conflicts.t b/test/testcases/recommendations/recommended_conflicts.t
new file mode 100644
index 0000000..92afd75
--- /dev/null
+++ b/test/testcases/recommendations/recommended_conflicts.t
@@ -0,0 +1,16 @@
+repo system 0 empty
+repo available 0 testtags <inline>
+#>=Pkg: A 1 1 noarch
+#>=Rec: B
+#>=Pkg: B 1 1 noarch
+#>=Pkg: B 3 1 noarch
+#>=Con: A
+#>=Pkg: B 2 1 noarch
+system i686 rpm system
+
+solverflags ignorerecommended
+job install name A
+
+result transaction,recommended,problems <inline>
+#>install A-1-1.noarch@available
+#>recommended B-2-1.noarch@available
diff --git a/test/testcases/recommendations/recommended_multirepo.t b/test/testcases/recommendations/recommended_multirepo.t
new file mode 100644
index 0000000..0addaf4
--- /dev/null
+++ b/test/testcases/recommendations/recommended_multirepo.t
@@ -0,0 +1,19 @@
+repo system 0 empty
+repo available 0 testtags <inline>
+#>=Pkg: A 1 1 noarch
+#>=Rec: B
+#>=Pkg: B 1 1 noarch
+#>=Pkg: B 3 1 noarch
+#>=Pkg: B 2 1 noarch
+repo other 0 testtags <inline>
+#>=Pkg: B 4 1 noarch
+#>=Pkg: B 6 1 noarch
+#>=Pkg: B 5 1 noarch
+system i686 rpm system
+
+solverflags ignorerecommended
+job install name A
+
+result transaction,recommended,problems <inline>
+#>install A-1-1.noarch@available
+#>recommended B-6-1.noarch@other
diff --git a/test/testcases/recommendations/recommended_oldversion.t b/test/testcases/recommendations/recommended_oldversion.t
new file mode 100644
index 0000000..27c62f1
--- /dev/null
+++ b/test/testcases/recommendations/recommended_oldversion.t
@@ -0,0 +1,15 @@
+repo system 0 empty
+repo available 0 testtags <inline>
+#>=Pkg: A 1 1 noarch
+#>=Rec: B < 3
+#>=Pkg: B 1 1 noarch
+#>=Pkg: B 3 1 noarch
+#>=Pkg: B 2 1 noarch
+system i686 rpm system
+
+solverflags ignorerecommended
+job install name A
+
+result transaction,recommended,problems <inline>
+#>install A-1-1.noarch@available
+#>recommended B-2-1.noarch@available
diff --git a/test/testcases/recommendations/recommended_targeted.t b/test/testcases/recommendations/recommended_targeted.t
new file mode 100644
index 0000000..2b8a842
--- /dev/null
+++ b/test/testcases/recommendations/recommended_targeted.t
@@ -0,0 +1,15 @@
+repo system 0 empty
+repo available 0 testtags <inline>
+#>=Pkg: A 1 1 noarch
+#>=Rec: B = 2-1
+#>=Pkg: B 1 1 noarch
+#>=Pkg: B 3 1 noarch
+#>=Pkg: B 2 1 noarch
+system i686 rpm system
+
+solverflags ignorerecommended
+job install name A
+
+result transaction,recommended,problems <inline>
+#>install A-1-1.noarch@available
+#>recommended B-2-1.noarch@available
diff --git a/test/testcases/recommendations/recommended_version.t b/test/testcases/recommendations/recommended_version.t
new file mode 100644
index 0000000..b2e3637
--- /dev/null
+++ b/test/testcases/recommendations/recommended_version.t
@@ -0,0 +1,15 @@
+repo system 0 empty
+repo available 0 testtags <inline>
+#>=Pkg: A 1 1 noarch
+#>=Rec: B
+#>=Pkg: B 1 1 noarch
+#>=Pkg: B 3 1 noarch
+#>=Pkg: B 2 1 noarch
+system i686 rpm system
+
+solverflags ignorerecommended
+job install name A
+
+result transaction,recommended,problems <inline>
+#>install A-1-1.noarch@available
+#>recommended B-3-1.noarch@available
diff --git a/test/testcases/recommendations/suggested_conflicts.t b/test/testcases/recommendations/suggested_conflicts.t
new file mode 100644
index 0000000..8de6f3d
--- /dev/null
+++ b/test/testcases/recommendations/suggested_conflicts.t
@@ -0,0 +1,16 @@
+repo system 0 empty
+repo available 0 testtags <inline>
+#>=Pkg: A 1 1 noarch
+#>=Sug: B
+#>=Pkg: B 1 1 noarch
+#>=Pkg: B 3 1 noarch
+#>=Con: A
+#>=Pkg: B 2 1 noarch
+system i686 rpm system
+
+solverflags ignorerecommended
+job install name A
+
+result transaction,recommended,problems <inline>
+#>install A-1-1.noarch@available
+#>suggested B-2-1.noarch@available
diff --git a/test/testcases/recommendations/suggested_multirepo.t b/test/testcases/recommendations/suggested_multirepo.t
new file mode 100644
index 0000000..c0a6d8f
--- /dev/null
+++ b/test/testcases/recommendations/suggested_multirepo.t
@@ -0,0 +1,19 @@
+repo system 0 empty
+repo available 0 testtags <inline>
+#>=Pkg: A 1 1 noarch
+#>=Sug: B
+#>=Pkg: B 1 1 noarch
+#>=Pkg: B 3 1 noarch
+#>=Pkg: B 2 1 noarch
+repo other 0 testtags <inline>
+#>=Pkg: B 4 1 noarch
+#>=Pkg: B 6 1 noarch
+#>=Pkg: B 5 1 noarch
+system i686 rpm system
+
+solverflags ignorerecommended
+job install name A
+
+result transaction,recommended,problems <inline>
+#>install A-1-1.noarch@available
+#>suggested B-6-1.noarch@other
diff --git a/test/testcases/recommendations/suggested_oldversion.t b/test/testcases/recommendations/suggested_oldversion.t
new file mode 100644
index 0000000..b259b65
--- /dev/null
+++ b/test/testcases/recommendations/suggested_oldversion.t
@@ -0,0 +1,15 @@
+repo system 0 empty
+repo available 0 testtags <inline>
+#>=Pkg: A 1 1 noarch
+#>=Sug: B < 3
+#>=Pkg: B 1 1 noarch
+#>=Pkg: B 3 1 noarch
+#>=Pkg: B 2 1 noarch
+system i686 rpm system
+
+solverflags ignorerecommended
+job install name A
+
+result transaction,recommended,problems <inline>
+#>install A-1-1.noarch@available
+#>suggested B-2-1.noarch@available
diff --git a/test/testcases/recommendations/suggested_targeted.t b/test/testcases/recommendations/suggested_targeted.t
new file mode 100644
index 0000000..01da811
--- /dev/null
+++ b/test/testcases/recommendations/suggested_targeted.t
@@ -0,0 +1,15 @@
+repo system 0 empty
+repo available 0 testtags <inline>
+#>=Pkg: A 1 1 noarch
+#>=Sug: B = 2-1
+#>=Pkg: B 1 1 noarch
+#>=Pkg: B 3 1 noarch
+#>=Pkg: B 2 1 noarch
+system i686 rpm system
+
+solverflags ignorerecommended
+job install name A
+
+result transaction,recommended,problems <inline>
+#>install A-1-1.noarch@available
+#>suggested B-2-1.noarch@available
diff --git a/test/testcases/recommendations/suggested_version.t b/test/testcases/recommendations/suggested_version.t
new file mode 100644
index 0000000..1af6a77
--- /dev/null
+++ b/test/testcases/recommendations/suggested_version.t
@@ -0,0 +1,15 @@
+repo system 0 empty
+repo available 0 testtags <inline>
+#>=Pkg: A 1 1 noarch
+#>=Sug: B
+#>=Pkg: B 1 1 noarch
+#>=Pkg: B 3 1 noarch
+#>=Pkg: B 2 1 noarch
+system i686 rpm system
+
+solverflags ignorerecommended
+job install name A
+
+result transaction,recommended,problems <inline>
+#>install A-1-1.noarch@available
+#>suggested B-3-1.noarch@available