From: Dylan Baker
This changes the changes category to include every case were the first
status is not the same as the previous status, including
<-> notrun, even when is skip.
This fixes the failing unit tests from the previous commit.
cc: Michel Dänzer
From: Dylan Baker
This test changes the behavior of the changes group to include enabled
and disabled tests, as well as fixes and regressions.
This adds 3 expected failures to the piglit framework unit tests.
Signed-off-by: Dylan Baker
---
From: Dylan Baker
This changes the changes category to include every case were the first
status is not the same as the previous status, including
<-> notrun, except when is skip.
This fixes the failing unit tests from the previous commit.
v2: - don't include skip <->
From: Dylan Baker
This test changes the behavior of the changes group to include enabled
and disabled tests, as well as fixes and regressions.
This adds 3 expected failures to the piglit framework unit tests.
v2: - dont add test <-> notrun (Ilia)
Signed-off-by: Dylan
From: Dylan Baker
Signed-off-by: Dylan Baker
---
generated_tests/gen_tcs_input_tests.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/generated_tests/gen_tcs_input_tests.py
b/generated_tests/gen_tcs_input_tests.py
From: Dylan Baker
This maintains python 2.x and 3.x compatibility, while still using an
efficient iterator function (unlike range in python 2.x which returns a
list)
Signed-off-by: Dylan Baker
---
generated_tests/gen_tes_input_tests.py | 12
From: Dylan Baker
Signed-off-by: Dylan Baker
---
generated_tests/gen_tcs_input_tests.py | 191 +
1 file changed, 96 insertions(+), 95 deletions(-)
diff --git a/generated_tests/gen_tcs_input_tests.py
From: Dylan Baker
These two generators share a lot of boilerplate, and all of the
interesting logic is contained in the Test class. A little simple
renaming and the generators can be combined, reducing the amount of
boilerplate needed.
Signed-off-by: Dylan Baker
From: Dylan Baker
This gives us a cached template, speeding up regenerating these tests,
which is especially helpful in a CI system like Jenkins.
Signed-off-by: Dylan Baker
---
generated_tests/CMakeLists.txt | 5 +-
From: Dylan Baker
This uses a couple of mixin classes to reduce code duplication. It
splits the identical 'generate' functions out into a mixin, as well as
the 'components' and 'test_data' methods into a second mixin. It then
makes filename a lazy_property, to make even
From: Dylan Baker
Signed-off-by: Dylan Baker
---
generated_tests/gen_tcs_input_tests.py | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/generated_tests/gen_tcs_input_tests.py
From: Dylan Baker
Python 2.x and python 3.x produce different results. This is probably a
difference between the implementations. This result is largely the same
in order of magnitude differences, but the numbers themselves are
sometimes significantly different. This
From: Dylan Baker
This increases the readability of the file by allowing the long test
string to be indented.
Signed-off-by: Dylan Baker
---
generated_tests/gen_tes_input_tests.py | 189 +
1 file changed, 95
From: Dylan Baker
Signed-off-by: Dylan Baker
---
generated_tests/gen_tcs_input_tests.py | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/generated_tests/gen_tcs_input_tests.py
b/generated_tests/gen_tcs_input_tests.py
From: Dylan Baker
one import per line per PEP8, and use the __future__ imports to enforce
python 2.x and python 3.x compatibility.
Signed-off-by: Dylan Baker
---
generated_tests/gen_tes_input_tests.py | 5 -
1 file changed, 4
From: Dylan Baker
This logic was purely used for making content to appear in the generated
files. It is both simpler and less code if it put in the template.
Signed-off-by: Dylan Baker
---
generated_tests/gen_tess_input_tests.py|
From: Dylan Baker
Signed-off-by: Dylan Baker
---
generated_tests/gen_tess_input_tests.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/generated_tests/gen_tess_input_tests.py
b/generated_tests/gen_tess_input_tests.py
index
This is a resend of the previous series (I have my send-email problems
mostly sorted at this point)
This has been rebased on master, and some of the commit messages updated
since the last send.
___
Piglit mailing list
Piglit@lists.freedesktop.org
From: Dylan Baker
Signed-off-by: Dylan Baker
---
generated_tests/gen_tcs_input_tests.py | 60 +-
1 file changed, 30 insertions(+), 30 deletions(-)
diff --git a/generated_tests/gen_tcs_input_tests.py
From: Dylan Baker
Signed-off-by: Dylan Baker
---
generated_tests/gen_tcs_input_tests.py | 26 ++
1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/generated_tests/gen_tcs_input_tests.py
From: Dylan Baker
Signed-off-by: Dylan Baker
---
generated_tests/gen_tcs_input_tests.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/generated_tests/gen_tcs_input_tests.py
b/generated_tests/gen_tcs_input_tests.py
index
From: Dylan Baker
This breaks python 3 compatibility
Signed-off-by: Dylan Baker
---
generated_tests/gen_tes_input_tests.py | 50 +-
1 file changed, 25 insertions(+), 25 deletions(-)
diff --git
From: Dylan Baker
This if much like os.makedirs, but catches extra errors to handle corner
cases.
Signed-off-by: Dylan Baker
---
generated_tests/gen_tess_input_tests.py | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git
From: Dylan Baker
python allows these, but they're not necessary and not normal
Signed-off-by: Dylan Baker
---
generated_tests/gen_tes_input_tests.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
From: Dylan Baker
This is going to allow for code sharing in the next patch.
Signed-off-by: Dylan Baker
---
generated_tests/gen_tess_input_tests.py | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git
From: Dylan Baker
these are mostly bad hanging indents or oddly placed spaces
Signed-off-by: Dylan Baker
---
generated_tests/gen_tes_input_tests.py | 26 +-
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git
From: Dylan Baker
Signed-off-by: Dylan Baker
---
generated_tests/gen_tes_input_tests.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/generated_tests/gen_tes_input_tests.py
b/generated_tests/gen_tes_input_tests.py
index
From: Dylan Baker
Signed-off-by: Dylan Baker
---
generated_tests/gen_tcs_input_tests.py | 24
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/generated_tests/gen_tcs_input_tests.py
From: Dylan Baker
This produces the same result, but it's much clearer what's happening.
Signed-off-by: Dylan Baker
---
generated_tests/gen_tess_input_tests.py | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git
From: Dylan Baker
This is just syntactic sugar.
Signed-off-by: Dylan Baker
---
generated_tests/gen_tes_input_tests.py | 32 +---
1 file changed, 17 insertions(+), 15 deletions(-)
diff --git
From: Dylan Baker
This is the old Khronos suite, which has been superseded by CTS. Since
piglit can wrap cts it seems rather silly to have both CTS and
es3conform support.
cc: Eric Anholt
Signed-off-by: Dylan Baker
---
Eric,
From: Dylan Baker
Fixes the following warnings from pylint:
- constants should be ALL_CAPS
- shadowing names from the outer scope
Signed-off-by: Dylan Baker
Reviewed-by: Vinson Lee
---
tests/oglconform.py | 18
From: Dylan Baker
This moves some constant arguments out of the permanently stored values
in each test instance into a getter, which reduces the number of
duplicate elements that need to be stored per instance. This reduces
memory usage a little.
Signed-off-by: Dylan
From: Dylan Baker
I'm a little surprised this actually works in current form, since it's
currently pointing to an int, rather than a file-like object.
This patch simplifies the code by pointing at the open file-like object.
Signed-off-by: Dylan Baker
From: Dylan Baker
Currently Test is imported from framework.profile and this happens to
work. However, this isn't the correct place to get Test from, and it
isn't guaranteed to continue working in the future.
Signed-off-by: Dylan Baker
---
From: Dylan Baker
This is a nice cleanup, since it allows us to a) not have a hardcoded
dependency of /tmp existing, b) it means that the temporary file is
removed after it's used automatically, and c) it allows us to test the
_make_profile function.
I would really
This is exactly as the previous incarnation, except that it replaces the
'str in str' patch with a patch that makes interpret_result faster in
most cases (instead of slightly slower).
___
Piglit mailing list
Piglit@lists.freedesktop.org
From: Dylan Baker
This makes generating the profile a cleaner affair, and enables testing
it. It also pulls variables out of the global scope that don't belong in
the global scope.
Signed-off-by: Dylan Baker
---
tests/oglconform.py | 35
From: Dylan Baker
This moves code out of the try/except block that we don't mean to catch
exceptions in, which is better coding practice.
This also sets the except block to ValueError only, which is the error
that will occur if there aren't enough values to unpack,
From: Dylan Baker
This optimizes the common paths of OGLCTest.interpret_result(): pass and
the common skip case.
For most OGLCTest cases the result will be in the final 3 lines of
stdout. In this case it is substantially faster to split the last 3
lines, and then check
Changes since v1:
- Handle forking processes properly (there is a test in the last patch
for this which probably deserves review, I've learned a lot about how
POSIX processes work for this series and may or may not have gotten
it right)
- Split the timeout code into a Mixin. This
From: Dylan Baker
This just saves some code duplication.
Signed-off-by: Dylan Baker
---
framework/tests/base_tests.py | 6 +-
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/framework/tests/base_tests.py
From: Dylan Baker
This splits the timeout code into a mixin class which is guarded by a
check to ensure that the os is not windows (piglit supports only modern
*nix systems and windows, so checks for old mac os and similar don't
make sense).
It then provides this mixin
From: Dylan Baker
These tests claimed to test the timeout mechanism, but what they're
really testing is the status changing ability of the timeout mechanism.
Signed-off-by: Dylan Baker
---
framework/tests/base_tests.py | 4 ++--
1 file
From: Dylan Baker
Subprocess32 provides a backport of (ironically) python 3.3's subprocess
module, which has a timeout parameter. When the timeout runs out then an
exception is raised, and when that exception is caught we can kill the
process.
This is fairly similar to
From: Dylan Baker
This is groundwork to split timeout into a Mixin, which is going to be a
cleaner solution than trying to build timeout into the base class.
The reason this is going to be cleaner is that for python 2.x it is much
simpler and cleaner to use subprocess32
From: Dylan Baker
This moves some constant arguments out of the permanently stored values
in each test instance into a getter, which reduces the number of
duplicate elements that need to be stored per instance. This reduces
memory usage a little.
Signed-off-by: Dylan
From: Dylan Baker
I'm a little surprised this actually works, since it's currently
pointing to an int, rather than a file-like object.
This patch simplifies the code by pointing at the open file-like object.
Signed-off-by: Dylan Baker
---
From: Dylan Baker
This adds a pretty extensive set of tests for oglconform.py, with the
goal of making further cleanups and refactors easier and not introducing
regressions.
This adds a dependency of mock for the unittests. No production code
needs this dependency, so
From: Dylan Baker
This is a simpler solution. In some cases this may be more expensive
than the re, but in others it will be cheaper. Even if keeping the re it
should be compiled for performance reasons.
Signed-off-by: Dylan Baker
---
From: Dylan Baker
- constants should be ALL_CAPS
- shadowing names from the outer scope
Signed-off-by: Dylan Baker
---
tests/oglconform.py | 19 +--
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git
From: Dylan Baker
This is a nice cleanup, since it allows us to a) not have a hardcoded
dependency of /tmp existing, b) it means that the temporary file is
removed after it's used automatically, and c) it allows us to test the
_make_profile function.
I would really
This adds unit tests and some small cleanups for the oglconform suite
integration module.
I'm planning to add similar cleanups and tests for other integration
suites, so that I can stop breaking them all the time.
This is available at my github:
https://github.com/dcbaker/piglit
From: Dylan Baker
This moves code out of the try/except block that we don't mean to catch
exceptions in, which is better coding practice.
This also sets the except block to ValueError only, which is the error
that will occur if there aren't enough values to unpack,
From: Dylan Baker
Currently Test is imported from framework.profile and this happens to
work. However, this isn't the correct place to get Test from, and it
isn't guaranteed to continue working in the future.
Signed-off-by: Dylan Baker
---
From: Dylan Baker
This makes generating the profile a cleaner affair, and enables testing
it. It also pulls variables out of the global scope that don't belong in
the global scope.
Signed-off-by: Dylan Baker
---
tests/oglconform.py | 35
From: Dylan Baker
There are two versions of glslparsertest, an undecorated one for desktop
OpenGL, and a '_gles2' suffixed one for OpenGL ES. Piglit should pass 3.1
and 3.2 to the '_gles2' version like it does for GLES 2 and GLES 3.0
This also extends the test generator
From: Dylan Baker
Subprocess32 provides a backport of (ironically) python 3.3's subprocess
module, which has a timeout parameter. When the timeout runs out then an
exception is raised, and when that exception is caught we can kill the
process.
This is fairly similar to
From: Dylan Baker
This just saves some code duplication.
v3: - fix tests to actually work.
Signed-off-by: Dylan Baker
---
framework/tests/base_tests.py | 20
1 file changed, 8 insertions(+), 12 deletions(-)
diff --git
From: Dylan Baker
These tests claimed to test the timeout mechanism, but what they're
really testing is the status changing ability of the timeout mechanism.
Signed-off-by: Dylan Baker
---
framework/tests/base_tests.py | 4 ++--
1 file
From: Dylan Baker
This is the 3rd revision of my series to use subprocess32 for test
timeouts.
This has some cleanups as requested by Thomas, and a few unittest
problems I noticed are fixed.
The biggest change however is the removal of the mixin for timeouts, and
them
From: Dylan Baker
This changes the behavior of the dEQP integration such that a status
that is < 0 on unix or (< 0 || == 3) on windows will be a crash rather
than a fail. A status > 0 (except 3 on windows) will still be marked
fail.
This makes use of the helper function
From: Dylan Baker
This little helper skips a test if a module isn't available.
Signed-off-by: Dylan Baker
---
framework/tests/junit_backends_tests.py | 3 +--
framework/tests/utils.py| 9 +
2 files changed, 10
From: Dylan Baker
This adds a new environment variable, PIGLIT_FORCE_GLSLPARSER_DESKTOP,
which forces glsl_parser_test.py to use "glslparsertest" for GLES tests
(instead of "glslparsertest_gles2").
This could be used to force testing ES__compatibility extensions
even
From: Dylan Baker
This patch fixes the behavior of glsl_parser_test in cases other that
OpenGL and OpenGL ES are available. This means that if OpenGL ES isn't
available then OpenGL ES shaders will be passed to the regular version
of glslparsertest, which can run them
From: Dylan Baker
There are two versions of glslparsertest, an undecorated one for desktop
OpenGL, and a '_gles2' suffixed one for OpenGL ES. Piglit should pass 3.1
and 3.2 to the '_gles2' version like it does for GLES 2 and GLES 3.0
This also extends the test generator
From: Dylan Baker
This fixes the way that glslparsertest in the python layer handles
versions.
Specifically with this series:
- the python layer makes smarter decisions about using glslparsertest or
glslparsertest_gles2, especially in cases where only one has been
From: Dylan Baker
The current code works under python 2.7, but not python 3.x. This patch
corrects that by making the code work for both.
Signed-off-by: Dylan Baker
---
generated_tests/builtin_function.py | 6 --
1 file changed, 4
From: Dylan Baker
This adds a new environment variable, PIGLIT_FORCE_GLSLPARSER_DESKTOP,
which forces glsl_parser_test.py to use "glslparsertest" for GLES tests
(instead of "glslparsertest_gles2").
This could be used to force testing ES__compatibility extensions
even
From: Dylan Baker
This patch fixes the behavior of glsl_parser_test in cases other that
OpenGL and OpenGL ES are available. This means that if OpenGL ES isn't
available then OpenGL ES shaders will be passed to the regular version
of glslparsertest, which can run them
From: Dylan Baker
There are two versions of glslparsertest, an undecorated one for desktop
OpenGL, and a '_gles2' suffixed one for OpenGL ES. Piglit should pass 3.1
and 3.2 to the '_gles2' version like it does for GLES 2 and GLES 3.0
This also extends the test generator
One of the awkward things in piglit is passing the options object around
everyplace we need it, which is a lot of places. This creates a lot of
code, and a lot of passing, and a lot of places for something to fail.
This small series turns options into a global variable, which can be
mutated
From: Dylan Baker
This is the plunge to change over from the old options model to the new
one. After this change Options is a global value, and no more passing or
creation of new instances is done (except for testing).
Signed-off-by: Dylan Baker
From: Dylan Baker
I noticed during my fast-skip work that one test[1] changed status (from
fail -> skip), what I realized is that glslparsertest doesn't know how
to handle gles3.1 or gles3.2.
This patch adds support for checking 3.1 and 3.2 glsl versions, both in
From: Dylan Baker
cc: Ilia Mirkin
Signed-off-by: Dylan Baker
---
tests/spec/gl-3.2/layered-rendering/gl-layer-render-storage.c | 1 -
1 file changed, 1 deletion(-)
diff --git
From: Dylan Baker
This is the plunge to change over from the old options model to the new
one. After this change Options is a global value, and no more passing or
creation of new instances is done (except for testing).
Signed-off-by: Dylan Baker
From: Dylan Baker
This hooks up the new mixin from the previous patch in ShaderTest (the
class used to run shader_runner). This patch gives me a ~40 second
reduction in runtime for shader.py (a profile that runs only shader_test
files).
My setup is as follows:
HSW
From: Dylan Baker
This adds support to the FastSKipMixin for checking GLSL and GLSL ES
versions.
Signed-off-by: Dylan Baker
---
framework/test/opengl.py| 58 +++
framework/tests/opengl_tests.py | 122
From: Dylan Baker
This Mixin provides a way for OpenGL tests to skip very fast. Currently
it only applies to GL extensions, but will be extended to cover GLSL
version requirements and GL version requirements (and ES)>
This is split into a separate module because it's
From: Dylan Baker
This adds support to ShaderTest to scrape the GLSL requirements, and
provide them to the FasSkipMixin.
This reduces run time by ~15 seconds on my HSW.
Signed-off-by: Dylan Baker
---
framework/test/shader_test.py| 21
From: Dylan Baker
This patch adds support to the FasSkipMixin for skipping on GL and GLES
versions. It does this by querying wflinfo for the highest supported
This skipping only supports checking that the requirement is <= to the
maximum GL(ES) provided. There are some
From: Dylan Baker
One of the problems with piglit is the runtime, especially on older
platforms where large numbers of tests skip. The average runtime on HSW
for a shader_runner test that skips is about .05 seconds. This seems
pretty small, until one considers that there
From: Dylan Baker
This implements a similar mechanism to check GL or GLES version support
on the current driver.
Signed-off-by: Dylan Baker
---
framework/test/shader_test.py| 11 +++
framework/tests/shader_test_tests.py | 26
From: Dylan Baker
This generator adds required extensions to the shaders, but not the
require section. This patch fixes that.
Signed-off-by: Dylan Baker
---
generated_tests/gen_builtin_uniform_tests.py | 2 ++
1 file changed, 2 insertions(+)
From: Dylan Baker
These warnings are expected, it's better to hide expected warnings and
provide a comment about them being expected than to have them clutter
the output of the build system.
Signed-off-by: Dylan Baker
---
The fact that these
From: Dylan Baker
There are a number of tests with expected failures that there are
patches for, but have not been reviewed or landed. This in the meantime
makes tox turn green, which is what we expect.
Signed-off-by: Dylan Baker
---
From: Dylan Baker
Signed-off-by: Dylan Baker
---
tox.ini | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tox.ini b/tox.ini
index ca97a51..7aa741a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
[tox]
-envlist =
From: Dylan Baker
There is currently a bug in summary.Names that means that subtests are
added to the 'all' page (index.html), but not to the subset pages
(fixes.html, problems.html, etc). These demonstrate that problem.
This introduces 7 expected failures to the piglit
From: Dylan Baker
This provides a single source of getting results from tests or subtests,
and hides the magic of differentiating the two. This will make it easier
to work with subtests in the Summary module, since we can easily know
that we've checked subtests.
From: Dylan Baker
The gist of the problem is that we handle lookup for subtests in the all
group correctly, but when we went to compare between multiple results we
don't.
This patch makes use of the get_result from the previous patch to
simplify test name lookups, and
From: Dylan Baker
This is required to get the crash and warn status.
Signed-off-by: Dylan Baker
---
framework/test/gtest.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/framework/test/gtest.py
From: Dylan Baker
It's constant across the class and this will save a tiny bit of memory.
Signed-off-by: Dylan Baker
---
tests/igt.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tests/igt.py b/tests/igt.py
index
From: Dylan Baker
Fixes crash/warn status handling.
Signed-off-by: Dylan Baker
---
tests/igt.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/igt.py b/tests/igt.py
index 7ba7842..4f970a8 100644
--- a/tests/igt.py
+++
From: Dylan Baker
This adds crash and warn statuses back and should have been handled as
part of commit 947b212a39304, but was not.
Signed-off-by: Dylan Baker
---
framework/test/gleantest.py | 1 +
1 file changed, 1 insertion(+)
diff --git
From: Dylan Baker
Fix crash/warn handling.
Signed-off-by: Dylan Baker
---
tests/xts.py | 4
1 file changed, 4 insertions(+)
diff --git a/tests/xts.py b/tests/xts.py
index de560c4..a078056 100644
--- a/tests/xts.py
+++ b/tests/xts.py
@@
From: Dylan Baker
fix crash/warn handling.
cc: Kenneth Graunke
Signed-off-by: Dylan Baker
---
tests/oglconform.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/oglconform.py b/tests/oglconform.py
index
Disclaimer: This little series only touches the python framework tests,
and I think I'm the only one who cares about them, so if I don't see any
review in a day or so I'll just push these.
This cleans up a few tests, fixes a few others, removes some hand rolled
code in favor of code that is part
From: Dylan Baker
This test module provides a function that enumerates the test generators
(it assumes that all files ending in .py are generators unless they're
black listed), and generates a nose job for each of them.
This allows us to ensure that the generators work
From: Dylan Baker
This is a more standard way to mark tests out as special case, and not
rolling our own code is good.
Signed-off-by: Dylan Baker
---
framework/tests/dmesg_tests.py | 7 ---
framework/tests/utils.py | 12
From: Dylan Baker
tox is a python test manager that runs the tests in isolated
environments with their own copies of dependent libraries, and can be
used to test against multiple versions of python. This allows us to
easily test the framework with and without the
1 - 100 of 210 matches
Mail list logo