Quoting Jordan Justen (2018-07-03 11:36:23) > On 2018-07-03 10:24:27, Dylan Baker wrote: > > Originally sanity was billed as a sort of "check if the installation > > works" sort of profile. No one seems to use sanity at all, so we'd like > > to re-purpose it (a little) to be a sort of "driver sanity" check, in > > other words, a minimal number of tests that are able to touch a broad > > swath of OpenGL features. > > > > Some of the things this touches now: > > - vertex shaders > > - fragment shaders > > - geometry shaders > > - tesselation shaders > > - compute shaders > > - transform feedback > > - ssbos > > - atomics > > --- > > tests/sanity.py | 66 +++++++++++++++++++++++++++++++++++++++++++++---- > > 1 file changed, 61 insertions(+), 5 deletions(-) > > > > cc: jordan.l.jus...@intel.com > > > > diff --git a/tests/sanity.py b/tests/sanity.py > > index cb66bd33c..13f7859fb 100644 > > --- a/tests/sanity.py > > +++ b/tests/sanity.py > > @@ -1,20 +1,76 @@ > > -# > > -# Minimal tests to check whether the installation is working > > -# > > +# Copyright © 2018 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. > > + > > +"""A minimal profile that aims to touch test most major OpenGL features > > with as > > +few tests as possible. > > + > > +This is largely aimed at bring up of a new driver or a driver on new > > hardware, > > +where performance and stability are not necessarily the best. The idea is > > to > > +touch the main functionality of important features without running for too > > +long. This *will* miss many corner cases, that's okay. For more stable > > +hardware or software stacks the "gpu" or "quick" profiles are probably more > > +appropriate. > > +""" > > > > from __future__ import ( > > absolute_import, division, print_function, unicode_literals > > ) > > +import os > > > > from framework import grouptools > > from framework.profile import TestProfile > > from framework.test import PiglitGLTest > > +from framework.test.shader_test import ShaderTest > > +from .py_modules.constants import GENERATED_TESTS_DIR, TESTS_DIR > > > > __all__ = ['profile'] > > > > +basepath = os.path.normpath(os.path.join(TESTS_DIR, '..')) > > +gen_basepath = os.path.relpath(os.path.join(GENERATED_TESTS_DIR, '..'), > > basepath) > > + > > + > > +def add_shader_test(shader): > > + """Given an adder, creates a group and adds a shader test.""" > > + abs_path = os.path.abspath(shader) > > + if os.path.commonprefix([abs_path, GENERATED_TESTS_DIR]) == > > GENERATED_TESTS_DIR: > > + installpath = os.path.relpath(shader, gen_basepath) > > + else: > > + installpath = None > > + > > + dirpath = os.path.dirname(shader) > > + groupname = grouptools.from_path(os.path.relpath( > > + dirpath, GENERATED_TESTS_DIR if installpath else TESTS_DIR)) > > + testname = os.path.splitext(os.path.basename(shader))[0] > > + > > + profile.test_list[grouptools.join(groupname, testname)] = \ > > + ShaderTest.new(shader, installpath) > > + > > + > > profile = TestProfile() > > > > +add_shader_test('tests/shaders/glsl-algebraic-add-zero.shader_test') > > Will add_shader_test handle the unix path sep on windows?
Oh, probably not. Although / does work on all but the most crufty versions of windows so... > > Thanks for looking into this! > > Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com> > > > +add_shader_test('tests/spec/glsl-1.50/execution/geometry-basic.shader_test') > > +add_shader_test('tests/spec/arb_tessellation_shader/execution/sanity.shader_test') > > +add_shader_test('tests/spec/arb_compute_shader/execution/basic-ssbo.shader_test') > > + > > with profile.test_list.group_manager( > > PiglitGLTest, > > - grouptools.join('spec', '!OpenGL 1.0')) as g: > > - g(['gl-1.0-readpixsanity'], run_concurrent=True) > > + grouptools.join('spec', 'glsl-1.50')) as g: > > + g(['glsl-1.50-transform-feedback-builtins'], > > 'transform-feedback-builtins') > > -- > > 2.18.0 > >
signature.asc
Description: signature
_______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit