<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>spapr-tpm-proxy</value>
</enum>
<enum name='backendModel'/>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>1.2</value>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
<value>passthrough</value>
<value>emulator</value>
</enum>
+ <enum name='backendVersion'>
+ <value>2.0</value>
+ </enum>
</tpm>
</devices>
<features>
g_autofree char *name = NULL;
g_autofree char *capsName = NULL;
g_autofree char *emulator = NULL;
+ int rc;
name = g_strdup_printf("qemu_%s%s%s%s.%s",
version,
};
VIR_WARNINGS_RESET
- if (virTestRun(name, test_virDomainCapsFormat, &data) < 0)
+ if (STRPREFIX(version, "3.") ||
+ STRPREFIX(version, "4.") ||
+ STRPREFIX(version, "5.")) {
+ g_setenv(TEST_TPM_ENV_VAR, TPM_VER_1_2, true);
+ } else if (STRPREFIX(version, "6.")) {
+ g_setenv(TEST_TPM_ENV_VAR, TPM_VER_1_2 TPM_VER_2_0, true);
+ } else {
+ g_setenv(TEST_TPM_ENV_VAR, TPM_VER_2_0, true);
+ }
+
+ rc = virTestRun(name, test_virDomainCapsFormat, &data);
+
+ g_unsetenv(TEST_TPM_ENV_VAR);
+
+ if (rc < 0)
return -1;
return 0;
}
+
bool
virTPMSwtpmSetupCapsGet(virTPMSwtpmSetupFeature cap)
{
+ const char *tpmver = getenv(TEST_TPM_ENV_VAR);
+
switch (cap) {
+ case VIR_TPM_SWTPM_SETUP_FEATURE_TPM_1_2:
+ if (!tpmver || (tpmver && strstr(tpmver, TPM_VER_1_2)))
+ return true;
+ break;
+ case VIR_TPM_SWTPM_SETUP_FEATURE_TPM_2_0:
+ if (!tpmver || (tpmver && strstr(tpmver, TPM_VER_2_0)))
+ return true;
+ break;
case VIR_TPM_SWTPM_SETUP_FEATURE_CMDARG_PWDFILE_FD:
case VIR_TPM_SWTPM_SETUP_FEATURE_CMDARG_CREATE_CONFIG_FILES:
case VIR_TPM_SWTPM_SETUP_FEATURE_TPM12_NOT_NEED_ROOT:
case VIR_TPM_SWTPM_SETUP_FEATURE_CMDARG_RECONFIGURE_PCR_BANKS:
- case VIR_TPM_SWTPM_SETUP_FEATURE_TPM_1_2:
- case VIR_TPM_SWTPM_SETUP_FEATURE_TPM_2_0:
case VIR_TPM_SWTPM_SETUP_FEATURE_LAST:
break;
}
# include "qemu/qemu_conf.h"
# define TEST_QEMU_CAPS_PATH abs_srcdir "/qemucapabilitiesdata"
+# define TEST_TPM_ENV_VAR "VIR_TEST_MOCK_FAKE_TPM_VERSION"
+# define TPM_VER_1_2 "1.2"
+# define TPM_VER_2_0 "2.0"
enum {
GIC_NONE = 0,