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