On 11/18/2025 1:52 AM, Stephen Hemminger wrote:
> Make the sub tests in eal flags suite into a group
> so that they are not individual tests.
> 
> Signed-off-by: Stephen Hemminger <[email protected]>
> ---
>  app/test/test_eal_flags.c | 46 +++++++++++++++++++++++++--------------
>  1 file changed, 30 insertions(+), 16 deletions(-)
> 
> diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
> index c2e6c00edb..263f26d037 100644
> --- a/app/test/test_eal_flags.c
> +++ b/app/test/test_eal_flags.c
> @@ -777,7 +777,7 @@ static int
>  test_no_hpet_flag(void)
>  {
>  #ifdef RTE_EXEC_ENV_FREEBSD
> -     return 0;
> +     return TEST_SKIPPED;
>  #else
>       const char *prefix = get_file_prefix();
>       if (prefix == NULL)
> @@ -796,8 +796,8 @@ test_no_hpet_flag(void)
>               printf("Error - process did not run ok without --no-hpet 
> flag\n");
>               return -1;
>       }
> -#
>       return 0;
> +#endif
>  }
>  
>  /*
> @@ -866,7 +866,7 @@ test_no_huge_flag(void)
>               printf("Error - process run ok with --no-huge and 
> --huge-worker-stack=size flags");
>               return -1;
>       }
> -#endif
> +
>       return 0;
>  }
>  
> @@ -1208,7 +1208,7 @@ test_file_prefix(void)
>       char prefix[PATH_MAX] = "";
>  
>  #ifdef RTE_EXEC_ENV_FREEBSD
> -     return 0;
> +     return TEST_SKIPPED;
>  #else
>       if (get_current_prefix(prefix, sizeof(prefix)) == NULL) {
>               printf("Error - unable to get current prefix!\n");
> @@ -1650,15 +1650,29 @@ test_memory_flags(void)
>  
>  #endif /* !RTE_EXEC_ENV_WINDOWS */
>  
> -REGISTER_FAST_TEST(eal_flags_c_opt_autotest, false, false, 
> test_missing_c_flag);
> -REGISTER_FAST_TEST(eal_flags_main_opt_autotest, false, false, 
> test_main_lcore_flag);
> -REGISTER_FAST_TEST(eal_flags_n_opt_autotest, false, false, 
> test_invalid_n_flag);
> -REGISTER_FAST_TEST(eal_flags_hpet_autotest, false, false, test_no_hpet_flag);
> -REGISTER_FAST_TEST(eal_flags_no_huge_autotest, false, false, 
> test_no_huge_flag);
> -REGISTER_FAST_TEST(eal_flags_a_opt_autotest, false, false, test_allow_flag);
> -REGISTER_FAST_TEST(eal_flags_b_opt_autotest, false, false, 
> test_invalid_b_flag);
> -REGISTER_FAST_TEST(eal_flags_vdev_opt_autotest, false, false, 
> test_invalid_vdev_flag);
> -REGISTER_FAST_TEST(eal_flags_r_opt_autotest, false, false, 
> test_invalid_r_flag);
> -REGISTER_FAST_TEST(eal_flags_mem_autotest, false, false, test_memory_flags);
> -REGISTER_FAST_TEST(eal_flags_file_prefix_autotest, false, false, 
> test_file_prefix);
> -REGISTER_FAST_TEST(eal_flags_misc_autotest, false, false, test_misc_flags);
> +static struct unit_test_suite eal_flags_test_suite = {
> +     .suite_name = "EAL flags unit test suite",
> +     .unit_test_cases = {
> +             TEST_CASE(test_missing_c_flag),
> +             TEST_CASE(test_main_lcore_flag),
> +             TEST_CASE(test_invalid_n_flag),
> +             TEST_CASE(test_no_hpet_flag),
> +             TEST_CASE(test_no_huge_flag),
> +             TEST_CASE(test_allow_flag),
> +             TEST_CASE(test_invalid_b_flag),
> +             TEST_CASE(test_invalid_vdev_flag),
> +             TEST_CASE(test_invalid_r_flag),
> +             TEST_CASE(test_memory_flags),
> +             TEST_CASE(test_file_prefix),
> +             TEST_CASE(test_misc_flags),
> +             TEST_CASES_END()

The judgement (whether supported this test) and implement is located in the 
same function,
Suggest split them to different subfunction:

static int
check_missing_runable(void)
{
#ifdef RTE_EXEC_ENV_WINDOWS
        return TEST_SKIPPED;
#else
        return 0;
#endif
}

static struct unit_test_suite eal_flags_test_suite = {
        .suite_name = "EAL flags unit test suite",
        .unit_test_cases = {
                TEST_CASE_NAMED_ST("missing_c_flag", check_missing_runable, 
NULL, test_missing_c_flag),
                ...

In this file, we coud sort judgement to several case:
1. windows don't support
2. freebsd don't support

Note: this impl requirement all code compile-able in windows.

> +     }
> +};
> +
> +static int
> +test_eal_flags(void)
> +{
> +     return unit_test_suite_runner(&eal_flags_test_suite);
> +}
> +
> +REGISTER_FAST_TEST(eal_flags_autotest, false, false, test_eal_flags);

Reply via email to