scons: Use the new test framework from scons
authorAndreas Sandberg <andreas.sandberg@arm.com>
Tue, 31 May 2016 10:27:00 +0000 (11:27 +0100)
committerAndreas Sandberg <andreas.sandberg@arm.com>
Tue, 31 May 2016 10:27:00 +0000 (11:27 +0100)
commit44e9b81f7477feec5786de40c60d986e1be74326
treea7276aa4cf3d3d6be6f3e4ad491f2d6dc8322b5e
parentdbf64aa2c2f803a659ed3cb8a128dbe1f73cfa06
scons: Use the new test framework from scons

Rewrite the SCons script responsible for launching tests to use the
new test framework. The biggest visible change after this changeset is
that SCons no longer produces a "status" file in test build
directories. Instead, it creates a status.pickle file. That file can
be inspected using the new tests.py script. Another visible change is
that timed out tests are now reported as failed rather than a using a
separate summary message.

Since the pickle file will remain in the build directory after running
tests, it's now possible to convert the test results into other
formats. For example:

./tests/tests.py show --format junit -o junit.xml \
    `find build/ -name status.pickle`

To better facilitate running outside of scons, there is now a set of
targets that generate test listings that can be used by the test
script. There are currently three targets, quick.list, long.list, and
all.list. For example:

scons build/ARM/tests/opt/all.list
for F in `cat build/ARM/tests/opt/all.list`; do
    ./tests/tests.py run build/ARM/gem5.opt $F
done

Change-Id: I2c0f8ca0080d7af737362e198eda4cb3a72e6c36
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Curtis Dunham <curtis.dunham@arm.com>
tests/SConscript