selftests/sgx: Add EXPECT_EEXIT() macro
Add EXPECT_EEXIT() macro, which will conditionally print the exception information, in addition to EXPECT_EQ(self->run.function, EEXIT); Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
040efd1c35
commit
b334fb6fa7
|
@ -205,6 +205,14 @@ FIXTURE_TEARDOWN(enclave)
|
|||
ret; \
|
||||
})
|
||||
|
||||
#define EXPECT_EEXIT(run) \
|
||||
do { \
|
||||
EXPECT_EQ((run)->function, EEXIT); \
|
||||
if ((run)->function != EEXIT) \
|
||||
TH_LOG("0x%02x 0x%02x 0x%016llx", (run)->exception_vector, \
|
||||
(run)->exception_error_code, (run)->exception_addr); \
|
||||
} while (0)
|
||||
|
||||
TEST_F(enclave, unclobbered_vdso)
|
||||
{
|
||||
uint64_t result = 0;
|
||||
|
@ -212,7 +220,7 @@ TEST_F(enclave, unclobbered_vdso)
|
|||
EXPECT_EQ(ENCL_CALL(&MAGIC, &result, &self->run, false), 0);
|
||||
|
||||
EXPECT_EQ(result, MAGIC);
|
||||
EXPECT_EQ(self->run.function, EEXIT);
|
||||
EXPECT_EEXIT(&self->run);
|
||||
EXPECT_EQ(self->run.user_data, 0);
|
||||
}
|
||||
|
||||
|
@ -223,7 +231,7 @@ TEST_F(enclave, clobbered_vdso)
|
|||
EXPECT_EQ(ENCL_CALL(&MAGIC, &result, &self->run, true), 0);
|
||||
|
||||
EXPECT_EQ(result, MAGIC);
|
||||
EXPECT_EQ(self->run.function, EEXIT);
|
||||
EXPECT_EEXIT(&self->run);
|
||||
EXPECT_EQ(self->run.user_data, 0);
|
||||
}
|
||||
|
||||
|
@ -245,7 +253,7 @@ TEST_F(enclave, clobbered_vdso_and_user_function)
|
|||
EXPECT_EQ(ENCL_CALL(&MAGIC, &result, &self->run, true), 0);
|
||||
|
||||
EXPECT_EQ(result, MAGIC);
|
||||
EXPECT_EQ(self->run.function, EEXIT);
|
||||
EXPECT_EEXIT(&self->run);
|
||||
EXPECT_EQ(self->run.user_data, 0);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue