Let's make sure that we always pass a machine name to the test_boot_orders()
function, so we can check whether the machine is available in the binary
and skip the test in case it is not included in the build.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/qtest/boot-order-test.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/qtest/boot-order-test.c b/tests/qtest/boot-order-test.c
index 8f2b6ef05a..c67b8cfe16 100644
--- a/tests/qtest/boot-order-test.c
+++ b/tests/qtest/boot-order-test.c
@@ -31,7 +31,7 @@ static void test_a_boot_order(const char *machine,
uint64_t actual;
QTestState *qts;
- if (machine && !qtest_has_machine(machine)) {
+ if (!qtest_has_machine(machine)) {
g_test_skip("Machine is not available");
return;
}
@@ -107,7 +107,7 @@ static const boot_order_test test_cases_pc[] = {
static void test_pc_boot_order(void)
{
- test_boot_orders(NULL, read_boot_order_pc, test_cases_pc);
+ test_boot_orders("pc", read_boot_order_pc, test_cases_pc);
}
static uint64_t read_boot_order_pmac(QTestState *qts)
--
2.46.0
Hi Thomas,
On 5/9/24 21:14, Thomas Huth wrote:
> Let's make sure that we always pass a machine name to the test_boot_orders()
> function, so we can check whether the machine is available in the binary
> and skip the test in case it is not included in the build.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> tests/qtest/boot-order-test.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tests/qtest/boot-order-test.c b/tests/qtest/boot-order-test.c
> index 8f2b6ef05a..c67b8cfe16 100644
> --- a/tests/qtest/boot-order-test.c
> +++ b/tests/qtest/boot-order-test.c
> @@ -31,7 +31,7 @@ static void test_a_boot_order(const char *machine,
> uint64_t actual;
> QTestState *qts;
>
> - if (machine && !qtest_has_machine(machine)) {
> + if (!qtest_has_machine(machine)) {
Should we defer the NULL check to qtest_has_machine_with_env()?
It uses g_str_equal() which is described as:
Note that this function is primarily meant as a hash table
comparison function. For a general-purpose, NULL-safe string
comparison function, see g_strcmp0().
Better switch to g_strcmp0() in qtest_has_machine_with_env()?
> g_test_skip("Machine is not available");
> return;
> }
> @@ -107,7 +107,7 @@ static const boot_order_test test_cases_pc[] = {
>
> static void test_pc_boot_order(void)
> {
> - test_boot_orders(NULL, read_boot_order_pc, test_cases_pc);
> + test_boot_orders("pc", read_boot_order_pc, test_cases_pc);
> }
>
> static uint64_t read_boot_order_pmac(QTestState *qts)
On 06/09/2024 09.59, Philippe Mathieu-Daudé wrote:
> Hi Thomas,
>
> On 5/9/24 21:14, Thomas Huth wrote:
>> Let's make sure that we always pass a machine name to the test_boot_orders()
>> function, so we can check whether the machine is available in the binary
>> and skip the test in case it is not included in the build.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>> tests/qtest/boot-order-test.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/tests/qtest/boot-order-test.c b/tests/qtest/boot-order-test.c
>> index 8f2b6ef05a..c67b8cfe16 100644
>> --- a/tests/qtest/boot-order-test.c
>> +++ b/tests/qtest/boot-order-test.c
>> @@ -31,7 +31,7 @@ static void test_a_boot_order(const char *machine,
>> uint64_t actual;
>> QTestState *qts;
>> - if (machine && !qtest_has_machine(machine)) {
>> + if (!qtest_has_machine(machine)) {
>
> Should we defer the NULL check to qtest_has_machine_with_env()?
> It uses g_str_equal() which is described as:
>
> Note that this function is primarily meant as a hash table
> comparison function. For a general-purpose, NULL-safe string
> comparison function, see g_strcmp0().
>
> Better switch to g_strcmp0() in qtest_has_machine_with_env()?
What would be the intended meaning of the function when it is called with
"NULL" ? Use the default machine? Skip the test? ... I think it is rather an
error to call it with NULL, so it's OK if the test crashes here since it
should never happen?
Thomas
On 6/9/24 10:04, Thomas Huth wrote:
> On 06/09/2024 09.59, Philippe Mathieu-Daudé wrote:
>> Hi Thomas,
>>
>> On 5/9/24 21:14, Thomas Huth wrote:
>>> Let's make sure that we always pass a machine name to the
>>> test_boot_orders()
>>> function, so we can check whether the machine is available in the binary
>>> and skip the test in case it is not included in the build.
>>>
>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>>> ---
>>> tests/qtest/boot-order-test.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/tests/qtest/boot-order-test.c
>>> b/tests/qtest/boot-order-test.c
>>> index 8f2b6ef05a..c67b8cfe16 100644
>>> --- a/tests/qtest/boot-order-test.c
>>> +++ b/tests/qtest/boot-order-test.c
>>> @@ -31,7 +31,7 @@ static void test_a_boot_order(const char *machine,
>>> uint64_t actual;
>>> QTestState *qts;
>>> - if (machine && !qtest_has_machine(machine)) {
>>> + if (!qtest_has_machine(machine)) {
>>
>> Should we defer the NULL check to qtest_has_machine_with_env()?
>> It uses g_str_equal() which is described as:
>>
>> Note that this function is primarily meant as a hash table
>> comparison function. For a general-purpose, NULL-safe string
>> comparison function, see g_strcmp0().
>>
>> Better switch to g_strcmp0() in qtest_has_machine_with_env()?
>
> What would be the intended meaning of the function when it is called
> with "NULL" ? Use the default machine? Skip the test? ... I think it is
> rather an error to call it with NULL, so it's OK if the test crashes
> here since it should never happen?
Right.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
© 2016 - 2026 Red Hat, Inc.