mirror of
				https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
				synced 2025-11-04 10:34:05 +00:00 
			
		
		
		
	Add another policy test for ignore-rc-bugs
Signed-off-by: Niels Thykier <niels@thykier.net>
This commit is contained in:
		
							parent
							
								
									96b7e606cf
								
							
						
					
					
						commit
						d7f6a00a51
					
				@ -7,10 +7,16 @@ from britney2.hints import HintParser
 | 
			
		||||
from britney2.policies.policy import RCBugPolicy, PolicyVerdict
 | 
			
		||||
 | 
			
		||||
POLICY_DATA_BASE_DIR = os.path.join(os.path.dirname(__file__), 'policy-test-data')
 | 
			
		||||
TEST_HINTER = 'test-hinter'
 | 
			
		||||
HINTS_ALL = ('ALL')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def initialize_policy(test_name, policy_class, *args, **kwargs):
 | 
			
		||||
    test_dir = os.path.join(POLICY_DATA_BASE_DIR, test_name)
 | 
			
		||||
    hints = []
 | 
			
		||||
    if 'hints' in kwargs:
 | 
			
		||||
        hints = kwargs['hints']
 | 
			
		||||
        del kwargs['hints']
 | 
			
		||||
    options = MockObject(state_dir=test_dir, verbose=0, **kwargs)
 | 
			
		||||
    suite_info = {
 | 
			
		||||
        'testing': SuiteInfo('testing', os.path.join(test_dir, 'testing'), ''),
 | 
			
		||||
@ -21,6 +27,7 @@ def initialize_policy(test_name, policy_class, *args, **kwargs):
 | 
			
		||||
    hint_parser = HintParser(fake_britney)
 | 
			
		||||
    policy.initialise(fake_britney)
 | 
			
		||||
    policy.register_hints(hint_parser)
 | 
			
		||||
    hint_parser.parse_hints(TEST_HINTER, HINTS_ALL, 'test-%s' % test_name, hints)
 | 
			
		||||
    policy.hints = hint_parser.hints
 | 
			
		||||
    return policy
 | 
			
		||||
 | 
			
		||||
@ -93,5 +100,18 @@ class TestRCBugsPolicy(unittest.TestCase):
 | 
			
		||||
        assert set(policy_info['rc-bugs']['unique-target-bugs']) == {'123456'}
 | 
			
		||||
        assert set(policy_info['rc-bugs']['shared-bugs']) == set()
 | 
			
		||||
 | 
			
		||||
    def test_regression_with_hint(self):
 | 
			
		||||
        src_name = 'regression'
 | 
			
		||||
        hints = ['ignore-rc-bugs 123458 regression/2.0']
 | 
			
		||||
        src_t, src_u, excuse, policy_info = create_policy_objects(src_name, '1.0', '2.0')
 | 
			
		||||
        policy = initialize_policy('rc-bugs/basic', RCBugPolicy, hints=hints)
 | 
			
		||||
        verdict = policy.apply_policy(policy_info, 'unstable', src_name, src_t, src_u, excuse)
 | 
			
		||||
        assert verdict == PolicyVerdict.PASS_HINTED
 | 
			
		||||
        assert set(policy_info['rc-bugs']['ignored-bugs']['bugs']) == {'123458'}
 | 
			
		||||
        assert policy_info['rc-bugs']['ignored-bugs']['issued-by'] == TEST_HINTER
 | 
			
		||||
        assert set(policy_info['rc-bugs']['unique-source-bugs']) == set()
 | 
			
		||||
        assert set(policy_info['rc-bugs']['unique-target-bugs']) == set()
 | 
			
		||||
        assert set(policy_info['rc-bugs']['shared-bugs']) == set()
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    unittest.main()
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user