Message ID | 20200226102549.12158-9-eric.auger@redhat.com |
---|---|
State | New |
Headers | show |
Series | vTPM for aarch64 | expand |
On 2/26/20 5:25 AM, Eric Auger wrote: > We plan to use swtpm test functions on ARM for testing the > sysbus TPM-TIS device. However on ARM there is no default machine > type. So we need to explictly pass some machine options on startup. > Let's allow this by adding a new parameter to both swtpm test > functions and update all call sites. > > Signed-off-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Stefan Berger <stefanb@linux.ibm.com> > --- > tests/qtest/tpm-crb-swtpm-test.c | 5 +++-- > tests/qtest/tpm-tests.c | 10 ++++++---- > tests/qtest/tpm-tests.h | 5 +++-- > tests/qtest/tpm-tis-swtpm-test.c | 5 +++-- > tests/qtest/tpm-util.c | 8 ++++++-- > tests/qtest/tpm-util.h | 3 ++- > 6 files changed, 23 insertions(+), 13 deletions(-) > > diff --git a/tests/qtest/tpm-crb-swtpm-test.c b/tests/qtest/tpm-crb-swtpm-test.c > index 2c4fb8ae29..5228cb7af4 100644 > --- a/tests/qtest/tpm-crb-swtpm-test.c > +++ b/tests/qtest/tpm-crb-swtpm-test.c > @@ -29,7 +29,8 @@ static void tpm_crb_swtpm_test(const void *data) > { > const TestState *ts = data; > > - tpm_test_swtpm_test(ts->src_tpm_path, tpm_util_crb_transfer, "tpm-crb"); > + tpm_test_swtpm_test(ts->src_tpm_path, tpm_util_crb_transfer, > + "tpm-crb", NULL); > } > > static void tpm_crb_swtpm_migration_test(const void *data) > @@ -37,7 +38,7 @@ static void tpm_crb_swtpm_migration_test(const void *data) > const TestState *ts = data; > > tpm_test_swtpm_migration_test(ts->src_tpm_path, ts->dst_tpm_path, ts->uri, > - tpm_util_crb_transfer, "tpm-crb"); > + tpm_util_crb_transfer, "tpm-crb", NULL); > } > > int main(int argc, char **argv) > diff --git a/tests/qtest/tpm-tests.c b/tests/qtest/tpm-tests.c > index 6e45a0ba85..a2f2838e15 100644 > --- a/tests/qtest/tpm-tests.c > +++ b/tests/qtest/tpm-tests.c > @@ -30,7 +30,7 @@ tpm_test_swtpm_skip(void) > } > > void tpm_test_swtpm_test(const char *src_tpm_path, tx_func *tx, > - const char *ifmodel) > + const char *ifmodel, const char *machine_options) > { > char *args = NULL; > QTestState *s; > @@ -47,10 +47,11 @@ void tpm_test_swtpm_test(const char *src_tpm_path, tx_func *tx, > g_assert_true(succ); > > args = g_strdup_printf( > + "%s " > "-chardev socket,id=chr,path=%s " > "-tpmdev emulator,id=dev,chardev=chr " > "-device %s,tpmdev=dev", > - addr->u.q_unix.path, ifmodel); > + machine_options ? : "", addr->u.q_unix.path, ifmodel); > > s = qtest_start(args); > g_free(args); > @@ -78,7 +79,8 @@ void tpm_test_swtpm_test(const char *src_tpm_path, tx_func *tx, > void tpm_test_swtpm_migration_test(const char *src_tpm_path, > const char *dst_tpm_path, > const char *uri, tx_func *tx, > - const char *ifmodel) > + const char *ifmodel, > + const char *machine_options) > { > gboolean succ; > GPid src_tpm_pid, dst_tpm_pid; > @@ -100,7 +102,7 @@ void tpm_test_swtpm_migration_test(const char *src_tpm_path, > > tpm_util_migration_start_qemu(&src_qemu, &dst_qemu, > src_tpm_addr, dst_tpm_addr, uri, > - ifmodel); > + ifmodel, machine_options); > > tpm_util_startup(src_qemu, tx); > tpm_util_pcrextend(src_qemu, tx); > diff --git a/tests/qtest/tpm-tests.h b/tests/qtest/tpm-tests.h > index b97688fe75..a5df35ab5b 100644 > --- a/tests/qtest/tpm-tests.h > +++ b/tests/qtest/tpm-tests.h > @@ -16,11 +16,12 @@ > #include "tpm-util.h" > > void tpm_test_swtpm_test(const char *src_tpm_path, tx_func *tx, > - const char *ifmodel); > + const char *ifmodel, const char *machine_options); > > void tpm_test_swtpm_migration_test(const char *src_tpm_path, > const char *dst_tpm_path, > const char *uri, tx_func *tx, > - const char *ifmodel); > + const char *ifmodel, > + const char *machine_options); > > #endif /* TESTS_TPM_TESTS_H */ > diff --git a/tests/qtest/tpm-tis-swtpm-test.c b/tests/qtest/tpm-tis-swtpm-test.c > index 9f58a3a92b..9470f15751 100644 > --- a/tests/qtest/tpm-tis-swtpm-test.c > +++ b/tests/qtest/tpm-tis-swtpm-test.c > @@ -29,7 +29,8 @@ static void tpm_tis_swtpm_test(const void *data) > { > const TestState *ts = data; > > - tpm_test_swtpm_test(ts->src_tpm_path, tpm_util_tis_transfer, "tpm-tis"); > + tpm_test_swtpm_test(ts->src_tpm_path, tpm_util_tis_transfer, > + "tpm-tis", NULL); > } > > static void tpm_tis_swtpm_migration_test(const void *data) > @@ -37,7 +38,7 @@ static void tpm_tis_swtpm_migration_test(const void *data) > const TestState *ts = data; > > tpm_test_swtpm_migration_test(ts->src_tpm_path, ts->dst_tpm_path, ts->uri, > - tpm_util_tis_transfer, "tpm-tis"); > + tpm_util_tis_transfer, "tpm-tis", NULL); > } > > int main(int argc, char **argv) > diff --git a/tests/qtest/tpm-util.c b/tests/qtest/tpm-util.c > index e08b137651..7ecdae2fc6 100644 > --- a/tests/qtest/tpm-util.c > +++ b/tests/qtest/tpm-util.c > @@ -258,23 +258,27 @@ void tpm_util_migration_start_qemu(QTestState **src_qemu, > SocketAddress *src_tpm_addr, > SocketAddress *dst_tpm_addr, > const char *miguri, > - const char *ifmodel) > + const char *ifmodel, > + const char *machine_options) > { > char *src_qemu_args, *dst_qemu_args; > > src_qemu_args = g_strdup_printf( > + "%s " > "-chardev socket,id=chr,path=%s " > "-tpmdev emulator,id=dev,chardev=chr " > "-device %s,tpmdev=dev ", > - src_tpm_addr->u.q_unix.path, ifmodel); > + machine_options ? : "", src_tpm_addr->u.q_unix.path, ifmodel); > > *src_qemu = qtest_init(src_qemu_args); > > dst_qemu_args = g_strdup_printf( > + "%s " > "-chardev socket,id=chr,path=%s " > "-tpmdev emulator,id=dev,chardev=chr " > "-device %s,tpmdev=dev " > "-incoming %s", > + machine_options ? : "", > dst_tpm_addr->u.q_unix.path, > ifmodel, miguri); > > diff --git a/tests/qtest/tpm-util.h b/tests/qtest/tpm-util.h > index 5755698ad2..15e3924942 100644 > --- a/tests/qtest/tpm-util.h > +++ b/tests/qtest/tpm-util.h > @@ -44,7 +44,8 @@ void tpm_util_migration_start_qemu(QTestState **src_qemu, > SocketAddress *src_tpm_addr, > SocketAddress *dst_tpm_addr, > const char *miguri, > - const char *ifmodel); > + const char *ifmodel, > + const char *machine_options); > > void tpm_util_wait_for_migration_complete(QTestState *who); >
diff --git a/tests/qtest/tpm-crb-swtpm-test.c b/tests/qtest/tpm-crb-swtpm-test.c index 2c4fb8ae29..5228cb7af4 100644 --- a/tests/qtest/tpm-crb-swtpm-test.c +++ b/tests/qtest/tpm-crb-swtpm-test.c @@ -29,7 +29,8 @@ static void tpm_crb_swtpm_test(const void *data) { const TestState *ts = data; - tpm_test_swtpm_test(ts->src_tpm_path, tpm_util_crb_transfer, "tpm-crb"); + tpm_test_swtpm_test(ts->src_tpm_path, tpm_util_crb_transfer, + "tpm-crb", NULL); } static void tpm_crb_swtpm_migration_test(const void *data) @@ -37,7 +38,7 @@ static void tpm_crb_swtpm_migration_test(const void *data) const TestState *ts = data; tpm_test_swtpm_migration_test(ts->src_tpm_path, ts->dst_tpm_path, ts->uri, - tpm_util_crb_transfer, "tpm-crb"); + tpm_util_crb_transfer, "tpm-crb", NULL); } int main(int argc, char **argv) diff --git a/tests/qtest/tpm-tests.c b/tests/qtest/tpm-tests.c index 6e45a0ba85..a2f2838e15 100644 --- a/tests/qtest/tpm-tests.c +++ b/tests/qtest/tpm-tests.c @@ -30,7 +30,7 @@ tpm_test_swtpm_skip(void) } void tpm_test_swtpm_test(const char *src_tpm_path, tx_func *tx, - const char *ifmodel) + const char *ifmodel, const char *machine_options) { char *args = NULL; QTestState *s; @@ -47,10 +47,11 @@ void tpm_test_swtpm_test(const char *src_tpm_path, tx_func *tx, g_assert_true(succ); args = g_strdup_printf( + "%s " "-chardev socket,id=chr,path=%s " "-tpmdev emulator,id=dev,chardev=chr " "-device %s,tpmdev=dev", - addr->u.q_unix.path, ifmodel); + machine_options ? : "", addr->u.q_unix.path, ifmodel); s = qtest_start(args); g_free(args); @@ -78,7 +79,8 @@ void tpm_test_swtpm_test(const char *src_tpm_path, tx_func *tx, void tpm_test_swtpm_migration_test(const char *src_tpm_path, const char *dst_tpm_path, const char *uri, tx_func *tx, - const char *ifmodel) + const char *ifmodel, + const char *machine_options) { gboolean succ; GPid src_tpm_pid, dst_tpm_pid; @@ -100,7 +102,7 @@ void tpm_test_swtpm_migration_test(const char *src_tpm_path, tpm_util_migration_start_qemu(&src_qemu, &dst_qemu, src_tpm_addr, dst_tpm_addr, uri, - ifmodel); + ifmodel, machine_options); tpm_util_startup(src_qemu, tx); tpm_util_pcrextend(src_qemu, tx); diff --git a/tests/qtest/tpm-tests.h b/tests/qtest/tpm-tests.h index b97688fe75..a5df35ab5b 100644 --- a/tests/qtest/tpm-tests.h +++ b/tests/qtest/tpm-tests.h @@ -16,11 +16,12 @@ #include "tpm-util.h" void tpm_test_swtpm_test(const char *src_tpm_path, tx_func *tx, - const char *ifmodel); + const char *ifmodel, const char *machine_options); void tpm_test_swtpm_migration_test(const char *src_tpm_path, const char *dst_tpm_path, const char *uri, tx_func *tx, - const char *ifmodel); + const char *ifmodel, + const char *machine_options); #endif /* TESTS_TPM_TESTS_H */ diff --git a/tests/qtest/tpm-tis-swtpm-test.c b/tests/qtest/tpm-tis-swtpm-test.c index 9f58a3a92b..9470f15751 100644 --- a/tests/qtest/tpm-tis-swtpm-test.c +++ b/tests/qtest/tpm-tis-swtpm-test.c @@ -29,7 +29,8 @@ static void tpm_tis_swtpm_test(const void *data) { const TestState *ts = data; - tpm_test_swtpm_test(ts->src_tpm_path, tpm_util_tis_transfer, "tpm-tis"); + tpm_test_swtpm_test(ts->src_tpm_path, tpm_util_tis_transfer, + "tpm-tis", NULL); } static void tpm_tis_swtpm_migration_test(const void *data) @@ -37,7 +38,7 @@ static void tpm_tis_swtpm_migration_test(const void *data) const TestState *ts = data; tpm_test_swtpm_migration_test(ts->src_tpm_path, ts->dst_tpm_path, ts->uri, - tpm_util_tis_transfer, "tpm-tis"); + tpm_util_tis_transfer, "tpm-tis", NULL); } int main(int argc, char **argv) diff --git a/tests/qtest/tpm-util.c b/tests/qtest/tpm-util.c index e08b137651..7ecdae2fc6 100644 --- a/tests/qtest/tpm-util.c +++ b/tests/qtest/tpm-util.c @@ -258,23 +258,27 @@ void tpm_util_migration_start_qemu(QTestState **src_qemu, SocketAddress *src_tpm_addr, SocketAddress *dst_tpm_addr, const char *miguri, - const char *ifmodel) + const char *ifmodel, + const char *machine_options) { char *src_qemu_args, *dst_qemu_args; src_qemu_args = g_strdup_printf( + "%s " "-chardev socket,id=chr,path=%s " "-tpmdev emulator,id=dev,chardev=chr " "-device %s,tpmdev=dev ", - src_tpm_addr->u.q_unix.path, ifmodel); + machine_options ? : "", src_tpm_addr->u.q_unix.path, ifmodel); *src_qemu = qtest_init(src_qemu_args); dst_qemu_args = g_strdup_printf( + "%s " "-chardev socket,id=chr,path=%s " "-tpmdev emulator,id=dev,chardev=chr " "-device %s,tpmdev=dev " "-incoming %s", + machine_options ? : "", dst_tpm_addr->u.q_unix.path, ifmodel, miguri); diff --git a/tests/qtest/tpm-util.h b/tests/qtest/tpm-util.h index 5755698ad2..15e3924942 100644 --- a/tests/qtest/tpm-util.h +++ b/tests/qtest/tpm-util.h @@ -44,7 +44,8 @@ void tpm_util_migration_start_qemu(QTestState **src_qemu, SocketAddress *src_tpm_addr, SocketAddress *dst_tpm_addr, const char *miguri, - const char *ifmodel); + const char *ifmodel, + const char *machine_options); void tpm_util_wait_for_migration_complete(QTestState *who);
We plan to use swtpm test functions on ARM for testing the sysbus TPM-TIS device. However on ARM there is no default machine type. So we need to explictly pass some machine options on startup. Let's allow this by adding a new parameter to both swtpm test functions and update all call sites. Signed-off-by: Eric Auger <eric.auger@redhat.com> --- tests/qtest/tpm-crb-swtpm-test.c | 5 +++-- tests/qtest/tpm-tests.c | 10 ++++++---- tests/qtest/tpm-tests.h | 5 +++-- tests/qtest/tpm-tis-swtpm-test.c | 5 +++-- tests/qtest/tpm-util.c | 8 ++++++-- tests/qtest/tpm-util.h | 3 ++- 6 files changed, 23 insertions(+), 13 deletions(-)