blob: 94f7e67be065c64ecb0c20fbdd4d1beee30730cd [file] [log] [blame]
Easiest way to run tests
========================
On target machine
cd /usr/local/autotest
Figure out the GPU_FAMILY in {exynos[*1], pinetrail, tegra[*1], other}.
[*1] Not working with current piglit binaries.
To run each and every test (thousands)
./tests/graphics_PiglitBVT/test_scripts/$(GPU_FAMILY)/graphics_PiglitBVT_0.sh
To just run the tests in slice i (hundreds), figure out the slice and
./tests/graphics_PiglitBVT/test_scripts/other/graphics_PiglitBVT_${i}.sh
How to roll new Piglit binaries
===============================
IMPORTANT: graphics_PiglitBVT_{1..20}.sh will change easily due to differing
partitioning due to new maximum test times. As long as
graphics_PiglitBVT_0.sh stays reasonable you should be good!
1) Get some log files for previous test runs on different boards.
Place them in the appropriate piglit_logs/ GPU family directory.
2) To do all the main work run
python generate_scripts.py
3) Check output. You will have
a) test_scripts/*/graphics_PiglitBVT_0.sh containing all tests to run.
There is no control file for this as we don't want to run it normally.
b) graphics_PiglitBVT_{1..20}.sh roughly equally timed slices of the whole
test set. These are normally run on BVT and each should complete in 30s
to 2 minutes.
c) control.{1...20} for running the test slices on BVT.
4) You can manually edit the test expectations (say due to recent flakyness)
and rerun generate_scripts.py as needed.
5) In the very last resort you could edit *.sh directly but it is discouraged.
6) When everything passes locally, diff test_scripts/*/graphics_PiglitBVT_0.sh
against the previous versions. This should show you which tests got added
or removed. Also please diff the expectations for sanity.
7) Please don't check all log files into the repository as they are too large.
Instead pick one representative log plus the corresponding expectations.
Purge all other logs.
The idea here is that we keep track of tests that pass sometimes but not
always as these are the largest troublemakers.
8) Re-run 'python generate_scripts.py'. This is just for prettyness. After the
first time (which creates a new slicing) running it again should be
idempotent.