Add a new test profile: gpu.tests.

Often, I make changes to Mesa which only affect tests that actually
execute on the GPU.  For such changes, there's no real benefit to
running compiler-only/front-end tests, such as glslparsertest and
asmparsertest files.  There are a lot of those, so cutting them can save
quite a bit of time when running Piglit.

Excluding glslparsertests via -x is tricky since a lot of them live way
down in the spec/... hierarchy.  It's much easier to filter them out by
checking for the GLSLParserTest class.

Essentially, gpu.tests is quick.tests minus compiler-only tests.  In the
future, we could probably remove API-only tests (though there are a much
smaller number of those and they run fairly quickly).

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Add a test to ensure seamless cubemap filtering is initially disabled.

v2: Actually add the new test to all.tests.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
arb_texture_cube_map_array: sample-cube-map-array-shadow use glDrawArrays instead of piglit_draw_rect

Don't mix piglit_draw_rect and additional attribute arrays.

Signed-off-by: Fabian Bieler <fabianbieler@fastmail.fm>
Reviewed-by: Eric Anholt <eric@anholt.net>
glsl-max-varyings: Use glDrawArrays instead of piglit_draw_rect.

Don't mix piglit_draw_rect and additional attribute arrays.

Signed-off-by: Fabian Bieler <fabianbieler@fastmail.fm>
Reviewed-by: Eric Anholt <eric@anholt.net>
copyteximage: Use glDrawArrays instead of piglit_draw_rect.

Don't mix piglit_draw_rect and additional attribute arrays.

v2: Use individual functions piglit_draw_rect_tex, draw_rect_tex_3d and
    draw_rect_tex_cube_face instead of draw_rect_tex for drawing.

Signed-off-by: Fabian Bieler <fabianbieler@fastmail.fm>
Reviewed-by: Eric Anholt <eric@anholt.net>
sampler-cube-shadow: Use glDrawArrays instead of piglit_draw_rect.

Don't mix piglit_draw_rect and additional attribute arrays.

Also don't immediately quit test if not running automatically.

v2: Always call piglit_present_results, correct spelling;

Signed-off-by: Fabian Bieler <fabianbieler@fastmail.fm>
Reviewed-by: Eric Anholt <eric@anholt.net>
CL: Add int2 stack and int2/int4 constant load tests

v2: Split the constant load test into a separate file,
    and add int4 constant load test

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Add simple glPolygonOffset test

This isn't fancy, it just sets the polygon offset and then draws one
object on top of another. Tests combinations of lines/points/fills.

v2 [Ken]:
- Rebase onto Piglit master, reworking includes and config section now
  that we use Waffle for the framework.  Fix author and copyright date.
  Remove nested function (suggested by Brian Paul).  Use
  piglit_present_results().  Use stdbool rather than GLboolean.

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
glsl-4.00/ARB_texture_query_lod: Fix requirements section

s/required_extensions/require_extensions/.  The tests are now correctly
skipped on implementations that don't support GL_ARB_texture_query_lod.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
summary.py: replace multiple attributes with a single dict attribute

Replaces self.alltests, self.changes, self.problems, self.regressions,
self.fixes, and self.skipped with self.test, a dictionary containing all
of the same information. This cleans the namespace for the NewSummary
object, as well as allowing for some other code simplification

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
summary.py: Do not generate comparison pages for single results

It is absolutely silly to generate pages for fixes, changes, and
regressions when there is only one test result is provided. This still
generates empty pages when two results are provided, because some
developers have expressed a work flow that uses these empty pages.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
summary: Generate a new empty page for pages with no results

This new page is able to convey the same information, but takes less
time to generate

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
summary.py: Split functionality out of NewSummary constructor

Splits the code that finds problems, regressions, fixes, changes, and
skips out of the constructor. Instead of incurring the overhead of
calculating these every time whether they are needed or not the code can
now be smarter about it's path, only generating the ones it needs, if
any.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
piglit-summary-junit.py: Fixes whitespace errors

There were whitespace errors as a result of the recent tabs to spaces
conversion. This patch corrects those

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
junit.mako: Adds new mako file for generating junit xml

Using mako as an alternative to the junit.py file has a couple of
advantages: First there is a lot less code involved, mako just does most
of the work for us. Second, it works in almost the same way as the HTML
generation.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
summary.py: Adds method to NewSummary to generate junit XML

This method is about 50% faster than the existing implementation which
uses junit.py.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
piglit-summary-junit.py: Use NewSummary.generateJUnit

Stop using the old JUnit generation code, and start using the new code.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
junit.py: Remove unused file

Since this is no longer in use, remove it

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
summary.py: Adds missing 'tests' field to junit <testsuite>

This field is required by the JUnit xsd, and was not provided. With this
change the JUnit xml being produced is valid.

xsd source: https://svn.jenkins-ci.org/trunk/hudson/dtkit/dtkit-format/
dtkit-junit-model/src/main/resources/com/thalesgroup/dtkit/junit/model/
xsd/junit-4.xsd

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
piglit-summary.py: convert from getopt to argparse

Argparse requires less code, and is much easier to read and maintain.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>