mirror of
				https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
				synced 2025-10-31 08:34:04 +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