Merge ~xnox/britney/+git/britney2-ubuntu:force-skiptest-all into ~ubuntu-release/britney/+git/britney2-ubuntu:master

Proposed by Dimitri John Ledkov
Status: Needs review
Proposed branch: ~xnox/britney/+git/britney2-ubuntu:force-skiptest-all
Merge into: ~ubuntu-release/britney/+git/britney2-ubuntu:master
Diff against target: 50 lines (+28/-1)
2 files modified
britney2/policies/autopkgtest.py (+2/-1)
tests/test_autopkgtest.py (+26/-0)
Reviewer Review Type Date Requested Status
Steve Langasek Needs Resubmitting
Review via email: mp+445460@code.launchpad.net

Commit message

force-skiptest: allow '/all' version specifier

Currently many kernels produce arch-all packages, and they seem to
trigger tests for many packages (hardcoded list + all dkms) on all
arches, even for kernels that do not exist on a given arch, or cannot
be tested.

At the moment this leads to a lot of test requests that are
impossible.

Add ability to specify a hint to prevent wiating on such
results. Specifically we currently need:

force-skiptest linux-meta-raspi/all
force-skiptest linux-meta-riscv/all
force-skiptest linux-meta-starfive/all

To post a comment you must log in.
Revision history for this message
Steve Langasek (vorlon) wrote :

Our capacity to review and maintain delta from Debian here is limited. Since there is in principle nothing Ubuntu-specific about this extension to the hint syntax, please get this agreed with the Debian release team at https://salsa.debian.org/release-team/britney2 and we can cherry-pick it from there.

Revision history for this message
Steve Langasek (vorlon) :
review: Needs Resubmitting

Unmerged commits

6be2106... by Dimitri John Ledkov

force-skiptest: allow '/all' version specifier

Currently many kernels produce arch-all packages, and they seem to
trigger tests for many packages (hardcoded list + all dkms) on all
arches, even for kernels that do not exist on a given arch, or cannot
be tested.

At the moment this leads to a lot of test requests that are
impossible.

Add ability to specify a hint to prevent wiating on such
results. Specifically we currently need:

force-skiptest linux-meta-raspi/all
force-skiptest linux-meta-riscv/all
force-skiptest linux-meta-starfive/all

Signed-off-by: Dimitri John Ledkov <email address hidden>

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/britney2/policies/autopkgtest.py b/britney2/policies/autopkgtest.py
index 546a03c..6606270 100644
--- a/britney2/policies/autopkgtest.py
+++ b/britney2/policies/autopkgtest.py
@@ -510,7 +510,8 @@ class AutopkgtestPolicy(BasePolicy):
510510
511 if verdict != PolicyVerdict.PASS:511 if verdict != PolicyVerdict.PASS:
512 # check for force-skiptest hint512 # check for force-skiptest hint
513 hints = self.hints.search('force-skiptest', package=source_name, version=source_data_srcdist.version)513 hints = self.hints.search('force-skiptest', package=source_name, version=source_data_srcdist.version) + \
514 self.hints.search('force-skiptest', package=source_name, version='all')
514 if hints:515 if hints:
515 excuse.addreason('skiptest')516 excuse.addreason('skiptest')
516 excuse.addinfo("Should wait for tests relating to %s %s, but forced by %s" %517 excuse.addinfo("Should wait for tests relating to %s %s, but forced by %s" %
diff --git a/tests/test_autopkgtest.py b/tests/test_autopkgtest.py
index 5c7bb72..825225a 100644
--- a/tests/test_autopkgtest.py
+++ b/tests/test_autopkgtest.py
@@ -2056,6 +2056,32 @@ class AT(TestAutopkgtestBase):
2056 ('excuses', 'Should wait for tests relating to green 2, but forced by autopkgtest')]2056 ('excuses', 'Should wait for tests relating to green 2, but forced by autopkgtest')]
2057 })2057 })
20582058
2059 def test_hint_force_skiptest_versionall(self):
2060 '''force-skiptest hint'''
2061
2062 self.data.add_default_packages(green=False)
2063
2064 self.create_hint('autopkgtest', 'force-skiptest green/all')
2065
2066 # regression of green, darkgreen ok, lightgreen running
2067 self.set_results({'autopkgtest-testing': {
2068 'testing/i386/g/green/20150101_100000@': (0, 'green 1', tr('passedbefore/1')),
2069 'testing/i386/g/green/20150101_100200@': (4, 'green 2', tr('green/2')),
2070 'testing/i386/d/darkgreen/20150101_100000@': (0, 'darkgreen 1', tr('green/2')),
2071 'testing/amd64/d/darkgreen/20150101_100000@': (0, 'darkgreen 1', tr('green/2')),
2072 }})
2073 self.run_it(
2074 [('libgreen1', {'Version': '2', 'Source': 'green', 'Depends': 'libc6'}, 'autopkgtest')],
2075 {'green': (True, {'green/2': {'amd64': 'RUNNING-ALWAYSFAIL', 'i386': 'REGRESSION'},
2076 'lightgreen': {'amd64': 'RUNNING-ALWAYSFAIL', 'i386': 'RUNNING-ALWAYSFAIL'},
2077 'darkgreen/1': {'amd64': 'PASS', 'i386': 'PASS'},
2078 }),
2079 },
2080 {'green': [('old-version', '1'), ('new-version', '2'),
2081 ('reason', 'skiptest'),
2082 ('excuses', 'Should wait for tests relating to green 2, but forced by autopkgtest')]
2083 })
2084
2059 def test_hint_force_skiptest_different_version(self):2085 def test_hint_force_skiptest_different_version(self):
2060 '''force-skiptest hint with non-matching version'''2086 '''force-skiptest hint with non-matching version'''
20612087

Subscribers

People subscribed via source and target branches