]>
Commit | Line | Data |
---|---|---|
95bed8ce SB |
1 | #!/bin/bash |
2 | ||
3 | # For the license, see the LICENSE file in the root directory. | |
4 | #set -x | |
5 | ||
6 | ROOT=${abs_top_builddir:-$(pwd)/..} | |
7 | TESTDIR=${abs_top_testdir:-$(dirname "$0")} | |
8 | ||
cc410ca9 SB |
9 | PATH=$ROOT/src/swtpm:$PATH |
10 | ||
95bed8ce SB |
11 | [ "${SWTPM_IFACE}" == "cuse" ] && source ${TESTDIR}/test_cuse |
12 | source ${TESTDIR}/common | |
13 | ||
14 | msg="$(${SWTPM_EXE} ${SWTPM_IFACE} --print-capabilities 2>&1)" | |
15 | if [ $? -ne 0 ]; then | |
16 | echo "Error: Could not pass --print-capabilities" | |
17 | echo "${msg}" | |
18 | exit 1 | |
19 | fi | |
20 | ||
c359fed0 | 21 | if has_seccomp_support "${SWTPM_EXE}"; then |
95bed8ce SB |
22 | seccomp='"cmdarg-seccomp", ' |
23 | fi | |
24 | if [ "${SWTPM_IFACE}" != "cuse" ]; then | |
695274e0 | 25 | noncuse='"tpm-send-command-header", "flags-opt-startup", ' |
95bed8ce SB |
26 | fi |
27 | ||
28 | exp='{ "type": "swtpm", "features": [ '${noncuse}${seccomp}'"cmdarg-key-fd", "cmdarg-pwd-fd" ] }' | |
29 | if [ "${msg}" != "${exp}" ]; then | |
30 | echo "Unexpected response from ${SWTPM_IFACE} TPM to --print-capabilities:" | |
31 | echo "Actual : ${msg}" | |
32 | echo "Expected : ${exp}" | |
33 | exit 1 | |
34 | fi | |
35 | ||
0db8249c SB |
36 | echo "Test 1: OK" |
37 | ||
38 | msg="$(${SWTPM_SETUP} --print-capabilities 2>&1)" | |
39 | if [ $? -ne 0 ]; then | |
40 | echo "Error: Could not pass --print-capabilities" | |
41 | echo "${msg}" | |
42 | exit 1 | |
43 | fi | |
44 | ||
1974f2ce | 45 | # The are some variable parameters at the end, use regex |
cc410ca9 | 46 | exp='\{ "type": "swtpm_setup", "features": \[ "cmdarg-keyfile-fd", "cmdarg-pwdfile-fd", "tpm12-not-need-root"(, "tpm2-rsa-keysize-2048")?(, "tpm2-rsa-keysize-3072")? \] \}' |
1974f2ce | 47 | if ! [[ ${msg} =~ ${exp} ]]; then |
0db8249c SB |
48 | echo "Unexpected response from ${SWTPM_SETUP} to --print-capabilities:" |
49 | echo "Actual : ${msg}" | |
50 | echo "Expected : ${exp}" | |
51 | exit 1 | |
52 | fi | |
53 | ||
54 | echo "Test 2: OK" | |
95bed8ce | 55 | |
195353de SB |
56 | # SWTPM_CERT may be run by valgrind |
57 | if [ -x "$(type -P $(echo "${SWTPM_CERT}" | cut -d" " -f1) )" ]; then | |
58 | msg="$(${SWTPM_CERT} --print-capabilities 2>&1)" | |
59 | if [ $? -ne 0 ]; then | |
60 | echo "Error: Could not pass --print-capabilities to ${SWTPM_CERT}" | |
61 | echo "${msg}" | |
62 | exit 1 | |
63 | fi | |
88c7bdc9 | 64 | |
195353de SB |
65 | exp='{ "type": "swtpm_cert", "features": [ "cmdarg-signkey-pwd", "cmdarg-parentkey-pwd" ] }' |
66 | if [ "${msg}" != "${exp}" ]; then | |
67 | echo "Unexpected response from ${SWTPM_CERT} to --print-capabilities:" | |
68 | echo "Actual : ${msg}" | |
69 | echo "Expected : ${exp}" | |
70 | exit 1 | |
71 | fi | |
88c7bdc9 | 72 | |
195353de SB |
73 | echo "Test 3: OK" |
74 | else | |
75 | echo "Test 2: SKIP -- ${SWTPM_CERT} not found or not an executable" | |
76 | fi | |
88c7bdc9 | 77 | |
95bed8ce | 78 | exit 0 |