tests: add macro for generating function enter log message

The test-tpm2 test multiplexes a bunch of tests from a single
entrypoint test that creates the TPM2 connection. This means we only get
the nice log output which test we are looking for once for the
entrypoint.

Let's add a macro that allows it to nicely generate it for the inner
tests too and use it.
This commit is contained in:
Lennart Poettering
2023-11-13 16:41:16 +01:00
parent aa25e19b47
commit 47a7a4d404
2 changed files with 17 additions and 0 deletions

View File

@@ -104,6 +104,9 @@ extern const TestFunc _weak_ __stop_SYSTEMD_TEST_TABLE[];
REGISTER_TEST(test_##name, ##__VA_ARGS__); \
static int test_##name(void)
#define TEST_LOG_FUNC() \
log_info("/* %s() */", __func__)
static inline int run_test_table(void) {
_cleanup_strv_free_ char **tests = NULL;
int r = EXIT_SUCCESS;

View File

@@ -995,6 +995,8 @@ TEST(tpm2_get_srk_template) {
}
static void check_best_srk_template(Tpm2Context *c) {
TEST_LOG_FUNC();
TPMT_PUBLIC template;
assert_se(tpm2_get_best_srk_template(c, &template) >= 0);
@@ -1009,6 +1011,8 @@ static void check_best_srk_template(Tpm2Context *c) {
static void check_test_parms(Tpm2Context *c) {
assert(c);
TEST_LOG_FUNC();
TPMU_PUBLIC_PARMS parms = {
.symDetail.sym = {
.algorithm = TPM2_ALG_AES,
@@ -1031,6 +1035,8 @@ static void check_test_parms(Tpm2Context *c) {
static void check_supports_alg(Tpm2Context *c) {
assert(c);
TEST_LOG_FUNC();
/* Test invalid algs */
assert_se(!tpm2_supports_alg(c, TPM2_ALG_ERROR));
assert_se(!tpm2_supports_alg(c, TPM2_ALG_LAST + 1));
@@ -1044,6 +1050,8 @@ static void check_supports_alg(Tpm2Context *c) {
static void check_supports_command(Tpm2Context *c) {
assert(c);
TEST_LOG_FUNC();
/* Test invalid commands. TPM specification Part 2 ("Structures") section "TPM_CC (Command Codes)"
* states bits 31:30 and 28:16 are reserved and must be 0. */
assert_se(!tpm2_supports_command(c, UINT32_C(0x80000000)));
@@ -1062,6 +1070,8 @@ static void check_supports_command(Tpm2Context *c) {
}
static void check_get_or_create_srk(Tpm2Context *c) {
TEST_LOG_FUNC();
_cleanup_free_ TPM2B_PUBLIC *public = NULL;
_cleanup_free_ TPM2B_NAME *name = NULL, *qname = NULL;
_cleanup_(tpm2_handle_freep) Tpm2Handle *handle = NULL;
@@ -1132,6 +1142,8 @@ static int check_calculate_seal(Tpm2Context *c) {
assert(c);
int r;
TEST_LOG_FUNC();
_cleanup_free_ TPM2B_PUBLIC *srk_public = NULL;
assert_se(tpm2_get_srk(c, NULL, &srk_public, NULL, NULL, NULL) >= 0);
calculate_seal_and_unseal(c, TPM2_SRK_HANDLE, srk_public);
@@ -1204,6 +1216,8 @@ static void check_seal_unseal(Tpm2Context *c) {
assert(c);
TEST_LOG_FUNC();
check_seal_unseal_for_handle(c, 0);
check_seal_unseal_for_handle(c, TPM2_SRK_HANDLE);