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:
Bobby R. Bruce
2020-09-21 12:13:08 -07:00
parent 5a20525e75
commit b45bbef206
2 changed files with 11 additions and 1 deletions

View File

@@ -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)
{

View File

@@ -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
}
/**