Re: [PATCH v1 2/3] tests/functional/s390x/test_secure_ipl: Skip test if SIPL not supported by hypervisor

Jared Rossi <[email protected]>
Newsgroups gmane.comp.emulators.qemu
Message-ID <[email protected]>

On 8/12/26 11:21 AM, Joshua Daley wrote:
> Currently, if secure IPL is not supported by the hypervisor, the test
> will fail because "Verified component" never appears. One must inspect
> the console log to observe the cause of the failure.
>
> Add a check that skips the test if the host CPU model is missing the
> secure IPL facilities.
>
> Signed-off-by: Joshua Daley <[email protected]>
> ---
>   tests/functional/s390x/test_secure_ipl.py | 18 ++++++++++++++++++
>   1 file changed, 18 insertions(+)
>
> diff --git a/tests/functional/s390x/test_secure_ipl.py b/tests/functional/s390x/test_secure_ipl.py
> index 06fc93e404..5af36b91d8 100755
> --- a/tests/functional/s390x/test_secure_ipl.py
> +++ b/tests/functional/s390x/test_secure_ipl.py
> @@ -29,6 +29,22 @@ def __init__(self, *args, **kwargs):
>           self.cert_path = None
>           self.prompt = None
>   
> +    def _require_host_secure_ipl_support(self, vm):
> +        """
> +        Skip the test if the host CPU model does not expose the Secure IPL
> +        facilities (sipl, sclaf, cstore).
> +        """
> +        props = vm.cmd('query-cpu-model-expansion',
> +                       model={'name': 'host'},
> +                       type='full')['model']['props']
> +        missing = [f for f in ('sipl', 'sclaf', 'cstore')
> +                   if not props.get(f)]
> +        if missing:
> +            self.skipTest(
> +                f"Host CPU does not support Secure IPL: "
> +                f"missing feature(s): {', '.join(missing)}. "
> +                f"Secure IPL requires a z16+ host.")
> +
>       def _create_certificate(self, vm):
>           """Generate x509 certificate"""
>           exec_command_and_wait_for_pattern(self,
> @@ -107,6 +123,8 @@ def setup_s390x_secure_ipl(self):
>                            '-device', 'virtio-blk-ccw,drive=drive0,bootindex=1')
>           temp_vm.launch()
>   
> +        self._require_host_secure_ipl_support(temp_vm)
> +
>           # Initial root account setup (Fedora first boot screen)
>           self.root_password = 'fedora40password'
>           wait_for_console_pattern(self, 'Please make a selection from the above',
Reviewed-by: Jared Rossi <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.