Tests improvements
-
generate-sysroots: Avoid using undefined string escape sequences
These are not raw strings, so we need to escape a single backslash as a double backslash. This wasn't previously detected because we weren't running lint tools against tests/*.py, but a subsequent commit will fix that omission.
-
generate-sysroots: Wrap long lines
These weren't previously detected because we weren't running lint tools against tests/*.py, but a subsequent commit will fix that omission.
-
tests: Move testutils up a level
Previously we were only using it for pressure-vessel, but it's also useful to be able to write test scripts in Python for other things.
-
tests: Generalize TAP test template
GLib-based tests want a --tap argument, but other test scripts generally will not. Similarly, it's fairly common to want to use an interpreter or wrapper around a test.
-
tests: Add some infrastructure for running shell/Python script tests
This isn't really used yet, but will be used in a future commit. It's useful to be able to write high-level integration tests in a friendlier language.
-
tests: Don't assert an exact version match during as-installed tests
When running tests against an installed Steam Runtime, it's inconvenient to have to make the tests and the installed programs match exactly.
-
tests: Look for python3.5 or python3 if build-time python3 is not found
This makes the tests more amenable to being copied to a test system and run "as-installed", and in particular being able to run them inside the LD_LIBRARY_PATH Steam Runtime using an external (OS-provided) Python executable.
-
many-builds: Give a hint about uploading tests to a test machine
We can run a subset of the installed-tests against the Steam Runtime with commands like:
.../steam-runtime/run.sh -- ./test-architecture
Some of them currently fail when run like this because they can't find their helper executables, but it's a good start on being able to do more systematic testing of the LD_LIBRARY_PATH runtime.