From: Bobby R. Bruce Date: Mon, 21 Sep 2020 19:13:08 +0000 (-0700) Subject: tests,base: Fixed unittests for .fast X-Git-Tag: v20.1.0.0~20 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b45bbef206b27325618e5a1076e092adbb73c6b9;p=gem5.git tests,base: Fixed unittests for .fast unittests.fast, unittests.prof, and unittests.perf had failing tests due to the stripping of asserts via compiler optimization. This patch alters the unittests to skip these tests when TRACING_ON == 0. Change-Id: I2d4ab795ecfc2c4556b5eb1877635409d0836ec6 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34898 Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power Tested-by: kokoro --- diff --git a/src/base/intmath.test.cc b/src/base/intmath.test.cc index 5740bd4b8..4e88b0088 100644 --- a/src/base/intmath.test.cc +++ b/src/base/intmath.test.cc @@ -72,11 +72,17 @@ TEST(IntmathTest, floorLog2) EXPECT_EQ(0, floorLog2((int64_t)1)); } +/* The IntmathDeathTest floorLog2 test is dependent on an assert being + * triggered. We therefore only run this test for .debug and .opt (where + * `TRACING_ON == 1`). + */ +#if TRACING_ON TEST(IntmathDeathTest, floorLog2) { // Verify a non-positive input triggers an assert. EXPECT_DEATH_IF_SUPPORTED(floorLog2(0), "x > 0"); } +#endif TEST(IntmathTest, ceilLog2) { diff --git a/src/base/sat_counter.test.cc b/src/base/sat_counter.test.cc index 6de7ef787..214b01577 100644 --- a/src/base/sat_counter.test.cc +++ b/src/base/sat_counter.test.cc @@ -185,9 +185,13 @@ TEST(SatCounterTest, Shift) ASSERT_EQ(counter, 0); // Make sure the counters cannot be shifted by negative numbers, since - // that is undefined behaviour + // that is undefined behaviour. As these tests depend on asserts failing, + // these tests are only functional if `TRACING_ON == 1`, when gem5 is + // compiled as `debug` or `opt`. + #if TRACING_ON ASSERT_DEATH(counter >>= -1, ""); ASSERT_DEATH(counter <<= -1, ""); + #endif } /**