| 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. |