Using addCleanup() for restoring original configuration contents in tests.

bzr-import-20160707
Celso Providelo 10 years ago
parent 6e8e2adc35
commit 72b01f8cc7

@ -135,6 +135,11 @@ class TestBase(unittest.TestCase):
def tearDown(self): def tearDown(self):
del self.data del self.data
def restore_config(self, content):
"""Helper for restoring configuration contents on cleanup."""
with open(self.britney_conf, 'w') as fp:
fp.write(content)
def run_britney(self, args=[]): def run_britney(self, args=[]):
'''Run britney. '''Run britney.

@ -32,14 +32,14 @@ class TestAutoPkgTest(TestBase):
super(TestAutoPkgTest, self).setUp() super(TestAutoPkgTest, self).setUp()
# Mofify configuration according to the test context. # Mofify configuration according to the test context.
self.old_config = None
with open(self.britney_conf, 'r') as fp: with open(self.britney_conf, 'r') as fp:
self.old_config = fp.read() original_config = fp.read()
# Disable boottests. # Disable boottests.
config = self.old_config.replace( new_config = original_config.replace(
'BOOTTEST_ENABLE = yes', 'BOOTTEST_ENABLE = no') 'BOOTTEST_ENABLE = yes', 'BOOTTEST_ENABLE = no')
with open(self.britney_conf, 'w') as fp: with open(self.britney_conf, 'w') as fp:
fp.write(config) fp.write(new_config)
self.addCleanup(self.restore_config, original_config)
# fake adt-britney script # fake adt-britney script
self.adt_britney = os.path.join( self.adt_britney = os.path.join(
@ -63,12 +63,6 @@ echo "$@" >> /%s/adt-britney.log ''' % self.data.path)
'Conflicts': 'green'}) 'Conflicts': 'green'})
self.data.add('justdata', False, {'Architecture': 'all'}) self.data.add('justdata', False, {'Architecture': 'all'})
def tearDown(self):
"""Replace the old_config."""
with open(self.britney_conf, 'w') as fp:
fp.write(self.old_config)
super(TestAutoPkgTest, self).tearDown()
def __merge_records(self, results, history=""): def __merge_records(self, results, history=""):
'''Merges a list of results with records in history. '''Merges a list of results with records in history.

@ -117,17 +117,19 @@ class TestBoottestEnd2End(TestBase):
def setUp(self): def setUp(self):
super(TestBoottestEnd2End, self).setUp() super(TestBoottestEnd2End, self).setUp()
self.old_config = None
# Modify shared configuration file.
with open(self.britney_conf, 'r') as fp: with open(self.britney_conf, 'r') as fp:
self.old_config = fp.read() original_config = fp.read()
# Disable autopkgtests. # Disable autopkgtests.
config = self.old_config.replace( new_config = original_config.replace(
'ADT_ENABLE = yes', 'ADT_ENABLE = no') 'ADT_ENABLE = yes', 'ADT_ENABLE = no')
# Disable TouchManifest auto-fetching. # Disable TouchManifest auto-fetching.
config = config.replace( new_config = new_config.replace(
'BOOTTEST_FETCH = yes', 'BOOTTEST_FETCH = no') 'BOOTTEST_FETCH = yes', 'BOOTTEST_FETCH = no')
with open(self.britney_conf, 'w') as fp: with open(self.britney_conf, 'w') as fp:
fp.write(config) fp.write(new_config)
self.addCleanup(self.restore_config, original_config)
self.data.add('libc6', False, {'Architecture': 'armhf'}), self.data.add('libc6', False, {'Architecture': 'armhf'}),
@ -146,12 +148,6 @@ class TestBoottestEnd2End(TestBase):
'pyqt5:armhf 1.0', 'pyqt5:armhf 1.0',
]) ])
def tearDown(self):
""" Replace the old_config. """
with open(self.britney_conf, 'w') as fp:
fp.write(self.old_config)
super(TestBoottestEnd2End, self).tearDown()
def create_manifest(self, lines): def create_manifest(self, lines):
"""Create a manifest for this britney run context.""" """Create a manifest for this britney run context."""
path = os.path.join( path = os.path.join(

Loading…
Cancel
Save