summaryrefslogtreecommitdiffstats
path: root/meta-parsec/lib/oeqa/runtime/cases/parsec.py
blob: 547f74c44dd3e334b55713f15d8db7a3e8a66895 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Copyright (C) 2022 Armin Kuster <akuster808@gmail.com>
#
import re

from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.runtime.decorator.package import OEHasPackage

class ParsecTest(OERuntimeTestCase):
    @OEHasPackage(['parsec-service'])
    @OETestDepends(['ssh.SSHTest.test_ssh'])
    def test_parsec_service(self):
        toml_file = '/etc/parsec/config.tom'
        status, output = self.target.run('echo library_path = "/usr/lib/softhsm/libsofthsm2.so" >> %s' %(toml_file))
        status, output = self.target.run('echo slot_number = 0 >> %s' %(toml_file))
        status, output = self.target.run('echo user_pin = "123456" >> %s' %(toml_file))
        cmds = [
                '/etc/init.d/parsec stop',
                'sleep 5',
                'softhsm2-util --init-token --slot 0 --label "Parsec Service" --pin 123456 --so-pin 123456',
                'for d in /var/lib/softhsm/tokens/*; do chown -R parsec $d; done', 
                'mkdir /tmp/myvtpm',
                'swtpm socket --tpmstate dir=/tmp/myvtpm --tpm2 --ctrl type=tcp,port=2322 --server type=tcp,port=2321 --flags not-need-init &',
                'export TPM2TOOLS_TCTI="swtpm:port=2321"',
                'tpm2_startup -c',
                'sleep 2',
                '/etc/init.d/parsec start',
                'parsec-cli-tests.sh'
               ]

        for cmd in cmds:
            status, output = self.target.run(cmd)
            self.assertEqual(status, 0, msg='\n'.join([cmd, output]))