ref: f8c27d164c6eeced5fc20a74b961169407061fa1
parent: f368f86df6705711dc3341dd910686911270ce69
author: James Zern <jzern@google.com>
date: Sat Jul 23 07:33:29 EDT 2016
register_state_check: simplify Check() methods - make Check() void as the EXPECT's are sufficient to document failure cumulatively this has the effect of avoiding reporting incorrect Check() failures due to earlier test failures. Change-Id: I2cf775449f18c90c1506b8eadd7067adbc3ea046
--- a/test/register_state_check.h
+++ b/test/register_state_check.h
@@ -48,7 +48,7 @@
class RegisterStateCheck {
public:
RegisterStateCheck() { initialized_ = StoreRegisters(&pre_context_); }
- ~RegisterStateCheck() { EXPECT_TRUE(Check()); }
+ ~RegisterStateCheck() { Check(); }
private:
static bool StoreRegisters(CONTEXT* const context) {
@@ -61,10 +61,10 @@
}
// Compares the register state. Returns true if the states match.
- bool Check() const {
- if (!initialized_) return false;
+ void Check() const {
+ ASSERT_TRUE(initialized_);
CONTEXT post_context;
- if (!StoreRegisters(&post_context)) return false;
+ ASSERT_TRUE(StoreRegisters(&post_context));
const M128A* xmm_pre = &pre_context_.Xmm6;
const M128A* xmm_post = &post_context.Xmm6;
@@ -73,7 +73,6 @@
++xmm_pre;
++xmm_post;
}
- return !testing::Test::HasNonfatalFailure();
}
bool initialized_;
@@ -102,18 +101,12 @@
// arm platform.
class RegisterStateCheck {
public:
- RegisterStateCheck() { initialized_ = StoreRegisters(pre_store_); }
- ~RegisterStateCheck() { EXPECT_TRUE(Check()); }
+ RegisterStateCheck() { vpx_push_neon(pre_store_); }
+ ~RegisterStateCheck() { Check(); }
private:
- static bool StoreRegisters(int64_t store[8]) {
- vpx_push_neon(store);
- return true;
- }
-
// Compares the register state. Returns true if the states match.
- bool Check() const {
- if (!initialized_) return false;
+ void Check() const {
int64_t post_store[8];
vpx_push_neon(post_store);
for (int i = 0; i < 8; ++i) {
@@ -120,10 +113,8 @@
EXPECT_EQ(pre_store_[i], post_store[i]) << "d"
<< i + 8 << " has been modified";
}
- return !testing::Test::HasNonfatalFailure();
}
- bool initialized_;
int64_t pre_store_[8];
};
@@ -156,12 +147,12 @@
RegisterStateCheckMMX() {
__asm__ volatile("fstenv %0" : "=rm"(pre_fpu_env_));
}
- ~RegisterStateCheckMMX() { EXPECT_TRUE(Check()); }
+ ~RegisterStateCheckMMX() { Check(); }
private:
// Checks the FPU tag word pre/post execution, returning false if not cleared
// to 0xffff.
- bool Check() const {
+ void Check() const {
EXPECT_EQ(0xffff, pre_fpu_env_[4])
<< "FPU was in an inconsistent state prior to call";
@@ -169,7 +160,6 @@
__asm__ volatile("fstenv %0" : "=rm"(post_fpu_env));
EXPECT_EQ(0xffff, post_fpu_env[4])
<< "FPU was left in an inconsistent state after call";
- return !testing::Test::HasNonfatalFailure();
}
uint16_t pre_fpu_env_[14];