[PATCH] tests/qtest: Run arm-specific tests only if the required machine is available

Thomas Huth posted 1 patch 11 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230524080600.1618137-1-thuth@redhat.com
Maintainers: Thomas Huth <thuth@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
tests/qtest/meson.build | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
[PATCH] tests/qtest: Run arm-specific tests only if the required machine is available
Posted by Thomas Huth 11 months, 2 weeks ago
pflash-cfi02-test.c always uses the "musicpal" machine for testing,
test-arm-mptimer.c always uses the "vexpress-a9" machine, and
microbit-test.c requires the "microbit" machine, so we should only
run these tests if the machines have been enabled in the configuration.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qtest/meson.build | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index 4c5585ac0f..087f2dc9d7 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -198,14 +198,15 @@ qtests_arm = \
   (config_all_devices.has_key('CONFIG_CMSDK_APB_DUALTIMER') ? ['cmsdk-apb-dualtimer-test'] : []) + \
   (config_all_devices.has_key('CONFIG_CMSDK_APB_TIMER') ? ['cmsdk-apb-timer-test'] : []) + \
   (config_all_devices.has_key('CONFIG_CMSDK_APB_WATCHDOG') ? ['cmsdk-apb-watchdog-test'] : []) + \
-  (config_all_devices.has_key('CONFIG_PFLASH_CFI02') ? ['pflash-cfi02-test'] : []) +         \
+  (config_all_devices.has_key('CONFIG_PFLASH_CFI02') and
+   config_all_devices.has_key('CONFIG_MUSICPAL') ? ['pflash-cfi02-test'] : []) + \
   (config_all_devices.has_key('CONFIG_ASPEED_SOC') ? qtests_aspeed : []) + \
   (config_all_devices.has_key('CONFIG_NPCM7XX') ? qtests_npcm7xx : []) + \
   (config_all_devices.has_key('CONFIG_GENERIC_LOADER') ? ['hexloader-test'] : []) + \
   (config_all_devices.has_key('CONFIG_TPM_TIS_I2C') ? ['tpm-tis-i2c-test'] : []) + \
+  (config_all_devices.has_key('CONFIG_VEXPRESS') ? ['test-arm-mptimer'] : []) + \
+  (config_all_devices.has_key('CONFIG_MICROBIT') ? ['microbit-test'] : []) + \
   ['arm-cpu-features',
-   'microbit-test',
-   'test-arm-mptimer',
    'boot-serial-test']
 
 # TODO: once aarch64 TCG is fixed on ARM 32 bit host, make bios-tables-test unconditional
-- 
2.31.1
Re: [PATCH] tests/qtest: Run arm-specific tests only if the required machine is available
Posted by Peter Maydell 11 months, 2 weeks ago
On Wed, 24 May 2023 at 09:06, Thomas Huth <thuth@redhat.com> wrote:
>
> pflash-cfi02-test.c always uses the "musicpal" machine for testing,
> test-arm-mptimer.c always uses the "vexpress-a9" machine, and
> microbit-test.c requires the "microbit" machine, so we should only
> run these tests if the machines have been enabled in the configuration.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  tests/qtest/meson.build | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
> index 4c5585ac0f..087f2dc9d7 100644
> --- a/tests/qtest/meson.build
> +++ b/tests/qtest/meson.build
> @@ -198,14 +198,15 @@ qtests_arm = \
>    (config_all_devices.has_key('CONFIG_CMSDK_APB_DUALTIMER') ? ['cmsdk-apb-dualtimer-test'] : []) + \
>    (config_all_devices.has_key('CONFIG_CMSDK_APB_TIMER') ? ['cmsdk-apb-timer-test'] : []) + \
>    (config_all_devices.has_key('CONFIG_CMSDK_APB_WATCHDOG') ? ['cmsdk-apb-watchdog-test'] : []) + \
> -  (config_all_devices.has_key('CONFIG_PFLASH_CFI02') ? ['pflash-cfi02-test'] : []) +         \
> +  (config_all_devices.has_key('CONFIG_PFLASH_CFI02') and
> +   config_all_devices.has_key('CONFIG_MUSICPAL') ? ['pflash-cfi02-test'] : []) + \
>    (config_all_devices.has_key('CONFIG_ASPEED_SOC') ? qtests_aspeed : []) + \
>    (config_all_devices.has_key('CONFIG_NPCM7XX') ? qtests_npcm7xx : []) + \
>    (config_all_devices.has_key('CONFIG_GENERIC_LOADER') ? ['hexloader-test'] : []) + \
>    (config_all_devices.has_key('CONFIG_TPM_TIS_I2C') ? ['tpm-tis-i2c-test'] : []) + \
> +  (config_all_devices.has_key('CONFIG_VEXPRESS') ? ['test-arm-mptimer'] : []) + \
> +  (config_all_devices.has_key('CONFIG_MICROBIT') ? ['microbit-test'] : []) + \
>    ['arm-cpu-features',
> -   'microbit-test',
> -   'test-arm-mptimer',
>     'boot-serial-test']

Applied to target-arm.next, thanks.

>  # TODO: once aarch64 TCG is fixed on ARM 32 bit host, make bios-tables-test unconditional

Aside: I wonder what we meant by this... Added in
commit ab6b6a7777449905a in 2019 with no further detail.

