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 <power.jg@gmail.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user