Browse Source

test: Pass TPM interface model to functions creating command line

Pass the TPM interface model, such as 'tpm-crb', through to the functions
that create the command line for QEMU.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
pull/73/head
Stefan Berger 8 years ago
parent
commit
ea71a33691
  1. 4
      tests/tpm-crb-swtpm-test.c
  2. 13
      tests/tpm-tests.c
  3. 6
      tests/tpm-tests.h
  4. 11
      tests/tpm-util.c
  5. 3
      tests/tpm-util.h

4
tests/tpm-crb-swtpm-test.c

@ -28,7 +28,7 @@ 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_test_swtpm_test(ts->src_tpm_path, tpm_util_crb_transfer, "tpm-crb");
}
static void tpm_crb_swtpm_migration_test(const void *data)
@ -36,7 +36,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_util_crb_transfer, "tpm-crb");
}
int main(int argc, char **argv)

13
tests/tpm-tests.c

@ -18,7 +18,8 @@
#include "libqtest.h"
#include "tpm-tests.h"
void tpm_test_swtpm_test(const char *src_tpm_path, tx_func *tx)
void tpm_test_swtpm_test(const char *src_tpm_path, tx_func *tx,
const char *ifmodel)
{
char *args = NULL;
QTestState *s;
@ -36,8 +37,8 @@ void tpm_test_swtpm_test(const char *src_tpm_path, tx_func *tx)
args = g_strdup_printf(
"-chardev socket,id=chr,path=%s "
"-tpmdev emulator,id=dev,chardev=chr "
"-device tpm-crb,tpmdev=dev",
addr->u.q_unix.path);
"-device %s,tpmdev=dev",
addr->u.q_unix.path, ifmodel);
s = qtest_start(args);
g_free(args);
@ -64,7 +65,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 *uri, tx_func *tx,
const char *ifmodel)
{
gboolean succ;
GPid src_tpm_pid, dst_tpm_pid;
@ -87,7 +89,8 @@ 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);
src_tpm_addr, dst_tpm_addr, uri,
ifmodel);
tpm_util_startup(src_qemu, tx);
tpm_util_pcrextend(src_qemu, tx);

6
tests/tpm-tests.h

@ -15,10 +15,12 @@
#include "tpm-util.h"
void tpm_test_swtpm_test(const char *src_tpm_path, tx_func *tx);
void tpm_test_swtpm_test(const char *src_tpm_path, tx_func *tx,
const char *ifmodel);
void tpm_test_swtpm_migration_test(const char *src_tpm_path,
const char *dst_tpm_path,
const char *uri, tx_func *tx);
const char *uri, tx_func *tx,
const char *ifmodel);
#endif /* TESTS_TPM_TESTS_H */

11
tests/tpm-util.c

@ -248,25 +248,26 @@ void tpm_util_migration_start_qemu(QTestState **src_qemu,
QTestState **dst_qemu,
SocketAddress *src_tpm_addr,
SocketAddress *dst_tpm_addr,
const char *miguri)
const char *miguri,
const char *ifmodel)
{
char *src_qemu_args, *dst_qemu_args;
src_qemu_args = g_strdup_printf(
"-chardev socket,id=chr,path=%s "
"-tpmdev emulator,id=dev,chardev=chr "
"-device tpm-crb,tpmdev=dev ",
src_tpm_addr->u.q_unix.path);
"-device %s,tpmdev=dev ",
src_tpm_addr->u.q_unix.path, ifmodel);
*src_qemu = qtest_init(src_qemu_args);
dst_qemu_args = g_strdup_printf(
"-chardev socket,id=chr,path=%s "
"-tpmdev emulator,id=dev,chardev=chr "
"-device tpm-crb,tpmdev=dev "
"-device %s,tpmdev=dev "
"-incoming %s",
dst_tpm_addr->u.q_unix.path,
miguri);
ifmodel, miguri);
*dst_qemu = qtest_init(dst_qemu_args);

3
tests/tpm-util.h

@ -39,7 +39,8 @@ void tpm_util_migration_start_qemu(QTestState **src_qemu,
QTestState **dst_qemu,
SocketAddress *src_tpm_addr,
SocketAddress *dst_tpm_addr,
const char *miguri);
const char *miguri,
const char *ifmodel);
void tpm_util_wait_for_migration_complete(QTestState *who);

Loading…
Cancel
Save