scons,tests: Add 'USE_TEST_OBJECTS' kconfig

This has the SimObjects defined in "src/test_objects" only be compiled
into the gem5 binary if the Kconfig 'USE_TEST_OBJECTS" == 'y'. This
happens in two cases:

1. When 'ALL/gem5' is compiled via "build_opts".
2. When tests are run via "./tests/main.py".

Change-Id: I2330008fd7c7900de5f4de142b8ac89ef4e351ce
This commit is contained in:
Bobby R. Bruce
2024-03-28 13:30:19 -07:00
parent 2771061207
commit 504005da87
4 changed files with 49 additions and 0 deletions

View File

@@ -7,3 +7,4 @@ USE_POWER_ISA=y
USE_RISCV_ISA=y
USE_SPARC_ISA=y
USE_X86_ISA=y
USE_TEST_OBJECTS=y

View File

@@ -51,3 +51,4 @@ rsource "arch/Kconfig"
rsource "cpu/Kconfig"
rsource "systemc/Kconfig"
rsource "gpu-compute/Kconfig"
rsource "test_objects/Kconfig"

29
src/test_objects/Kconfig Normal file
View File

@@ -0,0 +1,29 @@
# Copyright (c) 2024 The Regents of the University of California
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met: redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer;
# redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution;
# neither the name of the copyright holders nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
config USE_TEST_OBJECTS
bool "SimObjects used for testing the gem5 simulator"
default n

View File

@@ -199,6 +199,24 @@ class SConsFixture(UniqueFixture):
log.test_log, setconfig_command, time=None, stderr=sys.stderr
)
setconfig_add_test_obj_command = [
"scons",
"-C",
self.directory,
"--ignore-style",
"--no-compress-debug",
"setconfig",
self.target_dir,
"USE_TEST_OBJECTS=y",
]
log_call(
log.test_log,
setconfig_add_test_obj_command,
time=None,
stderr=sys.stderr,
)
command = [
"scons",
"-C",