mirror of
https://github.com/openSUSE/libsolv.git
synced 2026-02-05 12:45:46 +01:00
Add more choicerules tests
This commit is contained in:
27
test/testcases/choicerules/choice1.t
Normal file
27
test/testcases/choicerules/choice1.t
Normal file
@@ -0,0 +1,27 @@
|
||||
#
|
||||
#Rule #2:
|
||||
# !A-2-1.noarch [3] (w1)
|
||||
# B-2-1.noarch [4] (w2)
|
||||
# C-2-1.noarch [5]
|
||||
#
|
||||
# ==> Choice Rule
|
||||
# !A-2-1.noarch [3] (w1)
|
||||
# B-2-1.noarch [4] (w2)
|
||||
#
|
||||
repo system 0 testtags <inline>
|
||||
#>=Pkg: B 1 1 noarch
|
||||
#>=Prv: P = 1
|
||||
repo available 0 testtags <inline>
|
||||
#>=Pkg: A 2 1 noarch
|
||||
#>=Req: P = 2
|
||||
#>=Pkg: B 2 1 noarch
|
||||
#>=Prv: P = 2
|
||||
#>=Pkg: C 2 1 noarch
|
||||
#>=Prv: P = 2
|
||||
system i686 rpm system
|
||||
|
||||
job install name A
|
||||
result transaction,problems <inline>
|
||||
result transaction,problems <inline>
|
||||
#>install A-2-1.noarch@available
|
||||
#>upgrade B-1-1.noarch@system B-2-1.noarch@available
|
||||
18
test/testcases/choicerules/choice1b.t
Normal file
18
test/testcases/choicerules/choice1b.t
Normal file
@@ -0,0 +1,18 @@
|
||||
repo system 0 testtags <inline>
|
||||
#>=Pkg: B 1 1 noarch
|
||||
#>=Prv: P = 1
|
||||
repo available 0 testtags <inline>
|
||||
#>=Pkg: X 1 1 noarch
|
||||
#>=Pkg: Y 1 1 noarch
|
||||
#>=Pkg: A 2 1 noarch
|
||||
#>=Req: P = 2 <IF> (X & Y)
|
||||
#>=Pkg: B 2 1 noarch
|
||||
#>=Prv: P = 2
|
||||
#>=Pkg: C 2 1 noarch
|
||||
#>=Prv: P = 2
|
||||
system i686 rpm system
|
||||
|
||||
job install name A
|
||||
result transaction,problems <inline>
|
||||
result transaction,problems <inline>
|
||||
#>install A-2-1.noarch@available
|
||||
@@ -1,3 +1,24 @@
|
||||
#
|
||||
# Test that updating package B will update package A
|
||||
# instead of pulling in new package C
|
||||
#
|
||||
#Rule #5:
|
||||
# !A-2-2.noarch [5] (w1)
|
||||
# B-2-1.noarch [6] (w2)
|
||||
# C-2-1.noarch [8]
|
||||
#Rule #7:
|
||||
# !A-2-1.noarch [4] (w1)
|
||||
# B-2-1.noarch [6] (w2)
|
||||
# C-2-1.noarch [8]
|
||||
#Rule #8:
|
||||
# !A-1-1.noarch [2]I (w1)
|
||||
# B-1-1.noarch [3]I (w2)
|
||||
# C-1-1.noarch [7]
|
||||
#
|
||||
# ==> Choice Rule for #8:
|
||||
# !A-1-1.noarch [2]I (w1)
|
||||
# B-1-1.noarch [3]I (w2)
|
||||
#
|
||||
repo system 0 testtags <inline>
|
||||
#>=Pkg: A 1 1 noarch
|
||||
#>=Req: P = 1
|
||||
|
||||
47
test/testcases/choicerules/choice2b.t
Normal file
47
test/testcases/choicerules/choice2b.t
Normal file
@@ -0,0 +1,47 @@
|
||||
#
|
||||
# Test that updating package B will update package A
|
||||
# instead of pulling in new package C
|
||||
#
|
||||
#Rule #5:
|
||||
# !A-2-2.noarch [5] (w1)
|
||||
# B-2-1.noarch [6] (w2)
|
||||
# C-2-1.noarch [8]
|
||||
#Rule #7:
|
||||
# !A-2-1.noarch [4] (w1)
|
||||
# B-2-1.noarch [6] (w2)
|
||||
# C-2-1.noarch [8]
|
||||
#Rule #8:
|
||||
# !A-1-1.noarch [2]I (w1)
|
||||
# B-1-1.noarch [3]I (w2)
|
||||
# C-1-1.noarch [7]
|
||||
#
|
||||
# ==> Choice Rule for #8:
|
||||
# !A-1-1.noarch [2]I (w1)
|
||||
# B-1-1.noarch [3]I (w2)
|
||||
#
|
||||
repo system 0 testtags <inline>
|
||||
#>=Pkg: A 1 1 noarch
|
||||
#>=Req: P = 1
|
||||
#>=Pkg: B 1 1 noarch
|
||||
#>=Prv: P = 1
|
||||
repo available 0 testtags <inline>
|
||||
#>=Pkg: A 1 1 noarch
|
||||
#>=Req: P = 1
|
||||
#>=Pkg: B 1 1 noarch
|
||||
#>=Prv: P = 1
|
||||
#>=Pkg: A 2 1 noarch
|
||||
#>=Req: P = 2
|
||||
#>=Pkg: A 2 2 noarch
|
||||
#>=Req: P = 2
|
||||
#>=Pkg: B 2 1 noarch
|
||||
#>=Prv: P = 2
|
||||
#>=Pkg: C 1 1 noarch
|
||||
#>=Prv: P = 1
|
||||
#>=Pkg: C 2 1 noarch
|
||||
#>=Prv: P = 2
|
||||
system i686 rpm system
|
||||
|
||||
job update name B
|
||||
result transaction,problems <inline>
|
||||
#>upgrade A-1-1.noarch@system A-2-2.noarch@available
|
||||
#>upgrade B-1-1.noarch@system B-2-1.noarch@available
|
||||
@@ -1,3 +1,19 @@
|
||||
# Do not block an update because of a choice rule
|
||||
#
|
||||
#Rule #3:
|
||||
# !B-1-1.noarch [4] (w1)
|
||||
# A-1-1.noarch [2]I (w2)
|
||||
# Anew-2-1.noarch [6]
|
||||
#Rule #4:
|
||||
# !B-1-1.noarch [3]I (w1)
|
||||
# A-1-1.noarch [2]I (w2)
|
||||
# Anew-2-1.noarch [6]
|
||||
#
|
||||
# ==> No choice rule for Rule#4!
|
||||
# ==> Choice Rule for #3:
|
||||
# !B-1-1.noarch [4] (w1)
|
||||
# A-1-1.noarch [2]I (w2)
|
||||
#
|
||||
repo system 0 testtags <inline>
|
||||
#>=Pkg: A 1 1 noarch
|
||||
#>=Prv: libA
|
||||
|
||||
31
test/testcases/choicerules/choice3b.t
Normal file
31
test/testcases/choicerules/choice3b.t
Normal file
@@ -0,0 +1,31 @@
|
||||
# Do not block an update because of a choice rule
|
||||
#
|
||||
#Rule #3:
|
||||
# !B-1-1.noarch [4] (w1)
|
||||
# A-1-1.noarch [2]I (w2)
|
||||
# Anew-2-1.noarch [6]
|
||||
#Rule #4:
|
||||
# !B-1-1.noarch [3]I (w1)
|
||||
# A-1-1.noarch [2]I (w2)
|
||||
# Anew-2-1.noarch [6]
|
||||
#
|
||||
# ==> No choice rule for Rule#4!
|
||||
# ==> Choice Rule for #3:
|
||||
# !B-1-1.noarch [4] (w1)
|
||||
# A-1-1.noarch [2]I (w2)
|
||||
#
|
||||
repo system 0 testtags <inline>
|
||||
#>=Pkg: A 1 1 noarch
|
||||
#>=Prv: libA
|
||||
#>=Pkg: B 1 1 noarch
|
||||
#>=Req: libA
|
||||
repo available 0 testtags <inline>
|
||||
#>=Pkg: A 2 1 noarch
|
||||
#>=Pkg: Anew 2 1 noarch
|
||||
#>=Prv: libA
|
||||
system i686 rpm system
|
||||
|
||||
job update all packages
|
||||
result transaction,problems <inline>
|
||||
#>install Anew-2-1.noarch@available
|
||||
#>upgrade A-1-1.noarch@system A-2-1.noarch@available
|
||||
@@ -1,3 +1,21 @@
|
||||
# This tests that A is updated instead of Anew being installed
|
||||
#
|
||||
#Rule #4:
|
||||
# !B-2-2.noarch [11] (w1)
|
||||
# A-2-2.noarch [9] (w2)
|
||||
# Anew-2-2.noarch [10]
|
||||
#Rule #11:
|
||||
# !B-2-1.noarch [8] (w1)
|
||||
# A-2-1.noarch [6] (w2)
|
||||
# Anew-2-1.noarch [7]
|
||||
#
|
||||
#Choice Rule for #4:
|
||||
# !B-2-2.noarch [11] (w1)
|
||||
# A-2-2.noarch [9] (w2)
|
||||
#Choice Rule for #11
|
||||
# !B-2-1.noarch [8] (w1)
|
||||
# A-2-1.noarch [6] (w2)
|
||||
#
|
||||
repo system 0 testtags <inline>
|
||||
#>=Pkg: A 1 1 noarch
|
||||
#>=Prv: libA = 1-1
|
||||
|
||||
21
test/testcases/choicerules/choice5.t
Normal file
21
test/testcases/choicerules/choice5.t
Normal file
@@ -0,0 +1,21 @@
|
||||
#
|
||||
# test that a package split does not update unrelated packages
|
||||
#
|
||||
repo system 0 testtags <inline>
|
||||
#>=Pkg: A 1 1 noarch
|
||||
#>=Prv: libA
|
||||
#>=Pkg: B 1 1 noarch
|
||||
#>=Req: libA
|
||||
repo available 0 testtags <inline>
|
||||
#>=Pkg: A 1 1 noarch
|
||||
#>=Prv: libA
|
||||
#>=Pkg: A 2 1 noarch
|
||||
#>=Pkg: Asplit 2 1 noarch
|
||||
#>=Prv: libA
|
||||
#>=Pkg: B 2 1 noarch
|
||||
#>=Req: libA
|
||||
system i686 rpm system
|
||||
job update name A
|
||||
result transaction,problems <inline>
|
||||
#>install Asplit-2-1.noarch@available
|
||||
#>upgrade A-1-1.noarch@system A-2-1.noarch@available
|
||||
28
test/testcases/choicerules/choice6.t
Normal file
28
test/testcases/choicerules/choice6.t
Normal file
@@ -0,0 +1,28 @@
|
||||
#Rule #4:
|
||||
# !php-fpm-7.2.24-1.noarch [5] (w1)
|
||||
# glibc-2.17-325.noarch [2]I (w2)
|
||||
# libcrypt-4.1.1-6.noarch [7]
|
||||
#=> no choice rule for #4
|
||||
#
|
||||
repo @System 0 testtags <inline>
|
||||
#>=Pkg: glibc 2.17 325 noarch
|
||||
#>=Prv: libcrypt
|
||||
#>=Pkg: php 5.4.16 48 noarch
|
||||
repo available 0 testtags <inline>
|
||||
#>=Pkg: php 7.2.24 1 noarch
|
||||
#>=Rec: php-fpm = 7.2.24-1
|
||||
#>=Pkg: php-fpm 7.2.24 1 noarch
|
||||
#>=Req: libcrypt
|
||||
#>=Pkg: php-fpm 8.0.13 2 noarch
|
||||
#>=Req: libcrypt
|
||||
#>=Pkg: libcrypt 4.1.1 6 noarch
|
||||
#>=Req: libc
|
||||
#>=Pkg: glibc 2.28 181 noarch
|
||||
#>=Prv: libc
|
||||
system i686 rpm @System
|
||||
job update all packages
|
||||
result transaction,problems <inline>
|
||||
#>install libcrypt-4.1.1-6.noarch@available
|
||||
#>install php-fpm-7.2.24-1.noarch@available
|
||||
#>upgrade glibc-2.17-325.noarch@@System glibc-2.28-181.noarch@available
|
||||
#>upgrade php-5.4.16-48.noarch@@System php-7.2.24-1.noarch@available
|
||||
Reference in New Issue
Block a user