-- PMM
Re: [PATCH] tests/qtest: Run arm-specific tests only if the required machine is available
Posted by Philippe Mathieu-Daudé 11 months, 2 weeks ago
On 24/5/23 10:06, Thomas Huth wrote:
> pflash-cfi02-test.c always uses the "musicpal" machine for testing,
> test-arm-mptimer.c always uses the "vexpress-a9" machine, and
> microbit-test.c requires the "microbit" machine, so we should only
> run these tests if the machines have been enabled in the configuration.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   tests/qtest/meson.build | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
> index 4c5585ac0f..087f2dc9d7 100644
> --- a/tests/qtest/meson.build
> +++ b/tests/qtest/meson.build
> @@ -198,14 +198,15 @@ qtests_arm = \
>     (config_all_devices.has_key('CONFIG_CMSDK_APB_DUALTIMER') ? ['cmsdk-apb-dualtimer-test'] : []) + \
>     (config_all_devices.has_key('CONFIG_CMSDK_APB_TIMER') ? ['cmsdk-apb-timer-test'] : []) + \
>     (config_all_devices.has_key('CONFIG_CMSDK_APB_WATCHDOG') ? ['cmsdk-apb-watchdog-test'] : []) + \
> -  (config_all_devices.has_key('CONFIG_PFLASH_CFI02') ? ['pflash-cfi02-test'] : []) +         \
> +  (config_all_devices.has_key('CONFIG_PFLASH_CFI02') and
> +   config_all_devices.has_key('CONFIG_MUSICPAL') ? ['pflash-cfi02-test'] : []) + \
>     (config_all_devices.has_key('CONFIG_ASPEED_SOC') ? qtests_aspeed : []) + \
>     (config_all_devices.has_key('CONFIG_NPCM7XX') ? qtests_npcm7xx : []) + \
>     (config_all_devices.has_key('CONFIG_GENERIC_LOADER') ? ['hexloader-test'] : []) + \
>     (config_all_devices.has_key('CONFIG_TPM_TIS_I2C') ? ['tpm-tis-i2c-test'] : []) + \
> +  (config_all_devices.has_key('CONFIG_VEXPRESS') ? ['test-arm-mptimer'] : []) + \

Also ARM_MPTIMER?

> +  (config_all_devices.has_key('CONFIG_MICROBIT') ? ['microbit-test'] : []) + \
>     ['arm-cpu-features',
> -   'microbit-test',
> -   'test-arm-mptimer',
>      'boot-serial-test']
>   
>   # TODO: once aarch64 TCG is fixed on ARM 32 bit host, make bios-tables-test unconditional
Re: [PATCH] tests/qtest: Run arm-specific tests only if the required machine is available
Posted by Thomas Huth 11 months, 2 weeks ago
On 24/05/2023 16.01, Philippe Mathieu-Daudé wrote:
> On 24/5/23 10:06, Thomas Huth wrote:
>> pflash-cfi02-test.c always uses the "musicpal" machine for testing,
>> test-arm-mptimer.c always uses the "vexpress-a9" machine, and
>> microbit-test.c requires the "microbit" machine, so we should only
>> run these tests if the machines have been enabled in the configuration.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   tests/qtest/meson.build | 7 ++++---
>>   1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
>> index 4c5585ac0f..087f2dc9d7 100644
>> --- a/tests/qtest/meson.build
>> +++ b/tests/qtest/meson.build
>> @@ -198,14 +198,15 @@ qtests_arm = \
>>     (config_all_devices.has_key('CONFIG_CMSDK_APB_DUALTIMER') ? 
>> ['cmsdk-apb-dualtimer-test'] : []) + \
>>     (config_all_devices.has_key('CONFIG_CMSDK_APB_TIMER') ? 
>> ['cmsdk-apb-timer-test'] : []) + \
>>     (config_all_devices.has_key('CONFIG_CMSDK_APB_WATCHDOG') ? 
>> ['cmsdk-apb-watchdog-test'] : []) + \
>> -  (config_all_devices.has_key('CONFIG_PFLASH_CFI02') ? 
>> ['pflash-cfi02-test'] : []) +         \
>> +  (config_all_devices.has_key('CONFIG_PFLASH_CFI02') and
>> +   config_all_devices.has_key('CONFIG_MUSICPAL') ? ['pflash-cfi02-test'] 
>> : []) + \
>>     (config_all_devices.has_key('CONFIG_ASPEED_SOC') ? qtests_aspeed : []) 
>> + \
>>     (config_all_devices.has_key('CONFIG_NPCM7XX') ? qtests_npcm7xx : []) + \
>>     (config_all_devices.has_key('CONFIG_GENERIC_LOADER') ? 
>> ['hexloader-test'] : []) + \
>>     (config_all_devices.has_key('CONFIG_TPM_TIS_I2C') ? 
>> ['tpm-tis-i2c-test'] : []) + \
>> +  (config_all_devices.has_key('CONFIG_VEXPRESS') ? ['test-arm-mptimer'] : 
>> []) + \
> 
> Also ARM_MPTIMER?

Not needed: config VEXPRESS selects ARM_MPTIMER, so there is no way that 
VEXPRESS could be set, but ARM_MPTIMER is not selected.

  Thomas



Re: [PATCH] tests/qtest: Run arm-specific tests only if the required machine is available
Posted by Fabiano Rosas 11 months, 2 weeks ago
Thomas Huth <thuth@redhat.com> writes:

> pflash-cfi02-test.c always uses the "musicpal" machine for testing,
> test-arm-mptimer.c always uses the "vexpress-a9" machine, and
> microbit-test.c requires the "microbit" machine, so we should only
> run these tests if the machines have been enabled in the configuration.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Reviewed-by: Fabiano Rosas <farosas@suse.de>