[Piglit] [PATCH 6/7] Remove GleanTest framework.

Fabian Bieler fabianbieler at fastmail.fm
Sat Dec 9 12:52:32 UTC 2017


---
 framework/profile.py                       |  14 +---
 framework/programs/print_commands.py       |   8 +-
 framework/test/__init__.py                 |   1 -
 framework/test/gleantest.py                |  77 ------------------
 unittests/framework/test/test_gleantest.py | 122 -----------------------------
 unittests/framework/test_profile.py        |  12 ---
 6 files changed, 6 insertions(+), 228 deletions(-)
 delete mode 100644 framework/test/gleantest.py
 delete mode 100644 unittests/framework/test/test_gleantest.py

diff --git a/framework/profile.py b/framework/profile.py
index a19b4d2..d77ac09 100644
--- a/framework/profile.py
+++ b/framework/profile.py
@@ -219,17 +219,11 @@ class TestDict(collections.MutableMapping):
             kwargs -- Any additional args will be passed directly to the test
                       constructor as keyword args.
             """
-            # If there is no name, then either
-            # a) join the arguments list together to make the name
-            # b) use the argument string as the name
-            # The former is used by the Piglit{G,C}LTest classes, the latter by
-            # GleanTest
+            # If there is no name, join the arguments list together to make
+            # the name
             if not name:
-                if isinstance(args, list):
-                    name = ' '.join(args)
-                else:
-                    assert isinstance(args, six.string_types)
-                    name = args
+                assert isinstance(args, list) # //
+                name = ' '.join(args)
 
             assert isinstance(name, six.string_types)
             lgroup = grouptools.join(group, name)
diff --git a/framework/programs/print_commands.py b/framework/programs/print_commands.py
index 8accb2b..511ccdb 100644
--- a/framework/programs/print_commands.py
+++ b/framework/programs/print_commands.py
@@ -36,21 +36,17 @@ import six
 
 from . import parsers
 from framework import options, profile, exceptions
-from framework.test import Test, GleanTest
+from framework.test import Test
 
 
 def get_command(test, piglit_dir):
     """Get just the name of the command with a path relative to bin."""
-    command = ''
-    if isinstance(test, GleanTest):
-        for var, val in test.env.items():
-            command += "{}='{}'".format(var, val)
 
     # Make the test command relative to the piglit_dir
     test_command = test.command[:]
     test_command[0] = os.path.relpath(test_command[0], piglit_dir)
 
-    command += ' '.join(test_command)
+    command = ' '.join(test_command)
     return command
 
 
diff --git a/framework/test/__init__.py b/framework/test/__init__.py
index edb4d3e..d305929 100644
--- a/framework/test/__init__.py
+++ b/framework/test/__init__.py
@@ -29,7 +29,6 @@ from __future__ import (
 )
 from .base import *
 from .piglit_test import *
-from .gleantest import *
 from .glsl_parser_test import *
 from .shader_test import *
 from .gtest import *
diff --git a/framework/test/gleantest.py b/framework/test/gleantest.py
deleted file mode 100644
index 0220c1a..0000000
--- a/framework/test/gleantest.py
+++ /dev/null
@@ -1,77 +0,0 @@
-# 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:
-#
-# 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 AUTHOR(S) 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.
-
-""" Glean support """
-
-from __future__ import (
-    absolute_import, division, print_function, unicode_literals
-)
-import os
-
-from framework import options
-from .base import Test, TestIsSkip
-from .piglit_test import TEST_BIN_DIR
-
-__all__ = [
-    'GleanTest',
-]
-
-
-# GleanTest: Execute a sub-test of Glean
-class GleanTest(Test):
-    """ Execute a glean subtest
-
-    This class descendes from exectest.Test, and provides methods for running
-    glean tests.
-
-    """
-    GLOBAL_PARAMS = []
-    _EXECUTABLE = os.path.join(TEST_BIN_DIR, "glean")
-
-    def __init__(self, name, **kwargs):
-        super(GleanTest, self).__init__(
-            [self._EXECUTABLE, "-o", "-v", "-v", "-v", "-t", "+" + name],
-            **kwargs)
-
-    @Test.command.getter
-    def command(self):
-        return super(GleanTest, self).command + self.GLOBAL_PARAMS
-
-    @command.setter
-    def command(self, new):
-        self._command = [n for n in new if not n in self.GLOBAL_PARAMS]
-
-    def interpret_result(self):
-        if self.result.returncode != 0 or 'FAIL' in self.result.out:
-            self.result.result = 'fail'
-        else:
-            self.result.result = 'pass'
-        super(GleanTest, self).interpret_result()
-
-    def is_skip(self):
-        # Glean tests require glx
-        if options.OPTIONS.env['PIGLIT_PLATFORM'] not in ['glx', 'mixed_glx_egl']:
-            raise TestIsSkip(
-                'Glean tests require platform to support glx, '
-                'but the platform is "{}"'.format(
-                    options.OPTIONS.env['PIGLIT_PLATFORM']))
-        super(GleanTest, self).is_skip()
diff --git a/unittests/framework/test/test_gleantest.py b/unittests/framework/test/test_gleantest.py
deleted file mode 100644
index 3ff2b8c..0000000
--- a/unittests/framework/test/test_gleantest.py
+++ /dev/null
@@ -1,122 +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.
-
-""" Tests for the glean class. Requires Nose """
-
-from __future__ import (
-    absolute_import, division, print_function, unicode_literals
-)
-
-import pytest
-
-from framework.options import _Options as Options
-from framework import status
-from framework.test import GleanTest
-from framework.test.base import TestIsSkip as _TestIsSkip  # make py.test happy
-
-# pylint: disable=invalid-name
-# pylint: disable=protected-access
-
-
-def test_GLOBAL_PARAMS_assignment():
-    """test.gleantest.GleanTest: GLOBAL_PARAMS apply to instances created
-    after GLABL_PARAMS is set.
-
-    Specifically this tests for a bug where GLOBAL_PARAMS only affected
-    instances of GleanTest created after GLOBAL_PARAMS were set, so changing the
-    GLOBAL_PARAMS value had unexpected results.
-
-    If this test passes the GleanTest.command attributes will be the same in
-    the instance created before the GLOBAL_PARAMS assignment and the one created
-    after. A failure means the that GLOBAL_PARAMS are not being added to tests
-    initialized before it is set.
-
-    """
-    test1 = GleanTest('basic')
-    GleanTest.GLOBAL_PARAMS = ['--quick']
-    test2 = GleanTest('basic')
-    assert test1.command == test2.command
-    assert '--quick' in test1.command
-
-
-def test_global_params_setter():
-    """Values from self.GLOBAL_ARGS are not pushed into self._command by a
-    setter.
-    """
-    test = GleanTest('basic')
-    GleanTest.GLOBAL_PARAMS = ['--quick']
-    test.command += '-foo'
-    assert '--quick' not in test._command
-
-
-
-def test_bad_returncode():
-    """test.gleantest.GleanTest: If returncode is 0 the result is 'fail'.
-
-    Currently glean returns 127 if piglit can't find it's libs (LD_LIBRARY_PATH
-    isn't set properly), and then marks such tests as pass, when they obviously
-    are not.
-
-    """
-    test = GleanTest('basic')
-    test.result.returncode = 1
-    test.interpret_result()
-    assert test.result.result == 'fail'
-
-
-def test_is_skip_not_glx(mocker):
-    """test.gleantest.GleanTest.is_skip: Skips when platform isn't glx."""
-    opts = mocker.patch('framework.test.gleantest.options.OPTIONS',
-                        new_callable=Options)
-    opts.env['PIGLIT_PLATFORM'] = 'gbm'
-
-    test = GleanTest('foo')
-    with pytest.raises(_TestIsSkip):
-        test.is_skip()
-
-
-def test_is_skip_glx(mocker):
-    """test.gleantest.GleanTest.is_skip: Does not skip when platform is glx."""
-    opts = mocker.patch('framework.test.gleantest.options.OPTIONS',
-                        new_callable=Options)
-    opts.env['PIGLIT_PLATFORM'] = 'glx'
-
-    test = GleanTest('foo')
-    test.is_skip()
-
-
-def test_is_skip_glx_egl(mocker):
-    """test.gleantest.GleanTest.is_skip: Does not skip when platform is
-    mixed_glx_egl."""
-    opts = mocker.patch('framework.test.gleantest.options.OPTIONS',
-                        new_callable=Options)
-    opts.env['PIGLIT_PLATFORM'] = 'mixed_glx_egl'
-
-    test = GleanTest('foo')
-    test.is_skip()
-
-
-def test_crash():
-    """test.gleantest.GleanTest.interpret_result: Crashes are set to crash"""
-    test = GleanTest('foo')
-    test.result.returncode = -5
-    test.interpret_result()
-
-    assert test.result.result is status.CRASH
diff --git a/unittests/framework/test_profile.py b/unittests/framework/test_profile.py
index 99403cc..d86db1b 100644
--- a/unittests/framework/test_profile.py
+++ b/unittests/framework/test_profile.py
@@ -30,7 +30,6 @@ import six
 from framework import exceptions
 from framework import grouptools
 from framework import profile
-from framework.test.gleantest import GleanTest
 from . import utils
 
 # pylint: disable=invalid-name,no-self-use,protected-access
@@ -255,17 +254,6 @@ class TestTestDict(object):
             test = inst[grouptools.join('foo', 'a')]
             assert test.run_concurrent is False
 
-        def test_name_as_str(self, inst):
-            """if args is a string it is not joined.
-
-            This is a "feature" of glean, and no longer needs to be protected
-            whenever glean dies.
-            """
-            with inst.group_manager(GleanTest, 'foo') as g:
-                g('abc')
-
-            assert grouptools.join('foo', 'abc') in inst
-
 
 class TestRegexFilter(object):
     """Tests for the RegexFilter class."""
-- 
2.7.4



More information about the Piglit mailing list