Ciara Power <ciara.po...@intel.com> writes:

> The current structure for unit testing only allows for running a
> test suite with nested test cases. This means all test cases for an
> autotest must be in one suite, which is not ideal.
> For example, in some cases we may want to run multiple lists of test
> cases that each require different setup, so should be in separate suites.
>
> The unit test suite struct is modified to hold either a pointer to a
> list of test cases, or a pointer to a list of sub-testsuites.
> A bool value is also introduced here to indicate whether the testsuite
> is a parent suite or not.
>
> Signed-off-by: Ciara Power <ciara.po...@intel.com>
> ---
>  app/test/test.c                      | 151 ++++++++++++++++++---------
>  app/test/test.h                      |   6 +-
>  app/test/test_bitratestats.c         |   4 +-
>  app/test/test_compressdev.c          |   4 +-
>  app/test/test_cryptodev.c            |  24 ++---
>  app/test/test_cryptodev_asym.c       |  12 +--
>  app/test/test_ethdev_link.c          |   4 +-
>  app/test/test_event_crypto_adapter.c |   4 +-
>  app/test/test_event_eth_rx_adapter.c |   8 +-
>  app/test/test_event_eth_tx_adapter.c |   4 +-
>  app/test/test_event_timer_adapter.c  |   4 +-
>  app/test/test_eventdev.c             |   4 +-
>  app/test/test_fbarray.c              |   4 +-
>  app/test/test_fib.c                  |   8 +-
>  app/test/test_fib6.c                 |   8 +-
>  app/test/test_graph.c                |   4 +-
>  app/test/test_graph_perf.c           |   4 +-
>  app/test/test_ipfrag.c               |   4 +-
>  app/test/test_ipsec.c                |   4 +-
>  app/test/test_ipsec_sad.c            |   4 +-
>  app/test/test_latencystats.c         |   4 +-
>  app/test/test_link_bonding.c         |   4 +-
>  app/test/test_link_bonding_mode4.c   |   4 +-
>  app/test/test_link_bonding_rssconf.c |   4 +-
>  app/test/test_metrics.c              |   4 +-
>  app/test/test_pmd_ring.c             |   4 +-
>  app/test/test_reorder.c              |   4 +-
>  app/test/test_rib.c                  |   8 +-
>  app/test/test_rib6.c                 |   8 +-
>  app/test/test_security.c             |   4 +-
>  app/test/test_service_cores.c        |   4 +-
>  app/test/test_trace.c                |   4 +-
>  32 files changed, 188 insertions(+), 137 deletions(-)
>
> diff --git a/app/test/test.c b/app/test/test.c
> index 72768c8854..fe40a91f97 100644
> --- a/app/test/test.c
> +++ b/app/test/test.c
> @@ -213,24 +213,37 @@ unit_test_suite_count_tcs_on_setup_fail(struct 
> unit_test_suite *suite,
>               unsigned int *failed)
>  {
>       struct unit_test_case tc;
> -
> -     tc = suite->unit_test_cases[*total];
> -     while (tc.testcase) {
> -             if (!tc.enabled || test_success == TEST_SKIPPED)
> -                     (*skipped)++;
> -             else
> -                     (*failed)++;
> -             (*total)++;
> -             tc = suite->unit_test_cases[*total];
> +     int i, tc_count = 0;
> +
> +     if (suite->parent_testsuite) {
> +             for (i = 0; suite->unit_test_suites[i].suite_name != NULL; i++)
> +                     unit_test_suite_count_tcs_on_setup_fail(
> +                             &suite->unit_test_suites[i],
> +                             test_success, total,
> +                             skipped, failed);
> +     } else {
> +             tc = suite->unit_test_cases[tc_count];
> +             while (tc.testcase) {
> +                     if (!tc.enabled ||
> +                     test_success == TEST_SKIPPED)
> +                             (*skipped)++;
> +                     else
> +                             (*failed)++;
> +                     tc_count++;
> +                     tc = suite->unit_test_cases[tc_count];
> +             }
> +             *total += tc_count;
>       }
>  }
>  
>  int
>  unit_test_suite_runner(struct unit_test_suite *suite)
>  {
> -     int test_success;
> +     int test_success, i, ret;
>       unsigned int total = 0, executed = 0, skipped = 0;
>       unsigned int succeeded = 0, failed = 0, unsupported = 0;
> +     unsigned int sub_ts_succeeded = 0, sub_ts_failed = 0;
> +     unsigned int sub_ts_skipped = 0, sub_ts_total = 0;
>       const char *status;
>       struct unit_test_case tc;
>  
> @@ -255,63 +268,80 @@ unit_test_suite_runner(struct unit_test_suite *suite)
>  
>       printf(" + ------------------------------------------------------- 
> +\n");
>  
> -     tc = suite->unit_test_cases[total];
> -     while (tc.testcase) {
> -             if (!tc.enabled) {
> -                     skipped++;
> -                     total++;
> -                     tc = suite->unit_test_cases[total];
> -                     continue;
> -             } else {
> -                     executed++;
> +     if (suite->parent_testsuite) {
> +             for (i = 0; suite->unit_test_suites[i].suite_name != NULL; i++) 
> {
> +                     ret = 
> unit_test_suite_runner(&suite->unit_test_suites[i]);
> +                     if (ret == TEST_SUCCESS)
> +                             sub_ts_succeeded++;
> +                     else if (ret == TEST_SKIPPED)
> +                             sub_ts_skipped++;
> +                     else
> +                             sub_ts_failed++;
> +                     sub_ts_total++;

I suggest adding these counts to the test suite object itself - that way
we can track them separately.  And we can clear them when we jump into
the unit_test_suite_runner() so that we get fresh counts each time and
don't need to track this information in different ways.

ie:

   void run_test(suite, tc) {
       if (!tc.enabled) {
          suite->skipped++;
       }

       suite->executed++;
       if tc.setup
          res = tc.setup
       else
          res = success

       if res != success
          suite->failed++
          return

       res = tc.testcase()
       switch res {
          case success:
             suite->success++
             break
          case fail:
             suite->fail++
             break
          case skipped:
             suite->skipped++
             break;
          case unsupported:
             suite->unsupported++;
             break;
       }
       if tc.teardown
          tc.teardown()
   }

   ...
   void run_tests_in_suite(suite) {
      struct unit_test_case tc;
      size_t total;

      FOR_EACH_SUITE_TESTCASE(total, suite, tc)
         run_test(suite, tc);
   }
   ...

   FOR_EACH_SUITE_TESTSUITE(total, suite, tsuite) {
       run_tests_in_suite(suite);
   }

   FOR_EACH_SUITE_TESTSUITE(total, suite, tsuite) {
       total_failed += tsuite->failed;
       total_executed += tsuite->executed;
       total_skipped += tsuite->skipped;
       ...
   }

etc..

Does it make sense?

>               }
> +     } else {
> +             tc = suite->unit_test_cases[total];
> +             while (tc.testcase) {
> +                     if (!tc.enabled) {
> +                             skipped++;
> +                             total++;
> +                             tc = suite->unit_test_cases[total];
> +                             continue;
> +                     } else {
> +                             executed++;
> +                     }
> +
> +                     /* run test case setup */
> +                     if (tc.setup)
> +                             test_success = tc.setup();
> +                     else
> +                             test_success = TEST_SUCCESS;
> +
> +                     if (test_success == TEST_SUCCESS) {
> +                             /* run the test case */
> +                             test_success = tc.testcase();
> +                             if (test_success == TEST_SUCCESS)
> +                                     succeeded++;
> +                             else if (test_success == TEST_SKIPPED)
> +                                     skipped++;
> +                             else if (test_success == -ENOTSUP)
> +                                     unsupported++;
> +                             else
> +                                     failed++;
> +                     } else if (test_success == -ENOTSUP) {
> +                             unsupported++;
> +                     } else {
> +                             failed++;
> +                     }
>  
> -             /* run test case setup */
> -             if (tc.setup)
> -                     test_success = tc.setup();
> -             else
> -                     test_success = TEST_SUCCESS;
> +                     /* run the test case teardown */
> +                     if (tc.teardown)
> +                             tc.teardown();
>  
> -             if (test_success == TEST_SUCCESS) {
> -                     /* run the test case */
> -                     test_success = tc.testcase();
>                       if (test_success == TEST_SUCCESS)
> -                             succeeded++;
> +                             status = "succeeded";
>                       else if (test_success == TEST_SKIPPED)
> -                             skipped++;
> +                             status = "skipped";
>                       else if (test_success == -ENOTSUP)
> -                             unsupported++;
> +                             status = "unsupported";
>                       else
> -                             failed++;
> -             } else if (test_success == -ENOTSUP) {
> -                     unsupported++;
> -             } else {
> -                     failed++;
> -             }
> -
> -             /* run the test case teardown */
> -             if (tc.teardown)
> -                     tc.teardown();

This got dropped and never re-added anywhere afaict.

> -
> -             if (test_success == TEST_SUCCESS)
> -                     status = "succeeded";
> -             else if (test_success == TEST_SKIPPED)
> -                     status = "skipped";
> -             else if (test_success == -ENOTSUP)
> -                     status = "unsupported";
> -             else
> -                     status = "failed";
> +                             status = "failed";
>  
> -             printf(" + TestCase [%2d] : %s %s\n", total, tc.name, status);
> +                     printf(" + TestCase [%2d] : %s %s\n", total,
> +                                     tc.name, status);
>  
> -             total++;
> -             tc = suite->unit_test_cases[total];
> +                     total++;
> +                     tc = suite->unit_test_cases[total];
> +             }
>       }
>  
>       /* Run test suite teardown */
>       if (suite->teardown)
>               suite->teardown();
>  
> +     if (suite->parent_testsuite)
> +             goto parent_suite_summary;
> +
>       goto suite_summary;
>  
>  suite_summary:
> @@ -332,4 +362,21 @@ unit_test_suite_runner(struct unit_test_suite *suite)
>       if (total == skipped)
>               return TEST_SKIPPED;
>       return TEST_SUCCESS;
> +
> +parent_suite_summary:
> +     printf(" + ------------------------------------------------------- 
> +\n");
> +     printf(" + Parent Test Suite Summary :  %s\n", suite->suite_name);
> +     printf(" + Sub Testsuites Total :       %2d\n", sub_ts_total);
> +     printf(" + Sub Testsuites Skipped :     %2d\n", sub_ts_skipped);
> +     printf(" + Sub Testsuites Passed :      %2d\n", sub_ts_succeeded);
> +     printf(" + Sub Testsuites Failed :      %2d\n", sub_ts_failed);
> +     printf(" + ------------------------------------------------------- 
> +\n");
> +
> +     last_test_result = failed;
> +
> +     if (sub_ts_failed)
> +             return TEST_FAILED;
> +     if (sub_ts_total == sub_ts_skipped)
> +             return TEST_SKIPPED;
> +     return TEST_SUCCESS;
>  }
> diff --git a/app/test/test.h b/app/test/test.h
> index b07f6c1ef0..3fdac56631 100644
> --- a/app/test/test.h
> +++ b/app/test/test.h
> @@ -138,7 +138,11 @@ struct unit_test_suite {
>       const char *suite_name;
>       int (*setup)(void);
>       void (*teardown)(void);
> -     struct unit_test_case unit_test_cases[];
> +     bool parent_testsuite;
> +     union {
> +             struct unit_test_case *unit_test_cases;
> +             struct unit_test_suite *unit_test_suites;
> +     };

I don't see the advantage to this.  Why not just have the structs as
flat members, and use the NULL of unit_test_suites as your boolean.
It saves on refactor of all the test suites, since those members should
be 0 initialized anyway.  In fact, you are relying on that behavior
(since you don't explicitly set parent_testsuite to 'false') so might as
well make your life easier by not having to touch all the test suite
files.

ie: instead of

  if (suite->parent_testsuite)
     FOR_EACH_SUITE_TESTSUITE
  else
     FOR_EACH_SUITE_TESTCASE

you could just do:

  struct unit_test_case tc;
  struct unit_test_suite ts;
  size_t total;

  if (suite->unit_test_suite && suite->unit_test_case)
     /* is this prohibited? */

  FOR_EACH_SUITE_TESTCASE(total, suite, tc);
      ...
  FOR_EACH_SUITE_TESTSUITE(total, suite, ts)
      ...

This also makes reading the code a bit nicer.

>  };
>  
>  int unit_test_suite_runner(struct unit_test_suite *suite);
> diff --git a/app/test/test_bitratestats.c b/app/test/test_bitratestats.c
> index f4a92c9be6..a3fe5e839a 100644
> --- a/app/test/test_bitratestats.c
> +++ b/app/test/test_bitratestats.c
> @@ -189,7 +189,7 @@ unit_test_suite bitratestats_testsuite  = {
>       .suite_name = "BitRate Stats Unit Test Suite",
>       .setup = test_bit_ring_setup,
>       .teardown = test_bit_ring_free,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               /* TEST CASE 1: Test to create bit rate data */
>               TEST_CASE(test_stats_bitrate_create),
>  
> @@ -231,7 +231,7 @@ unit_test_suite bitratestats_testsuite  = {
>               /* TEST CASE 9: Test to do the cleanup w.r.t create */
>               TEST_CASE(test_stats_bitrate_free),
>               TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_compressdev.c b/app/test/test_compressdev.c
> index 0571c17ecb..7789511bd0 100644
> --- a/app/test/test_compressdev.c
> +++ b/app/test/test_compressdev.c
> @@ -4183,7 +4183,7 @@ static struct unit_test_suite compressdev_testsuite  = {
>       .suite_name = "compressdev unit test suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(NULL, NULL,
>                       test_compressdev_invalid_configuration),
>               TEST_CASE_ST(generic_ut_setup, generic_ut_teardown,
> @@ -4261,7 +4261,7 @@ static struct unit_test_suite compressdev_testsuite  = {
>                     test_compressdev_deflate_im_buffers_SGL_over_2ops_second),
>  
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
> index f91debc168..bdfb2727dd 100644
> --- a/app/test/test_cryptodev.c
> +++ b/app/test/test_cryptodev.c
> @@ -13247,7 +13247,7 @@ static struct unit_test_suite 
> cryptodev_scheduler_testsuite  = {
>       .suite_name = "Crypto Device Scheduler Unit Test Suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               /* Multi Core */
>               TEST_CASE_ST(NULL, NULL, test_scheduler_attach_slave_op),
>               TEST_CASE_ST(NULL, NULL, test_scheduler_mode_multicore_op),
> @@ -13281,7 +13281,7 @@ static struct unit_test_suite 
> cryptodev_scheduler_testsuite  = {
>               TEST_CASE_ST(NULL, NULL, test_scheduler_detach_slave_op),
>  
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  #endif /* RTE_CRYPTO_SCHEDULER */
> @@ -13290,7 +13290,7 @@ static struct unit_test_suite cryptodev_testsuite  = {
>       .suite_name = "Crypto Unit Test Suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(ut_setup, ut_teardown,
>                               test_device_configure_invalid_dev_id),
>               TEST_CASE_ST(ut_setup, ut_teardown,
> @@ -13921,25 +13921,25 @@ static struct unit_test_suite cryptodev_testsuite  
> = {
>               TEST_CASE_ST(ut_setup, ut_teardown, test_enq_callback_setup),
>               TEST_CASE_ST(ut_setup, ut_teardown, test_deq_callback_setup),
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static struct unit_test_suite cryptodev_virtio_testsuite = {
>       .suite_name = "Crypto VIRTIO Unit Test Suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(ut_setup, ut_teardown, test_AES_cipheronly_all),
>  
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static struct unit_test_suite cryptodev_caam_jr_testsuite  = {
>       .suite_name = "Crypto CAAM JR Unit Test Suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(ut_setup, ut_teardown,
>                            test_device_configure_invalid_dev_id),
>               TEST_CASE_ST(ut_setup, ut_teardown,
> @@ -13952,14 +13952,14 @@ static struct unit_test_suite 
> cryptodev_caam_jr_testsuite  = {
>               TEST_CASE_ST(ut_setup, ut_teardown, test_authonly_all),
>  
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static struct unit_test_suite cryptodev_mrvl_testsuite  = {
>       .suite_name = "Crypto Device Marvell Component Test Suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(ut_setup, ut_teardown, test_multi_session),
>               TEST_CASE_ST(ut_setup, ut_teardown,
>                               test_multi_session_random_usage),
> @@ -13980,14 +13980,14 @@ static struct unit_test_suite 
> cryptodev_mrvl_testsuite  = {
>                       auth_decryption_AES128CBC_HMAC_SHA1_fail_tag_corrupt),
>  
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static struct unit_test_suite cryptodev_ccp_testsuite  = {
>       .suite_name = "Crypto Device CCP Unit Test Suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(ut_setup, ut_teardown, test_multi_session),
>               TEST_CASE_ST(ut_setup, ut_teardown,
>                               test_multi_session_random_usage),
> @@ -14008,7 +14008,7 @@ static struct unit_test_suite cryptodev_ccp_testsuite 
>  = {
>                       auth_decryption_AES128CBC_HMAC_SHA1_fail_tag_corrupt),
>  
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_cryptodev_asym.c b/app/test/test_cryptodev_asym.c
> index 85cd076059..4a2c0a310f 100644
> --- a/app/test/test_cryptodev_asym.c
> +++ b/app/test/test_cryptodev_asym.c
> @@ -2288,7 +2288,7 @@ static struct unit_test_suite 
> cryptodev_openssl_asym_testsuite  = {
>       .suite_name = "Crypto Device OPENSSL ASYM Unit Test Suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(ut_setup, ut_teardown, test_capability),
>               TEST_CASE_ST(ut_setup, ut_teardown, test_dsa),
>               TEST_CASE_ST(ut_setup, ut_teardown, test_dh_keygenration),
> @@ -2300,24 +2300,24 @@ static struct unit_test_suite 
> cryptodev_openssl_asym_testsuite  = {
>               TEST_CASE_ST(ut_setup, ut_teardown, test_mod_exp),
>               TEST_CASE_ST(ut_setup, ut_teardown, test_one_by_one),
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static struct unit_test_suite cryptodev_qat_asym_testsuite  = {
>       .suite_name = "Crypto Device QAT ASYM Unit Test Suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(ut_setup, ut_teardown, test_one_by_one),
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static struct unit_test_suite cryptodev_octeontx_asym_testsuite  = {
>       .suite_name = "Crypto Device OCTEONTX ASYM Unit Test Suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(ut_setup, ut_teardown, test_capability),
>               TEST_CASE_ST(ut_setup, ut_teardown, test_rsa_enc_dec_crt),
>               TEST_CASE_ST(ut_setup, ut_teardown, test_rsa_sign_verify_crt),
> @@ -2326,7 +2326,7 @@ static struct unit_test_suite 
> cryptodev_octeontx_asym_testsuite  = {
>                            test_ecdsa_sign_verify_all_curve),
>               TEST_CASE_ST(ut_setup, ut_teardown, test_ecpm_all_curve),
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_ethdev_link.c b/app/test/test_ethdev_link.c
> index ee11987bae..1f3ac34b5f 100644
> --- a/app/test/test_ethdev_link.c
> +++ b/app/test/test_ethdev_link.c
> @@ -148,13 +148,13 @@ static struct unit_test_suite link_status_testsuite = {
>       .suite_name = "link status formatting",
>       .setup = NULL,
>       .teardown = NULL,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE(test_link_status_up_default),
>               TEST_CASE(test_link_status_down_default),
>               TEST_CASE(test_link_speed_all_values),
>               TEST_CASE(test_link_status_invalid),
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_event_crypto_adapter.c 
> b/app/test/test_event_crypto_adapter.c
> index 335211cd8c..722e2f1b7c 100644
> --- a/app/test/test_event_crypto_adapter.c
> +++ b/app/test/test_event_crypto_adapter.c
> @@ -959,7 +959,7 @@ static struct unit_test_suite functional_testsuite = {
>       .suite_name = "Event crypto adapter test suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>  
>               TEST_CASE_ST(NULL, test_crypto_adapter_free,
>                               test_crypto_adapter_create),
> @@ -989,7 +989,7 @@ static struct unit_test_suite functional_testsuite = {
>                               test_sessionless_with_op_new_mode),
>  
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_event_eth_rx_adapter.c 
> b/app/test/test_event_eth_rx_adapter.c
> index 9198767b41..735d5766d6 100644
> --- a/app/test/test_event_eth_rx_adapter.c
> +++ b/app/test/test_event_eth_rx_adapter.c
> @@ -754,7 +754,7 @@ static struct unit_test_suite event_eth_rx_tests = {
>       .suite_name = "rx event eth adapter test suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(NULL, NULL, adapter_create_free),
>               TEST_CASE_ST(adapter_create, adapter_free,
>                                       adapter_queue_add_del),
> @@ -763,18 +763,18 @@ static struct unit_test_suite event_eth_rx_tests = {
>               TEST_CASE_ST(adapter_create, adapter_free, adapter_start_stop),
>               TEST_CASE_ST(adapter_create, adapter_free, adapter_stats),
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static struct unit_test_suite event_eth_rx_intr_tests = {
>       .suite_name = "rx event eth adapter test suite",
>       .setup = testsuite_setup_rx_intr,
>       .teardown = testsuite_teardown_rx_intr,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(adapter_create, adapter_free,
>                       adapter_intr_queue_add_del),
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_event_eth_tx_adapter.c 
> b/app/test/test_event_eth_tx_adapter.c
> index 7073030902..bf67afcc69 100644
> --- a/app/test/test_event_eth_tx_adapter.c
> +++ b/app/test/test_event_eth_tx_adapter.c
> @@ -680,7 +680,7 @@ static struct unit_test_suite event_eth_tx_tests = {
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
>       .suite_name = "tx event eth adapter test suite",
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(NULL, NULL, tx_adapter_create_free),
>               TEST_CASE_ST(tx_adapter_create, tx_adapter_free,
>                                       tx_adapter_queue_add_del),
> @@ -690,7 +690,7 @@ static struct unit_test_suite event_eth_tx_tests = {
>                                       tx_adapter_service),
>               TEST_CASE_ST(NULL, NULL, tx_adapter_dynamic_device),
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_event_timer_adapter.c 
> b/app/test/test_event_timer_adapter.c
> index ad3f4dcc20..08c3035c7c 100644
> --- a/app/test/test_event_timer_adapter.c
> +++ b/app/test/test_event_timer_adapter.c
> @@ -1779,7 +1779,7 @@ static struct unit_test_suite 
> event_timer_adptr_functional_testsuite  = {
>       .suite_name = "event timer functional test suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(timdev_setup_usec, timdev_teardown,
>                               test_timer_state),
>               TEST_CASE_ST(timdev_setup_usec, timdev_teardown,
> @@ -1832,7 +1832,7 @@ static struct unit_test_suite 
> event_timer_adptr_functional_testsuite  = {
>                               adapter_tick_resolution),
>               TEST_CASE(adapter_create_max),
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_eventdev.c b/app/test/test_eventdev.c
> index 27ca5a6494..b4b55117b4 100644
> --- a/app/test/test_eventdev.c
> +++ b/app/test/test_eventdev.c
> @@ -934,7 +934,7 @@ static struct unit_test_suite eventdev_common_testsuite  
> = {
>       .suite_name = "eventdev common code unit test suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(NULL, NULL,
>                       test_eventdev_count),
>               TEST_CASE_ST(NULL, NULL,
> @@ -984,7 +984,7 @@ static struct unit_test_suite eventdev_common_testsuite  
> = {
>               TEST_CASE_ST(eventdev_setup_device, NULL,
>                       test_eventdev_close),
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_fbarray.c b/app/test/test_fbarray.c
> index a691bf4458..ff6896d1bc 100644
> --- a/app/test/test_fbarray.c
> +++ b/app/test/test_fbarray.c
> @@ -714,7 +714,7 @@ static struct unit_test_suite fbarray_test_suite = {
>       .suite_name = "fbarray autotest",
>       .setup = autotest_setup,
>       .teardown = autotest_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE(test_invalid),
>               TEST_CASE(test_basic),
>               TEST_CASE_ST(first_msk_test_setup, reset_array, test_find),
> @@ -724,7 +724,7 @@ static struct unit_test_suite fbarray_test_suite = {
>               TEST_CASE_ST(full_msk_test_setup, reset_array, test_find),
>               TEST_CASE_ST(empty_msk_test_setup, reset_array, test_empty),
>               TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_fib.c b/app/test/test_fib.c
> index e46b9934fe..fc574bdf0b 100644
> --- a/app/test/test_fib.c
> +++ b/app/test/test_fib.c
> @@ -375,24 +375,24 @@ static struct unit_test_suite fib_fast_tests = {
>       .suite_name = "fib autotest",
>       .setup = NULL,
>       .teardown = NULL,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>       TEST_CASE(test_create_invalid),
>       TEST_CASE(test_free_null),
>       TEST_CASE(test_add_del_invalid),
>       TEST_CASE(test_get_invalid),
>       TEST_CASE(test_lookup),
>       TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  static struct unit_test_suite fib_slow_tests = {
>       .suite_name = "fib slow autotest",
>       .setup = NULL,
>       .teardown = NULL,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>       TEST_CASE(test_multiple_create),
>       TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  /*
> diff --git a/app/test/test_fib6.c b/app/test/test_fib6.c
> index 74abfc7a5d..4e36ab795e 100644
> --- a/app/test/test_fib6.c
> +++ b/app/test/test_fib6.c
> @@ -384,24 +384,24 @@ static struct unit_test_suite fib6_fast_tests = {
>       .suite_name = "fib6 autotest",
>       .setup = NULL,
>       .teardown = NULL,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>       TEST_CASE(test_create_invalid),
>       TEST_CASE(test_free_null),
>       TEST_CASE(test_add_del_invalid),
>       TEST_CASE(test_get_invalid),
>       TEST_CASE(test_lookup),
>       TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  static struct unit_test_suite fib6_slow_tests = {
>       .suite_name = "fib6 slow autotest",
>       .setup = NULL,
>       .teardown = NULL,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>       TEST_CASE(test_multiple_create),
>       TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  /*
> diff --git a/app/test/test_graph.c b/app/test/test_graph.c
> index 81bdcb9bea..81eef73900 100644
> --- a/app/test/test_graph.c
> +++ b/app/test/test_graph.c
> @@ -815,7 +815,7 @@ static struct unit_test_suite graph_testsuite = {
>       .suite_name = "Graph library test suite",
>       .setup = graph_setup,
>       .teardown = graph_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE(test_update_edges),
>               TEST_CASE(test_lookup_functions),
>               TEST_CASE(test_create_graph),
> @@ -823,7 +823,7 @@ static struct unit_test_suite graph_testsuite = {
>               TEST_CASE(test_graph_walk),
>               TEST_CASE(test_print_stats),
>               TEST_CASES_END(), /**< NULL terminate unit test array */
> -     },
> +     }),
>  };
>  
>  static int
> diff --git a/app/test/test_graph_perf.c b/app/test/test_graph_perf.c
> index 296d99a9d3..ae30ab3c41 100644
> --- a/app/test/test_graph_perf.c
> +++ b/app/test/test_graph_perf.c
> @@ -1035,7 +1035,7 @@ static struct unit_test_suite graph_perf_testsuite = {
>       .suite_name = "Graph library performance test suite",
>       .setup = graph_perf_setup,
>       .teardown = graph_perf_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(graph_init_hr, graph_fini,
>                            graph_hr_4s_1n_1src_1snk),
>               TEST_CASE_ST(graph_init_hr_brst_one, graph_fini,
> @@ -1051,7 +1051,7 @@ static struct unit_test_suite graph_perf_testsuite = {
>               TEST_CASE_ST(graph_init_parallel_tree, graph_fini,
>                            graph_parallel_tree_5s_4n_4src_4snk),
>               TEST_CASES_END(), /**< NULL terminate unit test array */
> -     },
> +     }),
>  };
>  
>  static int
> diff --git a/app/test/test_ipfrag.c b/app/test/test_ipfrag.c
> index da8c212f92..b0ac54e422 100644
> --- a/app/test/test_ipfrag.c
> +++ b/app/test/test_ipfrag.c
> @@ -242,12 +242,12 @@ static struct unit_test_suite ipfrag_testsuite  = {
>       .suite_name = "IP Frag Unit Test Suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(ut_setup, ut_teardown,
>                            test_ip_frag),
>  
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c
> index d18220a885..bd9fc3f999 100644
> --- a/app/test/test_ipsec.c
> +++ b/app/test/test_ipsec.c
> @@ -2498,7 +2498,7 @@ static struct unit_test_suite ipsec_testsuite  = {
>       .suite_name = "IPsec NULL Unit Test Suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(ut_setup, ut_teardown,
>                       test_ipsec_crypto_inb_burst_null_null_wrapper),
>               TEST_CASE_ST(ut_setup, ut_teardown,
> @@ -2528,7 +2528,7 @@ static struct unit_test_suite ipsec_testsuite  = {
>               TEST_CASE_ST(ut_setup, ut_teardown,
>                       test_ipsec_crypto_inb_burst_2sa_4grp_null_null_wrapper),
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_ipsec_sad.c b/app/test/test_ipsec_sad.c
> index 491164689e..874b19a286 100644
> --- a/app/test/test_ipsec_sad.c
> +++ b/app/test/test_ipsec_sad.c
> @@ -864,7 +864,7 @@ static struct unit_test_suite ipsec_sad_tests = {
>       .suite_name = "ipsec sad autotest",
>       .setup = NULL,
>       .teardown = NULL,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE(test_create_invalid),
>               TEST_CASE(test_find_existing),
>               TEST_CASE(test_multiple_create),
> @@ -875,7 +875,7 @@ static struct unit_test_suite ipsec_sad_tests = {
>               TEST_CASE(test_lookup_adv),
>               TEST_CASE(test_lookup_order),
>               TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_latencystats.c b/app/test/test_latencystats.c
> index 427339904d..f72eee98cc 100644
> --- a/app/test/test_latencystats.c
> +++ b/app/test/test_latencystats.c
> @@ -171,7 +171,7 @@ unit_test_suite latencystats_testsuite = {
>       .suite_name = "Latency Stats Unit Test Suite",
>       .setup = test_latency_ring_setup,
>       .teardown = test_latency_ring_free,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>  
>               /* Test Case 1: To check latency init with
>                * metrics init
> @@ -198,7 +198,7 @@ unit_test_suite latencystats_testsuite = {
>               TEST_CASE_ST(NULL, NULL, test_latency_uninit),
>  
>               TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  static int test_latencystats(void)
> diff --git a/app/test/test_link_bonding.c b/app/test/test_link_bonding.c
> index 8a5c8310a8..4fa1e0525c 100644
> --- a/app/test/test_link_bonding.c
> +++ b/app/test/test_link_bonding.c
> @@ -5094,7 +5094,7 @@ static struct unit_test_suite link_bonding_test_suite  
> = {
>       .suite_name = "Link Bonding Unit Test Suite",
>       .setup = test_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE(test_create_bonded_device),
>               TEST_CASE(test_create_bonded_device_with_invalid_params),
>               TEST_CASE(test_add_slave_to_bonded_device),
> @@ -5162,7 +5162,7 @@ static struct unit_test_suite link_bonding_test_suite  
> = {
>               TEST_CASE(test_close_bonded_device),
>  
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  
> diff --git a/app/test/test_link_bonding_mode4.c 
> b/app/test/test_link_bonding_mode4.c
> index 2c835fa7ad..aafa2236ce 100644
> --- a/app/test/test_link_bonding_mode4.c
> +++ b/app/test/test_link_bonding_mode4.c
> @@ -1653,7 +1653,7 @@ static struct unit_test_suite 
> link_bonding_mode4_test_suite  = {
>       .suite_name = "Link Bonding mode 4 Unit Test Suite",
>       .setup = test_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_NAMED("test_mode4_agg_mode_selection",
>                               test_mode4_agg_mode_selection_wrapper),
>               TEST_CASE_NAMED("test_mode4_lacp", test_mode4_lacp_wrapper),
> @@ -1667,7 +1667,7 @@ static struct unit_test_suite 
> link_bonding_mode4_test_suite  = {
>                               test_mode4_ext_lacp_wrapper),
>  
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_link_bonding_rssconf.c 
> b/app/test/test_link_bonding_rssconf.c
> index 5dac60ca1e..58ff4a8971 100644
> --- a/app/test/test_link_bonding_rssconf.c
> +++ b/app/test/test_link_bonding_rssconf.c
> @@ -645,13 +645,13 @@ test_rss_lazy_wrapper(void)
>  static struct unit_test_suite link_bonding_rssconf_test_suite  = {
>       .suite_name = "RSS Dynamic Configuration for Bonding Unit Test Suite",
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_NAMED("test_setup", test_setup_wrapper),
>               TEST_CASE_NAMED("test_rss", test_rss_wrapper),
>               TEST_CASE_NAMED("test_rss_lazy", test_rss_lazy_wrapper),
>  
>               TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_metrics.c b/app/test/test_metrics.c
> index e736019ae4..d80be0e5b4 100644
> --- a/app/test/test_metrics.c
> +++ b/app/test/test_metrics.c
> @@ -275,7 +275,7 @@ static struct unit_test_suite metrics_testsuite  = {
>       .suite_name = "Metrics Unit Test Suite",
>       .setup = NULL,
>       .teardown = NULL,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               /* Test Case 1: Test to check all metric APIs without
>                * metrics init
>                */
> @@ -317,7 +317,7 @@ static struct unit_test_suite metrics_testsuite  = {
>               TEST_CASE(test_metrics_deinitialize),
>  
>               TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_pmd_ring.c b/app/test/test_pmd_ring.c
> index 86b1db2c1f..9ef667aed7 100644
> --- a/app/test/test_pmd_ring.c
> +++ b/app/test/test_pmd_ring.c
> @@ -576,7 +576,7 @@ unit_test_suite test_pmd_ring_suite  = {
>       .setup = test_pmd_ringcreate_setup,
>       .teardown = test_cleanup_resources,
>       .suite_name = "Test Pmd Ring Unit Test Suite",
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE(test_ethdev_configure_ports),
>               TEST_CASE(test_send_basic_packets),
>               TEST_CASE(test_get_stats_for_port),
> @@ -584,7 +584,7 @@ unit_test_suite test_pmd_ring_suite  = {
>               TEST_CASE(test_pmd_ring_pair_create_attach),
>               TEST_CASE(test_command_line_ring_port),
>               TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_reorder.c b/app/test/test_reorder.c
> index 1c4226da65..04bdf4a2d1 100644
> --- a/app/test/test_reorder.c
> +++ b/app/test/test_reorder.c
> @@ -373,7 +373,7 @@ static struct unit_test_suite reorder_test_suite  = {
>       .setup = test_setup,
>       .teardown = test_teardown,
>       .suite_name = "Reorder Unit Test Suite",
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE(test_reorder_create),
>               TEST_CASE(test_reorder_init),
>               TEST_CASE(test_reorder_find_existing),
> @@ -381,7 +381,7 @@ static struct unit_test_suite reorder_test_suite  = {
>               TEST_CASE(test_reorder_insert),
>               TEST_CASE(test_reorder_drain),
>               TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_rib.c b/app/test/test_rib.c
> index 3dc48fe1f2..8a2a7d68aa 100644
> --- a/app/test/test_rib.c
> +++ b/app/test/test_rib.c
> @@ -327,7 +327,7 @@ static struct unit_test_suite rib_tests = {
>       .suite_name = "rib autotest",
>       .setup = NULL,
>       .teardown = NULL,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE(test_create_invalid),
>               TEST_CASE(test_free_null),
>               TEST_CASE(test_insert_invalid),
> @@ -335,17 +335,17 @@ static struct unit_test_suite rib_tests = {
>               TEST_CASE(test_basic),
>               TEST_CASE(test_tree_traversal),
>               TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  static struct unit_test_suite rib_slow_tests = {
>       .suite_name = "rib slow autotest",
>       .setup = NULL,
>       .teardown = NULL,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE(test_multiple_create),
>               TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  /*
> diff --git a/app/test/test_rib6.c b/app/test/test_rib6.c
> index c77df11298..c381c68ce6 100644
> --- a/app/test/test_rib6.c
> +++ b/app/test/test_rib6.c
> @@ -332,7 +332,7 @@ static struct unit_test_suite rib6_tests = {
>       .suite_name = "rib6 autotest",
>       .setup = NULL,
>       .teardown = NULL,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE(test_create_invalid),
>               TEST_CASE(test_free_null),
>               TEST_CASE(test_insert_invalid),
> @@ -340,17 +340,17 @@ static struct unit_test_suite rib6_tests = {
>               TEST_CASE(test_basic),
>               TEST_CASE(test_tree_traversal),
>               TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  static struct unit_test_suite rib6_slow_tests = {
>       .suite_name = "rib6 slow autotest",
>       .setup = NULL,
>       .teardown = NULL,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE(test_multiple_create),
>               TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  /*
> diff --git a/app/test/test_security.c b/app/test/test_security.c
> index 060cf1ffa8..583a229c0e 100644
> --- a/app/test/test_security.c
> +++ b/app/test/test_security.c
> @@ -2484,7 +2484,7 @@ static struct unit_test_suite security_testsuite  = {
>       .suite_name = "generic security",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(ut_setup, ut_teardown,
>                               test_session_create_inv_context),
>               TEST_CASE_ST(ut_setup, ut_teardown,
> @@ -2627,7 +2627,7 @@ static struct unit_test_suite security_testsuite  = {
>                               test_capability_get_docsis_match),
>  
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_service_cores.c b/app/test/test_service_cores.c
> index 37d7172d53..ff4d3aa95a 100644
> --- a/app/test/test_service_cores.c
> +++ b/app/test/test_service_cores.c
> @@ -996,7 +996,7 @@ static struct unit_test_suite service_tests  = {
>       .suite_name = "service core test suite",
>       .setup = testsuite_setup,
>       .teardown = testsuite_teardown,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE_ST(dummy_register, NULL, unregister_all),
>               TEST_CASE_ST(dummy_register, NULL, service_name),
>               TEST_CASE_ST(dummy_register, NULL, service_get_by_name),
> @@ -1015,7 +1015,7 @@ static struct unit_test_suite service_tests  = {
>               TEST_CASE_ST(dummy_register, NULL, service_may_be_active),
>               TEST_CASE_ST(dummy_register, NULL, service_active_two_cores),
>               TEST_CASES_END() /**< NULL terminate unit test array */
> -     }
> +     })
>  };
>  
>  static int
> diff --git a/app/test/test_trace.c b/app/test/test_trace.c
> index 0f9df83c40..d704ceb8c2 100644
> --- a/app/test/test_trace.c
> +++ b/app/test/test_trace.c
> @@ -176,7 +176,7 @@ static struct unit_test_suite trace_tests = {
>       .suite_name = "trace autotest",
>       .setup = NULL,
>       .teardown = NULL,
> -     .unit_test_cases = {
> +     .unit_test_cases = ((struct unit_test_case []) {
>               TEST_CASE(test_trace_mode),
>               TEST_CASE(test_generic_trace_points),
>               TEST_CASE(test_fp_trace_points),
> @@ -185,7 +185,7 @@ static struct unit_test_suite trace_tests = {
>               TEST_CASE(test_trace_point_regex),
>               TEST_CASE(test_trace_points_lookup),
>               TEST_CASES_END()
> -     }
> +     })
>  };
>  
>  static int

Reply via email to