summaryrefslogtreecommitdiff
path: root/unittests
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2016-07-26 14:14:42 -0700
committerDylan Baker <dylan@pnwbakers.com>2016-08-05 10:45:04 -0700
commit002a98f3a8c4f67c5d17e68052035d67c80e0b82 (patch)
tree47827683e031489446161960bc26af02e58f33a9 /unittests
parent828230370228dcced5a42593d74fb4d2cfe4ae46 (diff)
unittests: delete run_parser_tests
These tests weren't good tests at all, they didn't test useful functionality. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
Diffstat (limited to 'unittests')
-rw-r--r--unittests/run_parser_tests.py264
1 files changed, 0 insertions, 264 deletions
diff --git a/unittests/run_parser_tests.py b/unittests/run_parser_tests.py
deleted file mode 100644
index 9741fac45..000000000
--- a/unittests/run_parser_tests.py
+++ /dev/null
@@ -1,264 +0,0 @@
-# Copyright (c) 2014 Intel Corporation
-
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-
-""" Module of tests for the run commandline parser """
-
-from __future__ import (
- absolute_import, division, print_function, unicode_literals
-)
-import sys
-import os
-import shutil
-
-import nose.tools as nt
-
-from framework import core, exceptions
-from . import utils
-import framework.programs.run as run
-
-
-class TestWithEnvClean(object):
- """ Class that does cleanup with saved state
-
- This could be done with test fixtures, but this should be cleaner in the
- specific case of cleaning up environment variables
-
- Nose will run a method (bound or unbound) at the start of the test called
- setup() and one at the end called teardown(), we have added a teardown
- method.
-
- Using this gives us the assurance that we're not relying on settings from
- other tests, making ours pass or fail, and that os.environ is the same
- going in as it is going out.
-
- This is modeled after Go's defer keyword.
-
- """
- def __init__(self):
- self._saved = set()
- self._teardown_calls = []
-
- def add_teardown(self, var, restore=True):
- """ Add os.environ values to remove in teardown """
- if var in os.environ:
- self._saved.add((var, os.environ.get(var), restore))
- del os.environ[var]
-
- def defer(self, func, *args):
- """ Add a function (with arguments) to be run during cleanup """
- self._teardown_calls.append((func, args))
-
- def teardown(self):
- """ Teardown the test
-
- Restore any variables that were unset at the beginning of the test, and
- run any deferred methods.
-
- """
- for key, value, restore in self._saved:
- # If value is None the value was unset previously, put it back
- if value is None:
- del os.environ[key]
- elif restore:
- os.environ[key] = value
-
- # Teardown calls is a FIFO stack, the deferred calls must be run in
- # reversed order to make any sense
- for call, args in reversed(self._teardown_calls):
- call(*args)
-
-
-class _Helpers(TestWithEnvClean):
- """ Some helpers to be shared between tests """
- def _unset_config(self):
- """ Ensure that no config files are being accidentally loaded """
- self.add_teardown('HOME')
- self.add_teardown('XDG_CONFIG_HOME')
-
- def _move_piglit_conf(self):
- """ Move piglit.conf from local and from piglit root
-
- They are moved and put back so they aren't accidentally loaded
-
- """
- if os.path.exists('piglit.conf'):
- shutil.move('piglit.conf', 'piglit.conf.restore')
- self.defer(shutil.move, 'piglit.conf.restore', 'piglit.conf')
-
- root = os.path.join(run.__file__, '..', '..', 'piglit.conf')
- if os.path.exists(root):
- shutil.move(root, root + '.restore')
- self.defer(shutil.move, root + '.restore', root)
-
- def setup(self):
- # Set core.PIGLIT_CONFIG back to pristine between tests
- core.PIGLIT_CONFIG = core.PiglitConfig(allow_no_value=True)
-
-
-class TestBackend(_Helpers):
- """ Test piglit run -b/--backend option """
- _CONF = '[core]\nbackend=junit'
-
- def test_default(self):
- """ run parser: backend final fallback path """
- self._unset_config()
- self._move_piglit_conf()
-
- args = run._run_parser(['quick.py', 'foo'])
- nt.assert_equal(args.backend, 'json')
-
- def test_option_default(self):
- """ Run parser: backend replaces default """
- args = run._run_parser(['-b', 'json', 'quick.py', 'foo'])
- nt.assert_equal(args.backend, 'json')
-
- def test_option_conf(self):
- """ Run parser: backend option replaces conf """
- with utils.nose.tempdir() as tdir:
- os.environ['XDG_CONFIG_HOME'] = tdir
- with open(os.path.join(tdir, 'piglit.conf'), 'w') as f:
- f.write(self._CONF)
-
- args = run._run_parser(['-b', 'json', 'quick.py', 'foo'])
- nt.assert_equal(args.backend, 'json')
-
- def test_conf_default(self):
- """ Run parser platform: conf is used as a default when applicable """
- self._unset_config()
- self._move_piglit_conf()
-
- with utils.nose.tempdir() as tdir:
- os.environ['XDG_CONFIG_HOME'] = tdir
- with open(os.path.join(tdir, 'piglit.conf'), 'w') as f:
- f.write(self._CONF)
-
- args = run._run_parser(['quick.py', 'foo'])
- nt.assert_equal(args.backend, 'junit')
-
- @nt.raises(exceptions.PiglitFatalError)
- def test_bad_value_in_conf(self):
- """ run parser: an error is raised when the platform in conf is bad """
- self._unset_config()
- self._move_piglit_conf()
-
- # This has side effects, it shouldn't effect anything in this module, but
- # it may cause later problems. But without this we get ugly error spew
- # from this test.
- sys.stderr = open(os.devnull, 'w')
-
- with utils.nose.tempdir() as tdir:
- with open(os.path.join(tdir, 'piglit.conf'), 'w') as f:
- f.write('[core]\nbackend=foobar')
-
- run._run_parser(['-f', os.path.join(tdir, 'piglit.conf'),
- 'quick.py', 'foo'])
-
-
-class TestPlatform(_Helpers):
- """ Test piglitrun -p/--platform options """
- _CONF = '[core]\nplatform=gbm'
-
- def __set_env(self):
- """ Set PIGLIT_PLATFORM """
- self.add_teardown('PIGLIT_PLATFORM')
- os.environ['PIGLIT_PLATFORM'] = 'glx'
-
- def test_default(self):
- """ run parser: platform final fallback path """
- self._unset_config()
- self._move_piglit_conf()
-
- args = run._run_parser(['quick.py', 'foo'])
- nt.assert_equal(args.platform, 'mixed_glx_egl')
-
- def test_option_default(self):
- """ Run parser: platform replaces default """
- args = run._run_parser(['-p', 'x11_egl', 'quick.py', 'foo'])
- nt.assert_equal(args.platform, 'x11_egl')
-
- def test_option_env(self):
- """ Run parser: platform option replaces env """
- self.__set_env()
-
- args = run._run_parser(['-p', 'x11_egl', 'quick.py', 'foo'])
- nt.assert_equal(args.platform, 'x11_egl')
-
- def test_option_conf(self):
- """ Run parser: platform option replaces conf """
- with utils.nose.tempdir() as tdir:
- os.environ['XDG_CONFIG_HOME'] = tdir
- with open(os.path.join(tdir, 'piglit.conf'), 'w') as f:
- f.write(self._CONF)
-
- args = run._run_parser(['-p', 'x11_egl', 'quick.py', 'foo'])
- nt.assert_equal(args.platform, 'x11_egl')
-
- def test_env_no_options(self):
- """ Run parser: When no platform is passed env overrides default
- """
- self.__set_env()
-
- args = run._run_parser(['quick.py', 'foo'])
- nt.assert_equal(args.platform, 'glx')
-
- def test_conf_default(self):
- """ Run parser platform: conf is used as a default when applicable """
- self._unset_config()
- self._move_piglit_conf()
-
- with utils.nose.tempdir() as tdir:
- os.environ['XDG_CONFIG_HOME'] = tdir
- with open(os.path.join(tdir, 'piglit.conf'), 'w') as f:
- f.write(self._CONF)
-
- args = run._run_parser(['quick.py', 'foo'])
- nt.assert_equal(args.platform, 'gbm')
-
- def test_env_conf(self):
- """ Run parser: env overwrides a conf value """
- self._unset_config()
- self._move_piglit_conf()
- self.__set_env()
-
- with utils.nose.tempdir() as tdir:
- os.environ['XDG_CONFIG_HOME'] = tdir
- with open(os.path.join(tdir, 'piglit.conf'), 'w') as f:
- f.write(self._CONF)
-
- args = run._run_parser(['quick.py', 'foo'])
- nt.assert_equal(args.platform, 'glx')
-
- @nt.raises(exceptions.PiglitFatalError)
- def test_bad_value_in_conf(self):
- """ run parser: an error is raised when the platform in conf is bad """
- self._unset_config()
- self._move_piglit_conf()
-
- # This has side effects, it shouldn't effect anything in this module, but
- # it may cause later problems. But without this we get ugly error spew
- # from this test.
- sys.stderr = open(os.devnull, 'w')
-
- with utils.nose.tempdir() as tdir:
- with open(os.path.join(tdir, 'piglit.conf'), 'w') as f:
- f.write('[core]\nplatform=foobar')
-
- run._run_parser(['-f', os.path.join(tdir, 'piglit.conf'),
- 'quick.py', 'foo'])