Shares the setup and teardown functions for locking compression modes between the various backend test modules.
Signed-off-by: Dylan Baker <[email protected]> --- framework/tests/json_backend_tests.py | 16 ++-------------- framework/tests/json_results_update_tests.py | 15 ++------------- framework/tests/json_tests.py | 15 ++------------- framework/tests/junit_backends_tests.py | 15 ++------------- framework/tests/utils.py | 27 ++++++++++++++++++++++++++- 5 files changed, 34 insertions(+), 54 deletions(-) diff --git a/framework/tests/json_backend_tests.py b/framework/tests/json_backend_tests.py index 6a58534..d683883 100644 --- a/framework/tests/json_backend_tests.py +++ b/framework/tests/json_backend_tests.py @@ -35,24 +35,13 @@ from framework import results, backends, exceptions, grouptools import framework.tests.utils as utils from .backends_tests import BACKEND_INITIAL_META -_SAVED_COMPRESSION = os.environ.get('PIGLIT_COMPRESSON') - def setup_module(): - # Set the compression mode to a controlled value (no compression), to - # ensure that we're not getting unexpected file extensions. This means that - # the default can be changed, or environment variables set without - # affecting unit tests - # We set PIGLIT_COMPRESSION because it is the first value to checked when - # setting a compressor - os.environ['PIGLIT_COMPRESSION'] = 'none' + utils.set_compression('none') def teardown_module(): - if _SAVED_COMPRESSION is not None: - os.environ['PIGLIT_COMPRESSION'] = _SAVED_COMPRESSION - else: - del os.environ['PIGLIT_COMPRESSION'] + utils.unset_compression() def test_initialize_jsonbackend(): @@ -110,7 +99,6 @@ class TestJSONTestMethod(utils.StaticDirectory): nt.assert_dict_equal({self.test_name: self.result}, test) - class TestJSONTestFinalize(utils.StaticDirectory): # We're explictely setting none here since the default can change from none @classmethod diff --git a/framework/tests/json_results_update_tests.py b/framework/tests/json_results_update_tests.py index b492501..8abfb60 100644 --- a/framework/tests/json_results_update_tests.py +++ b/framework/tests/json_results_update_tests.py @@ -38,24 +38,13 @@ from framework import backends, results # protected members, or because of nose requirements, like long lines # pylint: disable=protected-access,invalid-name,line-too-long -_SAVED_COMPRESSION = os.environ.get('PIGLIT_COMPRESSON') - def setup_module(): - # Set the compression mode to a controlled value (no compression), to - # ensure that we're not getting unexpected file extensions. This means that - # the default can be changed, or environment variables set without - # affecting unit tests - # We set PIGLIT_COMPRESSION because it is the first value to checked when - # setting a compressor - os.environ['PIGLIT_COMPRESSION'] = 'none' + utils.set_compression('none') def teardown_module(): - if _SAVED_COMPRESSION is not None: - os.environ['PIGLIT_COMPRESSION'] = _SAVED_COMPRESSION - else: - del os.environ['PIGLIT_COMPRESSION'] + utils.unset_compression() class TestV0toV1(object): diff --git a/framework/tests/json_tests.py b/framework/tests/json_tests.py index 9c985ab..7819ca6 100644 --- a/framework/tests/json_tests.py +++ b/framework/tests/json_tests.py @@ -42,24 +42,13 @@ from framework.programs.run import _create_metadata # pylint: disable=invalid-name -_SAVED_COMPRESSION = os.environ.get('PIGLIT_COMPRESSON') - def setup_module(): - # Set the compression mode to a controlled value (no compression), to - # ensure that we're not getting unexpected file extensions. This means that - # the default can be changed, or environment variables set without - # affecting unit tests - # We set PIGLIT_COMPRESSION because it is the first value to checked when - # setting a compressor - os.environ['PIGLIT_COMPRESSION'] = 'none' + utils.set_compression('none') def teardown_module(): - if _SAVED_COMPRESSION is not None: - os.environ['PIGLIT_COMPRESSION'] = _SAVED_COMPRESSION - else: - del os.environ['PIGLIT_COMPRESSION'] + utils.unset_compression() # Helpers diff --git a/framework/tests/junit_backends_tests.py b/framework/tests/junit_backends_tests.py index df70ada..0be7383 100644 --- a/framework/tests/junit_backends_tests.py +++ b/framework/tests/junit_backends_tests.py @@ -53,24 +53,13 @@ _XML = """\ </testsuites> """ -_SAVED_COMPRESSION = os.environ.get('PIGLIT_COMPRESSON') - def setup_module(): - # Set the compression mode to a controlled value (no compression), to - # ensure that we're not getting unexpected file extensions. This means that - # the default can be changed, or environment variables set without - # affecting unit tests - # We set PIGLIT_COMPRESSION because it is the first value to checked when - # setting a compressor - os.environ['PIGLIT_COMPRESSION'] = 'none' + utils.set_compression('none') def teardown_module(): - if _SAVED_COMPRESSION is not None: - os.environ['PIGLIT_COMPRESSION'] = _SAVED_COMPRESSION - else: - del os.environ['PIGLIT_COMPRESSION'] + utils.unset_compression() class TestJunitNoTests(utils.StaticDirectory): diff --git a/framework/tests/utils.py b/framework/tests/utils.py index f91d87a..55d2b6e 100644 --- a/framework/tests/utils.py +++ b/framework/tests/utils.py @@ -42,7 +42,6 @@ from nose.plugins.skip import SkipTest from framework import test, backends, results, core - __all__ = [ 'tempfile', 'resultfile', @@ -81,6 +80,8 @@ JSON_DATA = { }) } +_SAVED_COMPRESSION = os.environ.get('PIGLIT_COMPRESSION') + class TestFailure(AssertionError): pass @@ -453,3 +454,27 @@ def set_piglit_conf(*values): return _inner return _decorator + + +def set_compression(mode): + """lock piglit compression mode to specifed value. + + Meant to be called from setup_module function. + + """ + # The implimentation details of this is that the environment value is the + # first value looked at for setting compression, so if it's set all other + # values will be ignored. + os.environ['PIGLIT_COMPRESSION'] = mode + + +def unset_compression(): + """Restore compression to the origonal value. + + Counterpart to set_compression. Should be called from teardown_module. + + """ + if _SAVED_COMPRESSION is not None: + os.environ['PIGLIT_COMPRESSION'] = _SAVED_COMPRESSION + else: + del os.environ['PIGLIT_COMPRESSION'] -- 2.4.5 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
