util: Add a --no-test-xml option to the m5 util's scons.
authorGabe Black <gabe.black@gmail.com>
Fri, 23 Oct 2020 03:00:49 +0000 (20:00 -0700)
committerGabe Black <gabe.black@gmail.com>
Fri, 4 Dec 2020 11:07:36 +0000 (11:07 +0000)
This forces the test XML output files to be omitted from the build. This
lets you run scons build/ to build everything without running any tests,
and can be used to verify that everything builds correctly even if the
tests don't run/pass.

Change-Id: I280ffe4e76b2249912f9a51a414f4058a3643229
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27755
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Gabe Black <gabe.black@gmail.com>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>

util/m5/README.md
util/m5/SConstruct

index f1d9bece3cb79e01d4f195476ee81ebf9beedb1b..cfa2fbd8f79e8ee74bda17f1942b43012b2efdff 100644 (file)
@@ -175,6 +175,7 @@ some other prefix corresponding to that host.
 ### SCons command line flags
 
 --debug-build: Compile with the -g option, and -O0.
+--no-test-xml: Exclude the test result XML files from the build.
 
 ## External dependency detection
 
index 3a96103aea20627d90f5b0325b3447f6e080a9d8..64bb543e41a0db55dbab8f0fb2de146c6008ed44 100644 (file)
@@ -44,6 +44,8 @@ def abspath(d):
 
 AddOption('--debug-build', dest='debug_build', action='store_true',
           help='Build with debug info, and disable optimizations.')
+AddOption('--no-test-xml', dest='no_tests', action='store_true',
+          help='Omit test output xml files from the build.')
 
 # Universal settings.
 if GetOption('debug_build'):
@@ -85,7 +87,8 @@ def GTest(env, name, *srcs, **kwargs):
     need_qemu_to_run = 'HAVE_QEMU' in env;
 
     # If we can run this test...
-    if not need_qemu_to_run or env['HAVE_QEMU']:
+    if (not need_qemu_to_run or env['HAVE_QEMU']) \
+        and not GetOption('no_tests'):
         # An XML file which holds the results of the test.
         xml = Dir('test').Dir('result').File('%s.xml' % name)
         # The basic command line for the test.