interpreted locally. If this fails for any reason
other than "file does not exist" the test will fail.
+Note: Blank lines and lines beginning with '#' are ignored.
+
Commands can be prefixed with "EXPECT_FAILURE:" to indicate that a
command is expected to return a non-zero value. In this case, a return
value of zero from the command will cause the test to fail.
+# The first two steps are just as in cli-diff-images. Dump images from
+# a trace into an empty directory.
+
rm_and_mkdir ./tri-out
apitrace dump-images -o ./tri-out/tri tri.trace
+
+# Compare the dumped image with a doctored image to provoke a failure.
+# The EXPECT_FAILURE attribute causes the test driver to look for a
+# non-zero return value from apitrace and fail the test if it is not
+# seen.
+
EXPECT_FAILURE: apitrace diff-images -v ./tri-ref-mismatch ./tri-out
+
+# In addition to getting the return value indicating an error, let's
+# also require that "apitrace diff-images" gave us the output we
+# expect.
+
expect "Comparing ./tri-ref-mismatch/tri0000000027.png and ./tri-out/tri0000000027.png ... MISMATCH\n"
+# Make a directory for the output images
+
rm_and_mkdir ./tri-out
+
+# Generate images for every frame (only 1) of a trace
+
apitrace dump-images -o ./tri-out/tri tri.trace
+
+# Compare the result of "apitrace dump-images" with our reference
+
apitrace diff-images -v ./tri-ref ./tri-out
+
+# Ensure that the "apitrace diff-images" actually did something. This
+# is important since if it couldn't find images in one directory or
+# the other then it would just silently return 0 and this test would
+# incorrectly pass.
+
expect "Comparing ./tri-ref/tri0000000027.png and ./tri-out/tri0000000027.png ... MATCH\n"
line = script.readline()
+ # Exit loop on EOF
if (line == ''):
break
cmd = line.split()
- if (len(cmd) == 0):
+ # Ignore blank lines and comments
+ if (len(cmd) == 0 or line[0] == '#'):
continue
if (cmd[0] == 'EXPECT_FAILURE:'):