[Piglit] [Patch v2 09/13] framework: Merge glsl_parser_test into exectest
Dylan Baker
baker.dylan.c at gmail.com
Tue May 13 11:38:42 PDT 2014
Merging the glsl_parser_test module into exectest has all the same
advantages as merging the gleantest module did. Fewer imports across the
board, fewer namespaces to deal with, and clearer class relationships.
Signed-off-by: Dylan Baker <baker.dylan.c at gmail.com>
---
framework/exectest.py | 140 +++++++++++++++++++++++++-
framework/glsl_parser_test.py | 161 ------------------------------
framework/tests/dmesg_tests.py | 9 +-
framework/tests/exectest_test.py | 140 ++++++++++++++++++++++++--
framework/tests/glsl_parser_test_tests.py | 146 ---------------------------
tests/all.py | 4 +-
tests/gpu.py | 2 +-
7 files changed, 278 insertions(+), 324 deletions(-)
delete mode 100644 framework/glsl_parser_test.py
delete mode 100644 framework/tests/glsl_parser_test_tests.py
diff --git a/framework/exectest.py b/framework/exectest.py
index a185458..30bd29d 100644
--- a/framework/exectest.py
+++ b/framework/exectest.py
@@ -22,18 +22,25 @@
import errno
import os
+import os.path as path
import subprocess
import shlex
import time
import sys
import traceback
-
+import ConfigParser
+import re
+from cStringIO import StringIO
from .core import TestResult, Environment
__all__ = ['Test',
'PiglitTest',
'GleanTest',
+ 'GLSLParserTest',
+ 'GLSLParserException',
+ 'add_glsl_parser_test',
+ 'import_glsl_parser_tests',
'TEST_BIN_DIR']
# Platform global variables
@@ -313,3 +320,134 @@ class GleanTest(Test):
self.result['result'] = 'fail'
else:
self.result['result'] = 'pass'
+
+
+class GLSLParserTest(PiglitTest):
+ """ Read the options in a glsl parser test and create a Test object
+
+ Specifically it is necessary to parse a glsl_parser_test to get information
+ about it before actually creating a PiglitTest. Even though this could
+ be done with a funciton wrapper, making it a distinct class makes it easier
+ to sort in the profile.
+
+ Arguments:
+ filepath -- the path to a glsl_parser_test which must end in .frag, .vert,
+ or .geom
+
+ """
+ def __init__(self, filepath):
+ # Text of config section.
+ text_io = StringIO()
+ text_io.write('[config]\n')
+
+ os.stat(filepath)
+
+ # Parse the config file and get the config section, then write this
+ # section to a StringIO and pass that to ConfigParser
+ with open(filepath, 'r') as testfile:
+
+ # Create a generator that iterates over the lines in the test file.
+ # This allows us to run the loop until we find the header, stop and
+ # then run again looking for the config sections. This reduces if
+ # checking substantially.
+ lines = (l for l in testfile)
+
+ is_header = re.compile(r'\s*(//|/\*|\*)\s*\[config\]')
+ for line in lines:
+ if is_header.match(line):
+ break
+ else:
+ raise GLSLParserException("No [config] section found!")
+
+ is_header = re.compile(r'\s*(//|/\*|\*)\s*\[end config\]')
+ for line in lines:
+ # Remove all leading whitespace
+ line = line.strip()
+
+ # If strip renendered '' that means we had a blank newline,
+ # just go on
+ if line == '':
+ continue
+ # If we get to the end of the config break
+ elif is_header.match(line):
+ break
+ # If the starting character is a two character comment
+ # remove that and any newly revealed whitespace, then write
+ # it into the StringIO
+ elif line[:2] in ['//', '/*', '*/']:
+ text_io.write(line[2:].lstrip() + '\n')
+ # If we have just * then we're in the middle of a C style
+ # comment, do like above
+ elif line[:1] == '*':
+ text_io.write(line[1:].lstrip() + '\n')
+ else:
+ raise GLSLParserException(
+ "The config section is malformed."
+ "Check file {0}".format(filepath))
+ else:
+ raise GLSLParserException("No [end config] section found!")
+
+ config = ConfigParser.SafeConfigParser(
+ defaults={'require_extensions': '', 'check_link': 'false'})
+
+ # Verify that the config was valid
+ text = text_io.getvalue()
+ text_io.close()
+ config.readfp(StringIO(text))
+
+ for opt in ['expect_result', 'glsl_version']:
+ if not config.has_option('config', opt):
+ raise GLSLParserException("Missing required section {} "
+ "from config".format(opt))
+
+ # Create the command and pass it into a PiglitTest()
+ command = [path.join(TEST_BIN_DIR, 'glslparsertest'),
+ filepath,
+ config.get('config', 'expect_result'),
+ config.get('config', 'glsl_version')]
+ if config.get('config', 'check_link').lower() == 'true':
+ command.append('--check-link')
+ command.extend(config.get('config', 'require_extensions').split())
+
+ super(GLSLParserTest, self).__init__(command, run_concurrent=True)
+
+
+class GLSLParserException(Exception):
+ pass
+
+
+def add_glsl_parser_test(group, filepath, test_name):
+ """Add an instance of GLSLParserTest to the given group."""
+ group[test_name] = GLSLParserTest(filepath)
+
+
+def import_glsl_parser_tests(group, basepath, subdirectories):
+ """
+ Recursively register each shader source file in the given
+ ``subdirectories`` as a GLSLParserTest .
+
+ :subdirectories: A list of subdirectories under the basepath.
+
+ The name with which each test is registered into the given group is
+ the shader source file's path relative to ``basepath``. For example,
+ if::
+ import_glsl_parser_tests(group, 'a', ['b1', 'b2'])
+ is called and the file 'a/b1/c/d.frag' exists, then the test is
+ registered into the group as ``group['b1/c/d.frag']``.
+ """
+ for dirs in subdirectories:
+ walk_dir = path.join(basepath, dirs)
+ for (dirpath, _, filenames) in os.walk(walk_dir):
+ # Ignore dirnames.
+ for f in filenames:
+ # Add f as a test if its file extension is good.
+ ext = f.rsplit('.')[-1]
+ if ext in ['vert', 'geom', 'frag', 'comp']:
+ filepath = path.join(dirpath, f)
+ # testname := filepath relative to
+ # basepath.
+ testname = os.path.relpath(filepath, basepath)
+ if os.path.sep != '/':
+ testname = testname.replace(os.path.sep, '/', -1)
+ assert isinstance(testname, basestring)
+ add_glsl_parser_test(group, filepath, testname)
diff --git a/framework/glsl_parser_test.py b/framework/glsl_parser_test.py
deleted file mode 100644
index 4c1da49..0000000
--- a/framework/glsl_parser_test.py
+++ /dev/null
@@ -1,161 +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.
-
-""" This module enables the running of GLSL parser tests. """
-
-import ConfigParser
-import os
-import os.path as path
-import re
-from cStringIO import StringIO
-
-from .exectest import PiglitTest, TEST_BIN_DIR
-
-
-def add_glsl_parser_test(group, filepath, test_name):
- """Add an instance of GLSLParserTest to the given group."""
- group[test_name] = GLSLParserTest(filepath)
-
-
-def import_glsl_parser_tests(group, basepath, subdirectories):
- """
- Recursively register each shader source file in the given
- ``subdirectories`` as a GLSLParserTest .
-
- :subdirectories: A list of subdirectories under the basepath.
-
- The name with which each test is registered into the given group is
- the shader source file's path relative to ``basepath``. For example,
- if::
- import_glsl_parser_tests(group, 'a', ['b1', 'b2'])
- is called and the file 'a/b1/c/d.frag' exists, then the test is
- registered into the group as ``group['b1/c/d.frag']``.
- """
- for d in subdirectories:
- walk_dir = path.join(basepath, d)
- for (dirpath, dirnames, filenames) in os.walk(walk_dir):
- # Ignore dirnames.
- for f in filenames:
- # Add f as a test if its file extension is good.
- ext = f.rsplit('.')[-1]
- if ext in ['vert', 'geom', 'frag', 'comp']:
- filepath = path.join(dirpath, f)
- # testname := filepath relative to
- # basepath.
- testname = os.path.relpath(filepath, basepath)
- if os.path.sep != '/':
- testname = testname.replace(os.path.sep, '/', -1)
- assert isinstance(testname, basestring)
- add_glsl_parser_test(group, filepath, testname)
-
-
-class GLSLParserTest(PiglitTest):
- """ Read the options in a glsl parser test and create a Test object
-
- Specifically it is necessary to parse a glsl_parser_test to get information
- about it before actually creating a PiglitTest. Even though this could
- be done with a funciton wrapper, making it a distinct class makes it easier
- to sort in the profile.
-
- Arguments:
- filepath -- the path to a glsl_parser_test which must end in .frag, .vert,
- or .geom
-
- """
- def __init__(self, filepath):
- # Text of config section.
- text_io = StringIO()
- text_io.write('[config]\n')
-
- os.stat(filepath)
-
- # Parse the config file and get the config section, then write this
- # section to a StringIO and pass that to ConfigParser
- with open(filepath, 'r') as testfile:
-
- # Create a generator that iterates over the lines in the test file.
- # This allows us to run the loop until we find the header, stop and
- # then run again looking for the config sections. This reduces if
- # checking substantially.
- lines = (l for l in testfile)
-
- is_header = re.compile(r'\s*(//|/\*|\*)\s*\[config\]')
- for line in lines:
- if is_header.match(line):
- break
- else:
- raise GLSLParserException("No [config] section found!")
-
- is_header = re.compile(r'\s*(//|/\*|\*)\s*\[end config\]')
- for line in lines:
- # Remove all leading whitespace
- line = line.strip()
-
- # If strip renendered '' that means we had a blank newline,
- # just go on
- if line == '':
- continue
- # If we get to the end of the config break
- elif is_header.match(line):
- break
- # If the starting character is a two character comment
- # remove that and any newly revealed whitespace, then write
- # it into the StringIO
- elif line[:2] in ['//', '/*', '*/']:
- text_io.write(line[2:].lstrip() + '\n')
- # If we have just * then we're in the middle of a C style
- # comment, do like above
- elif line[:1] == '*':
- text_io.write(line[1:].lstrip() + '\n')
- else:
- raise GLSLParserException(
- "The config section is malformed."
- "Check file {0}".format(filepath))
- else:
- raise GLSLParserException("No [end config] section found!")
-
- config = ConfigParser.SafeConfigParser(
- defaults={'require_extensions': '', 'check_link': 'false'})
-
- # Verify that the config was valid
- text = text_io.getvalue()
- text_io.close()
- config.readfp(StringIO(text))
-
- for opt in ['expect_result', 'glsl_version']:
- if not config.has_option('config', opt):
- raise GLSLParserException("Missing required section {} "
- "from config".format(opt))
-
- # Create the command and pass it into a PiglitTest()
- command = [path.join(TEST_BIN_DIR, 'glslparsertest'),
- filepath,
- config.get('config', 'expect_result'),
- config.get('config', 'glsl_version')]
- if config.get('config', 'check_link').lower() == 'true':
- command.append('--check-link')
- command.extend(config.get('config', 'require_extensions').split())
-
- super(GLSLParserTest, self).__init__(command, run_concurrent=True)
-
-
-class GLSLParserException(Exception):
- pass
diff --git a/framework/tests/dmesg_tests.py b/framework/tests/dmesg_tests.py
index 8c2b20b..8b9c0cc 100644
--- a/framework/tests/dmesg_tests.py
+++ b/framework/tests/dmesg_tests.py
@@ -28,9 +28,8 @@ import nose.tools as nt
from nose.plugins.skip import SkipTest
from framework.dmesg import DummyDmesg, LinuxDmesg, get_dmesg
from framework.core import TestResult, PiglitJSONEncoder
-from framework.exectest import PiglitTest, GleanTest
+import framework.exectest as exectest
from framework.shader_test import ShaderTest
-from framework.glsl_parser_test import GLSLParserTest
def _get_dmesg():
@@ -264,11 +263,11 @@ def test_json_serialize_updated_result():
def test_testclasses_dmesg():
""" Generator that creates tests for """
- lists = [(PiglitTest, ['attribs', '-auto', '-fbo'], 'PiglitTest'),
- (GleanTest, 'basic', "GleanTest"),
+ lists = [(exectest.PiglitTest, ['attribs', '-auto', '-fbo'], 'PiglitTest'),
+ (exectest.GleanTest, 'basic', "GleanTest"),
(ShaderTest, 'tests/shaders/loopfunc.shader_test',
'ShaderTest'),
- (GLSLParserTest, 'tests/glslparsertest/shaders/main1.vert',
+ (exectest.GLSLParserTest, 'tests/glslparsertest/shaders/main1.vert',
'GLSLParserTest')]
yieldable = check_classes_dmesg
diff --git a/framework/tests/exectest_test.py b/framework/tests/exectest_test.py
index 7c725e5..b68eb21 100644
--- a/framework/tests/exectest_test.py
+++ b/framework/tests/exectest_test.py
@@ -22,23 +22,25 @@
from __future__ import print_function
import os
+import nose.tools as nt
from nose.plugins.skip import SkipTest
-from framework.exectest import PiglitTest, Test, GleanTest
+import framework.tests.utils as utils
+import framework.exectest as exectest
def test_initialize_test():
""" Test initializes """
- Test('/bin/true')
+ exectest.Test('/bin/true')
def test_initialize_piglittest():
""" Test that PiglitTest initializes correctly """
- PiglitTest('/bin/true')
+ exectest.PiglitTest('/bin/true')
def test_initialize_gleantest():
""" Test that GleanTest initilizes """
- test = GleanTest('name')
+ test = exectest.GleanTest('name')
assert test
@@ -55,9 +57,9 @@ def test_global_params_assignment():
initialized before it is set.
"""
- test1 = GleanTest('basic')
- GleanTest.GLOBAL_PARAMS = ['--quick']
- test2 = GleanTest('basic')
+ test1 = exectest.GleanTest('basic')
+ exectest.GleanTest.GLOBAL_PARAMS = ['--quick']
+ test2 = exectest.GleanTest('basic')
assert test1.command == test2.command
@@ -76,6 +78,128 @@ def test_bad_returncode():
# LD_LIBRARY_PATH
os.environ = {}
- test = GleanTest('basic')
+ test = exectest.GleanTest('basic')
test.run()
assert test.result['result'] == 'fail', "Result should have been fail"
+
+
+def _check_config(content):
+ """ This is the test that actually checks the glsl config section """
+ with utils.with_tempfile(content) as tfile:
+ return exectest.GLSLParserTest(tfile), tfile
+
+
+def test_no_config_start():
+ """ GLSLParserTest requires [config] """
+ content = ('// expect_result: pass\n'
+ '// glsl_version: 1.00\n'
+ '// [end config]\n')
+ with utils.with_tempfile(content) as tfile:
+ with nt.assert_raises(exectest.GLSLParserException) as exc:
+ exectest.GLSLParserTest(tfile)
+ nt.assert_equal(
+ exc.exception, 'No [config] section found!',
+ msg="No config section found, no exception raised")
+
+
+def test_find_config_start():
+ """ GLSLParserTest finds [config] """
+ content = ('// [config]\n'
+ '// glsl_version: 1.00\n'
+ '//\n')
+ with utils.with_tempfile(content) as tfile:
+ with nt.assert_raises(exectest.GLSLParserException) as exc:
+ exectest.GLSLParserTest(tfile)
+ nt.assert_not_equal(
+ exc.exception, 'No [config] section found!',
+ msg="Config section not parsed")
+
+
+def test_no_config_end():
+ """ GLSLParserTest requires [end config] """
+ with utils.with_tempfile('// [config]\n') as tfile:
+ with nt.assert_raises(exectest.GLSLParserException) as exc:
+ exectest.GLSLParserTest(tfile)
+ nt.assert_equal(
+ exc.exception, 'No [end config] section found!',
+ msg="config section not closed, no exception raised")
+
+
+def test_no_expect_result():
+ """ expect_result section is required """
+ content = ('// [config]\n'
+ '// glsl_version: 1.00\n'
+ '//\n')
+ with utils.with_tempfile(content) as tfile:
+ with nt.assert_raises(exectest.GLSLParserException) as exc:
+ exectest.GLSLParserTest(tfile)
+ nt.assert_equal(
+ exc.exception,
+ 'Missing required section expect_result from config',
+ msg="config section not closed, no exception raised")
+
+
+def test_no_glsl_version():
+ """ glsl_version section is required """
+ content = ('//\n'
+ '// expect_result: pass\n'
+ '// [end config]\n')
+ with utils.with_tempfile(content) as tfile:
+ with nt.assert_raises(exectest.GLSLParserException) as exc:
+ exectest.GLSLParserTest(tfile)
+ nt.assert_equal(
+ exc.exception,
+ 'Missing required section glsl_version from config',
+ msg="config section not closed, no exception raised")
+
+
+def test_cpp_comments():
+ """ Parses C++ style comments """
+ content = ('// [config]\n'
+ '// expect_result: pass\n'
+ '// glsl_version: 1.00\n'
+ '// [end config]\n')
+ test, name = _check_config(content)
+
+ nt.assert_equal(test.command, [os.path.join(exectest.TEST_BIN_DIR,
+ 'glslparsertest'),
+ name, 'pass', '1.00'],
+ msg="C++ style comments were not properly parsed")
+
+
+def test_c_comments():
+ """ Parses C style comments """
+ content = ('/*\n'
+ ' * [config]\n'
+ ' * expect_result: pass\n'
+ ' * glsl_version: 1.00\n'
+ ' * [end config]\n'
+ ' */\n')
+ test, name = _check_config(content)
+
+ nt.assert_equal(test.command, [os.path.join(exectest.TEST_BIN_DIR,
+ 'glslparsertest'),
+ name, 'pass', '1.00'],
+ msg="C style comments were not properly parsed")
+
+
+def test_blank_in_config():
+ """ C++ style comments can have uncommented newlines """
+ content = ('// [config]\n'
+ '\n'
+ '// expect_result: pass\n'
+ '// glsl_version: 1.00\n'
+ '// [end config]\n')
+
+ test, name = _check_config(content)
+
+ nt.assert_equal(test.command, [os.path.join(exectest.TEST_BIN_DIR,
+ 'glslparsertest'),
+ name, 'pass', '1.00'],
+ msg="A newline in a C++ style comment was not properly "
+ "parsed.")
+
+
+def test_glslparser_initializer():
+ """ GLSLParserTest initializes """
+ exectest.GLSLParserTest('tests/spec/glsl-es-1.00/compiler/version-macro.frag')
diff --git a/framework/tests/glsl_parser_test_tests.py b/framework/tests/glsl_parser_test_tests.py
deleted file mode 100644
index 5e083b8..0000000
--- a/framework/tests/glsl_parser_test_tests.py
+++ /dev/null
@@ -1,146 +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.
-
-""" Provides tests for the shader_test module """
-
-import os
-import nose.tools as nt
-import framework.glsl_parser_test as glsl
-import framework.tests.utils as utils
-from framework.exectest import TEST_BIN_DIR
-
-
-def _check_config(content):
- """ This is the test that actually checks the glsl config section """
- with utils.with_tempfile(content) as tfile:
- return glsl.GLSLParserTest(tfile), tfile
-
-
-def test_no_config_start():
- """ GLSLParserTest requires [config] """
- content = ('// expect_result: pass\n'
- '// glsl_version: 1.00\n'
- '// [end config]\n')
- with utils.with_tempfile(content) as tfile:
- with nt.assert_raises(glsl.GLSLParserException) as exc:
- glsl.GLSLParserTest(tfile)
- nt.assert_equal(
- exc.exception, 'No [config] section found!',
- msg="No config section found, no exception raised")
-
-
-def test_find_config_start():
- """ GLSLParserTest finds [config] """
- content = ('// [config]\n'
- '// glsl_version: 1.00\n'
- '//\n')
- with utils.with_tempfile(content) as tfile:
- with nt.assert_raises(glsl.GLSLParserException) as exc:
- glsl.GLSLParserTest(tfile)
- nt.assert_not_equal(
- exc.exception, 'No [config] section found!',
- msg="Config section not parsed")
-
-
-def test_no_config_end():
- """ GLSLParserTest requires [end config] """
- with utils.with_tempfile('// [config]\n') as tfile:
- with nt.assert_raises(glsl.GLSLParserException) as exc:
- glsl.GLSLParserTest(tfile)
- nt.assert_equal(
- exc.exception, 'No [end config] section found!',
- msg="config section not closed, no exception raised")
-
-
-def test_no_expect_result():
- """ expect_result section is required """
- content = ('// [config]\n'
- '// glsl_version: 1.00\n'
- '//\n')
- with utils.with_tempfile(content) as tfile:
- with nt.assert_raises(glsl.GLSLParserException) as exc:
- glsl.GLSLParserTest(tfile)
- nt.assert_equal(
- exc.exception,
- 'Missing required section expect_result from config',
- msg="config section not closed, no exception raised")
-
-
-def test_no_glsl_version():
- """ glsl_version section is required """
- content = ('//\n'
- '// expect_result: pass\n'
- '// [end config]\n')
- with utils.with_tempfile(content) as tfile:
- with nt.assert_raises(glsl.GLSLParserException) as exc:
- glsl.GLSLParserTest(tfile)
- nt.assert_equal(
- exc.exception,
- 'Missing required section glsl_version from config',
- msg="config section not closed, no exception raised")
-
-
-def test_cpp_comments():
- """ Parses C++ style comments """
- content = ('// [config]\n'
- '// expect_result: pass\n'
- '// glsl_version: 1.00\n'
- '// [end config]\n')
- test, name = _check_config(content)
-
- nt.assert_equal(test.command, [os.path.join(TEST_BIN_DIR, 'glslparsertest'),
- name, 'pass', '1.00'],
- msg="C++ style comments were not properly parsed")
-
-
-def test_c_comments():
- """ Parses C style comments """
- content = ('/*\n'
- ' * [config]\n'
- ' * expect_result: pass\n'
- ' * glsl_version: 1.00\n'
- ' * [end config]\n'
- ' */\n')
- test, name = _check_config(content)
-
- nt.assert_equal(test.command, [os.path.join(TEST_BIN_DIR, 'glslparsertest'),
- name, 'pass', '1.00'],
- msg="C style comments were not properly parsed")
-
-
-def test_blank_in_config():
- """ C++ style comments can have uncommented newlines """
- content = ('// [config]\n'
- '\n'
- '// expect_result: pass\n'
- '// glsl_version: 1.00\n'
- '// [end config]\n')
-
- test, name = _check_config(content)
-
- nt.assert_equal(test.command, [os.path.join(TEST_BIN_DIR, 'glslparsertest'),
- name, 'pass', '1.00'],
- msg="A newline in a C++ style comment was not properly "
- "parsed.")
-
-
-def test_glslparser_initializer():
- """ GLSLParserTest initializes """
- glsl.GLSLParserTest('tests/spec/glsl-es-1.00/compiler/version-macro.frag')
diff --git a/tests/all.py b/tests/all.py
index 23bf702..2c27809 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -10,8 +10,8 @@ import platform
import shlex
from framework.profile import TestProfile
-from framework.exectest import PiglitTest, GleanTest
-from framework.glsl_parser_test import GLSLParserTest, add_glsl_parser_test, import_glsl_parser_tests
+from framework.exectest import (PiglitTest, GleanTest, add_glsl_parser_test,
+ import_glsl_parser_tests)
from framework.shader_test import add_shader_test_dir
# Path to tests dir, correct even when not running from the top directory.
diff --git a/tests/gpu.py b/tests/gpu.py
index 55ead29..14eaf23 100644
--- a/tests/gpu.py
+++ b/tests/gpu.py
@@ -3,7 +3,7 @@
# quick.tests minus compiler tests.
from tests.quick import profile
-from framework.glsl_parser_test import GLSLParserTest
+from framework.exectest import GLSLParserTest
__all__ = ['profile']
--
2.0.0.rc2
More information about the Piglit
mailing list