mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-02-23 19:31:55 +00:00
autopkgtest: Accept packages which have dropped their tests in unstable
Currently we re-trigger all reverse binary dependencies of a package, including binary packages built from the same source. We already explicity trigger the source's own tests if they still exist in unstable - don't also consider the source when looking at reverse dependencies.
This commit is contained in:
parent
8310df678b
commit
41d51369f5
@ -352,6 +352,11 @@ class AutopkgtestPolicy(BasePolicy):
|
||||
for rdep in rdeps:
|
||||
try:
|
||||
rdep_src = binaries_info[rdep.package_name].source
|
||||
# Don't re-trigger the package itself here; this should
|
||||
# have been done above if the package still continues to
|
||||
# have an autopkgtest in unstable.
|
||||
if rdep_src == src:
|
||||
continue
|
||||
except KeyError:
|
||||
self.log('%s on %s has no source (NBS?)' % (rdep.package_name, arch))
|
||||
continue
|
||||
|
@ -244,6 +244,37 @@ class T(TestBase):
|
||||
self.assertIn('accepted: darkgreen', upgrade_out)
|
||||
self.assertIn('SUCCESS (1/0)', upgrade_out)
|
||||
|
||||
def test_dropped_test_not_run(self):
|
||||
'''New version of a package drops its autopkgtest'''
|
||||
|
||||
# green has passed on amd64 before
|
||||
# lightgreen has passed on i386, therefore we should block on it returning
|
||||
self.swift.set_results({'autopkgtest-series': {
|
||||
'series/amd64/g/green/20150101_100000@': (0, 'green 4', tr('green/1')),
|
||||
'series/i386/l/lightgreen/20150101_100100@': (0, 'lightgreen 1', tr('green/1')),
|
||||
}})
|
||||
|
||||
self.do_test(
|
||||
[('libgreen1', {'Version': '2', 'Source': 'green'}, None)],
|
||||
{'green': (False, {'lightgreen': {'amd64': 'RUNNING-ALWAYSFAIL', 'i386': 'RUNNING'}})
|
||||
},
|
||||
{'green': [('old-version', '1'), ('new-version', '2'),
|
||||
('reason', 'autopkgtest')]})
|
||||
|
||||
# we expect the package's reverse dependencies' tests to get triggered,
|
||||
# but *not* the package itself since it has no autopkgtest any more
|
||||
self.assertEqual(
|
||||
self.amqp_requests,
|
||||
set(['debci-series-i386:lightgreen {"triggers": ["green/2"]}',
|
||||
'debci-series-amd64:lightgreen {"triggers": ["green/2"]}',
|
||||
'debci-series-i386:darkgreen {"triggers": ["green/2"]}',
|
||||
'debci-series-amd64:darkgreen {"triggers": ["green/2"]}']))
|
||||
|
||||
# ... and that they get recorded as pending
|
||||
expected_pending = {'green/2': {'darkgreen': ['amd64', 'i386'],
|
||||
'lightgreen': ['amd64', 'i386']}}
|
||||
self.assertEqual(self.pending_requests, expected_pending)
|
||||
|
||||
def test_multi_rdepends_with_tests_all_running(self):
|
||||
'''Multiple reverse dependencies with tests (all running)'''
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user