提交 b334fb6f 编写于 作者: J Jarkko Sakkinen 提交者: Shuah Khan

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: NJarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: NShuah Khan <skhan@linuxfoundation.org>
上级 040efd1c
...@@ -205,6 +205,14 @@ FIXTURE_TEARDOWN(enclave) ...@@ -205,6 +205,14 @@ FIXTURE_TEARDOWN(enclave)
ret; \ 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) TEST_F(enclave, unclobbered_vdso)
{ {
uint64_t result = 0; uint64_t result = 0;
...@@ -212,7 +220,7 @@ TEST_F(enclave, unclobbered_vdso) ...@@ -212,7 +220,7 @@ TEST_F(enclave, unclobbered_vdso)
EXPECT_EQ(ENCL_CALL(&MAGIC, &result, &self->run, false), 0); EXPECT_EQ(ENCL_CALL(&MAGIC, &result, &self->run, false), 0);
EXPECT_EQ(result, MAGIC); EXPECT_EQ(result, MAGIC);
EXPECT_EQ(self->run.function, EEXIT); EXPECT_EEXIT(&self->run);
EXPECT_EQ(self->run.user_data, 0); EXPECT_EQ(self->run.user_data, 0);
} }
...@@ -223,7 +231,7 @@ TEST_F(enclave, clobbered_vdso) ...@@ -223,7 +231,7 @@ TEST_F(enclave, clobbered_vdso)
EXPECT_EQ(ENCL_CALL(&MAGIC, &result, &self->run, true), 0); EXPECT_EQ(ENCL_CALL(&MAGIC, &result, &self->run, true), 0);
EXPECT_EQ(result, MAGIC); EXPECT_EQ(result, MAGIC);
EXPECT_EQ(self->run.function, EEXIT); EXPECT_EEXIT(&self->run);
EXPECT_EQ(self->run.user_data, 0); EXPECT_EQ(self->run.user_data, 0);
} }
...@@ -245,7 +253,7 @@ TEST_F(enclave, clobbered_vdso_and_user_function) ...@@ -245,7 +253,7 @@ TEST_F(enclave, clobbered_vdso_and_user_function)
EXPECT_EQ(ENCL_CALL(&MAGIC, &result, &self->run, true), 0); EXPECT_EQ(ENCL_CALL(&MAGIC, &result, &self->run, true), 0);
EXPECT_EQ(result, MAGIC); EXPECT_EQ(result, MAGIC);
EXPECT_EQ(self->run.function, EEXIT); EXPECT_EEXIT(&self->run);
EXPECT_EQ(self->run.user_data, 0); EXPECT_EQ(self->run.user_data, 0);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册