[libvirt] [PATCH 08/12] tests: Add test cases for external swtpm TPM emulator

Stefan Berger posted 12 patches 7 years, 6 months ago
There is a newer version of this series
[libvirt] [PATCH 08/12] tests: Add test cases for external swtpm TPM emulator
Posted by Stefan Berger 7 years, 6 months ago
This patch adds extensions to existing test cases and specific test cases
for the tpm-emulator.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
---
 .../tpm-emulator.x86_64-latest.args                | 33 ++++++++++++++++++++++
 tests/qemuxml2argvtest.c                           | 15 +++++++++-
 2 files changed, 47 insertions(+), 1 deletion(-)
 create mode 100644 tests/qemuxml2argvdata/tpm-emulator.x86_64-latest.args

diff --git a/tests/qemuxml2argvdata/tpm-emulator.x86_64-latest.args b/tests/qemuxml2argvdata/tpm-emulator.x86_64-latest.args
new file mode 100644
index 0000000000..82b676f966
--- /dev/null
+++ b/tests/qemuxml2argvdata/tpm-emulator.x86_64-latest.args
@@ -0,0 +1,33 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/home/test \
+USER=test \
+LOGNAME=test \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-x86_64 \
+-name guest=TPM-VM,debug-threads=on \
+-S \
+-object secret,id=masterKey0,format=raw,\
+file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
+-machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-m 2048 \
+-realtime mlock=off \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid 11d7cd22-da89-3094-6212-079a48a309a1 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-TPM-VM/monitor.sock,\
+server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-boot menu=on,strict=on \
+-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \
+-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm \
+-chardev socket,id=chrtpm,path=/dev/test \
+-device tpm-tis,tpmdev=tpm-tpm0,id=tpm0 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
+resourcecontrol=deny \
+-msg timestamp=on
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 78454acb1a..587f15242e 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -532,6 +532,19 @@ testCompareXMLToArgv(const void *data)
         }
     }
 
+    if (vm->def->tpm) {
+       switch (vm->def->tpm->type) {
+       case VIR_DOMAIN_TPM_TYPE_EMULATOR:
+           if (VIR_STRDUP(vm->def->tpm->data.emulator.source.data.file.path,
+                          "/dev/test") < 0)
+               goto cleanup;
+           break;
+       case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
+       case VIR_DOMAIN_TPM_TYPE_LAST:
+           break;
+       }
+    }
+
     if (!(cmd = qemuProcessCreatePretendCmd(&driver, vm, migrateURI,
                                             (flags & FLAG_FIPS), false,
                                             VIR_QEMU_PROCESS_START_COLD))) {
@@ -2013,7 +2026,7 @@ mymain(void)
             QEMU_CAPS_DEVICE_TPM_PASSTHROUGH, QEMU_CAPS_DEVICE_TPM_CRB);
     DO_TEST_PARSE_ERROR("tpm-no-backend-invalid",
                         QEMU_CAPS_DEVICE_TPM_PASSTHROUGH, QEMU_CAPS_DEVICE_TPM_TIS);
-
+    DO_TEST_CAPS_LATEST("tpm-emulator");
 
     DO_TEST_PARSE_ERROR("pci-domain-invalid", NONE);
     DO_TEST_PARSE_ERROR("pci-bus-invalid", NONE);
-- 
2.14.3

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 08/12] tests: Add test cases for external swtpm TPM emulator
Posted by Ján Tomko 7 years, 6 months ago
On Tue, May 22, 2018 at 04:44:49PM -0400, Stefan Berger wrote:
>This patch adds extensions to existing test cases and specific test cases
>for the tpm-emulator.
>
>Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
>Reviewed-by: John Ferlan <jferlan@redhat.com>
>---
> .../tpm-emulator.x86_64-latest.args                | 33 ++++++++++++++++++++++
> tests/qemuxml2argvtest.c                           | 15 +++++++++-
> 2 files changed, 47 insertions(+), 1 deletion(-)
> create mode 100644 tests/qemuxml2argvdata/tpm-emulator.x86_64-latest.args
>

>diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
>index 78454acb1a..587f15242e 100644
>--- a/tests/qemuxml2argvtest.c
>+++ b/tests/qemuxml2argvtest.c
>@@ -532,6 +532,19 @@ testCompareXMLToArgv(const void *data)
>         }
>     }
>
>+    if (vm->def->tpm) {
>+       switch (vm->def->tpm->type) {
>+       case VIR_DOMAIN_TPM_TYPE_EMULATOR:
>+           if (VIR_STRDUP(vm->def->tpm->data.emulator.source.data.file.path,
>+                          "/dev/test") < 0)
>+               goto cleanup;
>+           break;
>+       case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
>+       case VIR_DOMAIN_TPM_TYPE_LAST:
>+           break;
>+       }

This is indented by three spaces instead of four.

Jano
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 08/12] tests: Add test cases for external swtpm TPM emulator
Posted by Stefan Berger 7 years, 6 months ago
On 05/23/2018 11:43 AM, Ján Tomko wrote:
> On Tue, May 22, 2018 at 04:44:49PM -0400, Stefan Berger wrote:
>> This patch adds extensions to existing test cases and specific test 
>> cases
>> for the tpm-emulator.
>>
>> Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
>> Reviewed-by: John Ferlan <jferlan@redhat.com>
>> ---
>> .../tpm-emulator.x86_64-latest.args                | 33 
>> ++++++++++++++++++++++
>> tests/qemuxml2argvtest.c                           | 15 +++++++++-
>> 2 files changed, 47 insertions(+), 1 deletion(-)
>> create mode 100644 
>> tests/qemuxml2argvdata/tpm-emulator.x86_64-latest.args
>>
>
>> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
>> index 78454acb1a..587f15242e 100644
>> --- a/tests/qemuxml2argvtest.c
>> +++ b/tests/qemuxml2argvtest.c
>> @@ -532,6 +532,19 @@ testCompareXMLToArgv(const void *data)
>>         }
>>     }
>>
>> +    if (vm->def->tpm) {
>> +       switch (vm->def->tpm->type) {
>> +       case VIR_DOMAIN_TPM_TYPE_EMULATOR:
>> +           if 
>> (VIR_STRDUP(vm->def->tpm->data.emulator.source.data.file.path,
>> +                          "/dev/test") < 0)
>> +               goto cleanup;
>> +           break;
>> +       case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
>> +       case VIR_DOMAIN_TPM_TYPE_LAST:
>> +           break;
>> +       }
>
> This is indented by three spaces instead of four.

Fixed.
>
> Jano


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list