mirror of
				https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
				synced 2025-11-04 10:34:05 +00:00 
			
		
		
		
	AgePolicy: Fix bug in creating the age file
Signed-off-by: Niels Thykier <niels@thykier.net>
This commit is contained in:
		
							parent
							
								
									241b17602d
								
							
						
					
					
						commit
						d3e343a3bd
					
				@ -326,7 +326,7 @@ class AgePolicy(BasePolicy):
 | 
			
		||||
                # If we using the legacy name, then just give up
 | 
			
		||||
                raise
 | 
			
		||||
            self.log("%s does not appear to exist.  Creating it" % filename)
 | 
			
		||||
            with open(filename, mode='wx', encoding='utf-8'):
 | 
			
		||||
            with open(filename, mode='x', encoding='utf-8'):
 | 
			
		||||
                pass
 | 
			
		||||
 | 
			
		||||
    def _read_urgencies_file(self, britney):
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1 @@
 | 
			
		||||
# empty
 | 
			
		||||
@ -4,11 +4,12 @@ import os
 | 
			
		||||
from britney2 import SuiteInfo, SourcePackage
 | 
			
		||||
from britney2.excuse import Excuse
 | 
			
		||||
from britney2.hints import HintParser
 | 
			
		||||
from britney2.policies.policy import RCBugPolicy, PolicyVerdict
 | 
			
		||||
from britney2.policies.policy import AgePolicy, RCBugPolicy, PolicyVerdict
 | 
			
		||||
 | 
			
		||||
POLICY_DATA_BASE_DIR = os.path.join(os.path.dirname(__file__), 'policy-test-data')
 | 
			
		||||
TEST_HINTER = 'test-hinter'
 | 
			
		||||
HINTS_ALL = ('ALL')
 | 
			
		||||
DEFAULT_URGENCY = 'medium'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def initialize_policy(test_name, policy_class, *args, **kwargs):
 | 
			
		||||
@ -17,7 +18,7 @@ def initialize_policy(test_name, policy_class, *args, **kwargs):
 | 
			
		||||
    if 'hints' in kwargs:
 | 
			
		||||
        hints = kwargs['hints']
 | 
			
		||||
        del kwargs['hints']
 | 
			
		||||
    options = MockObject(state_dir=test_dir, verbose=0, **kwargs)
 | 
			
		||||
    options = MockObject(state_dir=test_dir, verbose=0, default_urgency=DEFAULT_URGENCY, **kwargs)
 | 
			
		||||
    suite_info = {
 | 
			
		||||
        'testing': SuiteInfo('testing', os.path.join(test_dir, 'testing'), ''),
 | 
			
		||||
        'unstable': SuiteInfo('unstable', os.path.join(test_dir, 'unstable'), ''),
 | 
			
		||||
@ -137,5 +138,33 @@ class TestRCBugsPolicy(unittest.TestCase):
 | 
			
		||||
        assert policy_info['rc-bugs']['ignored-bugs']['issued-by'] == TEST_HINTER
 | 
			
		||||
        assert set(policy_info['rc-bugs']['shared-bugs']) == set()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestAgePolicy(unittest.TestCase):
 | 
			
		||||
 | 
			
		||||
    DEFAULT_MIN_DAYS = {
 | 
			
		||||
        'emergency': 0,
 | 
			
		||||
        'critical': 0,
 | 
			
		||||
        'high': 2,
 | 
			
		||||
        'medium': 5,
 | 
			
		||||
        'low': 10,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    def test_missing_age_file(self):
 | 
			
		||||
        age_file = os.path.join(POLICY_DATA_BASE_DIR, 'age', 'missing-age-file', 'age-policy-dates')
 | 
			
		||||
        assert not os.path.exists(age_file)
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            src_name = 'unlisted-source-package'
 | 
			
		||||
            src_t, src_u, excuse, policy_info = create_policy_objects(src_name, '1.0', '2.0')
 | 
			
		||||
            policy = initialize_policy('age/missing-age-file', AgePolicy, TestAgePolicy.DEFAULT_MIN_DAYS)
 | 
			
		||||
            verdict = policy.apply_policy(policy_info, 'unstable', src_name, src_t, src_u, excuse)
 | 
			
		||||
            assert os.path.exists(age_file)
 | 
			
		||||
            assert verdict == PolicyVerdict.REJECTED_TEMPORARILY
 | 
			
		||||
            assert policy_info['age']['age-requirement'] == TestAgePolicy.DEFAULT_MIN_DAYS[DEFAULT_URGENCY]
 | 
			
		||||
            assert policy_info['age']['current-age'] == 0
 | 
			
		||||
        finally:
 | 
			
		||||
            if os.path.exists(age_file):
 | 
			
		||||
                os.unlink(age_file)
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    unittest.main()
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user