diff options
author | Andreas Sandberg <andreas.sandberg@arm.com> | 2017-12-13 11:14:28 +0000 |
---|---|---|
committer | Andreas Sandberg <andreas.sandberg@arm.com> | 2017-12-13 23:57:08 +0000 |
commit | ed371e0fec0b40a21b5f60ccbca3e40a2e459734 (patch) | |
tree | e91390a49f04ef1245c7c2311bc374f76c11bf6d /src | |
parent | bace877821f2ac4a74174dd356990c5ddc738370 (diff) | |
download | gem5-ed371e0fec0b40a21b5f60ccbca3e40a2e459734.tar.xz |
scons, tests: Add support for GTest XML generation
The GTest framework supports result generation in XML (JUnit). Enable
this by creating unit test specific targets in the
build/${BUILD_OPTS}/unittests.${VARIANT} directory. Targets in the
directory use the following naming convention:
${SRC_PATH}/${TEST_NAME}.xml
For example, the opt version of the bitunion test built for ARM would
have this path:
build/ARM/unittests.opt/base/bituniontest.xml
Change-Id: I174dff16817734db05b08ce1d5bcf52e8697bbac
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Jack Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/6624
Reviewed-by: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src')
-rwxr-xr-x | src/SConscript | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/SConscript b/src/SConscript index 57a2d9648..a98fbc433 100755 --- a/src/SConscript +++ b/src/SConscript @@ -1090,7 +1090,7 @@ def makeEnv(env, label, objsfx, strip=False, disable_partial=False, **kwargs): gtest_env.Append(LIBS=gtest_env['GTEST_LIBS']) gtest_env.Append(CPPFLAGS=gtest_env['GTEST_CPPFLAGS']) gtestlib_sources = Source.all.with_tag('gtest lib') - gtests = [] + gtest_out_dir = Dir(new_env['BUILDDIR']).Dir('unittests.%s' % label) for test in GTest.all: test_sources = test.sources if not test.skip_lib: @@ -1098,11 +1098,12 @@ def makeEnv(env, label, objsfx, strip=False, disable_partial=False, **kwargs): for f in test.filters: test_sources += Source.all.apply_filter(f) test_objs = [ s.static(gtest_env) for s in test_sources ] - gtests.append(gtest_env.Program( - test.dir.File('%s.%s' % (test.target, label)), test_objs)) + test_binary = gtest_env.Program( + test.dir.File('%s.%s' % (test.target, label)), test_objs) - gtest_target = Dir(new_env['BUILDDIR']).File('unittests.%s' % label) - AlwaysBuild(gtest_env.Command(gtest_target, gtests, gtests)) + AlwaysBuild(gtest_env.Command( + gtest_out_dir.File("%s/%s.xml" % (test.dir, test.target)), + test_binary, "${SOURCES[0]} --gtest_output=xml:${TARGETS[0]}")) progname = exename if strip: |