From ecf819b82e200177ef8f76097df0aeec1178a6a0 Mon Sep 17 00:00:00 2001 From: Jon Cruz Date: Thu, 22 Oct 2015 21:11:12 -0700 Subject: [PATCH] zunitc: made name of test fixture parameter explicit. Instead of using the implicit name 'data', changed the test with fixture macro ZUC_TEST_F() to use an additional value to explicitly set the name to use for test data from the fixture. Signed-off-by: Jon A. Cruz Reviewed-by: Bryce Harrington --- tests/config-parser-test.c | 42 +++++++++++++++---------------- tools/zunitc/inc/zunitc/zunitc.h | 25 ++++++++++++++---- tools/zunitc/test/fixtures_test.c | 6 ++--- tools/zunitc/test/zunitc_test.c | 6 ++--- 4 files changed, 47 insertions(+), 32 deletions(-) diff --git a/tests/config-parser-test.c b/tests/config-parser-test.c index 89983453..5dcafc46 100644 --- a/tests/config-parser-test.c +++ b/tests/config-parser-test.c @@ -166,7 +166,7 @@ static struct zuc_fixture config_test_t4 = { .set_up = setup_test_config_failing, }; -ZUC_TEST_F(config_test_t0, comment_only) +ZUC_TEST_F(config_test_t0, comment_only, data) { struct weston_config *config = data; ZUC_ASSERT_NOT_NULL(config); @@ -174,7 +174,7 @@ ZUC_TEST_F(config_test_t0, comment_only) /** @todo individual t1 tests should have more descriptive names. */ -ZUC_TEST_F(config_test_t1, test001) +ZUC_TEST_F(config_test_t1, test001, data) { struct weston_config_section *section; struct weston_config *config = data; @@ -184,7 +184,7 @@ ZUC_TEST_F(config_test_t1, test001) ZUC_ASSERT_NULL(section); } -ZUC_TEST_F(config_test_t1, test002) +ZUC_TEST_F(config_test_t1, test002, data) { char *s; int r; @@ -201,7 +201,7 @@ out_free: free(s); } -ZUC_TEST_F(config_test_t1, test003) +ZUC_TEST_F(config_test_t1, test003, data) { char *s; int r; @@ -216,7 +216,7 @@ ZUC_TEST_F(config_test_t1, test003) ZUC_ASSERT_NULL(s); } -ZUC_TEST_F(config_test_t1, test004) +ZUC_TEST_F(config_test_t1, test004, data) { char *s; int r; @@ -233,7 +233,7 @@ out_free: free(s); } -ZUC_TEST_F(config_test_t1, test005) +ZUC_TEST_F(config_test_t1, test005, data) { char *s; int r; @@ -251,7 +251,7 @@ out_free: free(s); } -ZUC_TEST_F(config_test_t1, test006) +ZUC_TEST_F(config_test_t1, test006, data) { int r; int32_t n; @@ -265,7 +265,7 @@ ZUC_TEST_F(config_test_t1, test006) ZUC_ASSERT_EQ(5252, n); } -ZUC_TEST_F(config_test_t1, test007) +ZUC_TEST_F(config_test_t1, test007, data) { int r; int32_t n; @@ -280,7 +280,7 @@ ZUC_TEST_F(config_test_t1, test007) ZUC_ASSERT_EQ(700, n); } -ZUC_TEST_F(config_test_t1, test008) +ZUC_TEST_F(config_test_t1, test008, data) { int r; uint32_t u; @@ -293,7 +293,7 @@ ZUC_TEST_F(config_test_t1, test008) ZUC_ASSERT_EQ(5252, u); } -ZUC_TEST_F(config_test_t1, test009) +ZUC_TEST_F(config_test_t1, test009, data) { int r; uint32_t u; @@ -307,7 +307,7 @@ ZUC_TEST_F(config_test_t1, test009) ZUC_ASSERT_EQ(600, u); } -ZUC_TEST_F(config_test_t1, test010) +ZUC_TEST_F(config_test_t1, test010, data) { int r, b; struct weston_config_section *section; @@ -319,7 +319,7 @@ ZUC_TEST_F(config_test_t1, test010) ZUC_ASSERT_EQ(0, b); } -ZUC_TEST_F(config_test_t1, test011) +ZUC_TEST_F(config_test_t1, test011, data) { int r, b; struct weston_config_section *section; @@ -331,7 +331,7 @@ ZUC_TEST_F(config_test_t1, test011) ZUC_ASSERT_EQ(1, b); } -ZUC_TEST_F(config_test_t1, test012) +ZUC_TEST_F(config_test_t1, test012, data) { int r, b; struct weston_config_section *section; @@ -343,7 +343,7 @@ ZUC_TEST_F(config_test_t1, test012) ZUC_ASSERT_EQ(1, b); } -ZUC_TEST_F(config_test_t1, test013) +ZUC_TEST_F(config_test_t1, test013, data) { int r, b; struct weston_config_section *section; @@ -356,7 +356,7 @@ ZUC_TEST_F(config_test_t1, test013) ZUC_ASSERT_EQ(-1, b); } -ZUC_TEST_F(config_test_t1, test014) +ZUC_TEST_F(config_test_t1, test014, data) { char *s; int r; @@ -374,7 +374,7 @@ out_free: free(s); } -ZUC_TEST_F(config_test_t1, test015) +ZUC_TEST_F(config_test_t1, test015, data) { char *s; int r; @@ -392,7 +392,7 @@ out_free: free(s); } -ZUC_TEST_F(config_test_t1, test016) +ZUC_TEST_F(config_test_t1, test016, data) { char *s; int r; @@ -412,7 +412,7 @@ out_free: free(s); } -ZUC_TEST_F(config_test_t1, test017) +ZUC_TEST_F(config_test_t1, test017, data) { const char *name; int i; @@ -427,19 +427,19 @@ ZUC_TEST_F(config_test_t1, test017) ZUC_ASSERT_EQ(5, i); } -ZUC_TEST_F(config_test_t2, doesnt_parse) +ZUC_TEST_F(config_test_t2, doesnt_parse, data) { struct weston_config *config = data; ZUC_ASSERT_NULL(config); } -ZUC_TEST_F(config_test_t3, doesnt_parse) +ZUC_TEST_F(config_test_t3, doesnt_parse, data) { struct weston_config *config = data; ZUC_ASSERT_NULL(config); } -ZUC_TEST_F(config_test_t4, doesnt_parse) +ZUC_TEST_F(config_test_t4, doesnt_parse, data) { struct weston_config *config = data; ZUC_ASSERT_NULL(config); diff --git a/tools/zunitc/inc/zunitc/zunitc.h b/tools/zunitc/inc/zunitc/zunitc.h index d04b599a..0fa78e3d 100644 --- a/tools/zunitc/inc/zunitc/zunitc.h +++ b/tools/zunitc/inc/zunitc/zunitc.h @@ -57,6 +57,7 @@ extern "C" { /** * Structure to use when defining a test fixture. * @note likely pending refactoring as use cases are refined. + * @see ZUC_TEST_F() */ struct zuc_fixture { /** @@ -259,6 +260,9 @@ zuc_set_output_junit(bool enable); /** * Defines a test case that can be registered to run. + * + * @param tcase name to use as the containing test case. + * @param test name used for the test under a given test case. */ #define ZUC_TEST(tcase, test) \ static void zuctest_##tcase##_##test(void); \ @@ -277,10 +281,21 @@ zuc_set_output_junit(bool enable); * Defines a test case that can be registered to run along with setup/teardown * support per-test and/or per test case. * - * @note likely pending refactoring as use cases are refined. - */ -#define ZUC_TEST_F(tcase, test) \ - static void zuctest_##tcase##_##test(void *data); \ + * @note This defines a test that *uses* a fixture, it does not + * actually define a test fixture itself. + * + * @param tcase name to use as the containing test case/fixture. + * The name used must represent a test fixture instance. It also + * must not duplicate any name used in a non-fixture ZUC_TEST() + * test. + * @note the test case name must be the name of a fixture struct + * to be passed to the test. + * @param test name used for the test under a given test case. + * @param param name for the fixture data pointer. + * @see struct zuc_fixture + */ +#define ZUC_TEST_F(tcase, test, param) \ + static void zuctest_##tcase##_##test(void *param); \ \ const struct zuc_registration zzz_##tcase##_##test \ __attribute__ ((section ("zuc_tsect"))) = \ @@ -290,7 +305,7 @@ zuc_set_output_junit(bool enable); zuctest_##tcase##_##test \ }; \ \ - static void zuctest_##tcase##_##test(void *data) + static void zuctest_##tcase##_##test(void *param) /** diff --git a/tools/zunitc/test/fixtures_test.c b/tools/zunitc/test/fixtures_test.c index 89c1e3e1..04a0ba93 100644 --- a/tools/zunitc/test/fixtures_test.c +++ b/tools/zunitc/test/fixtures_test.c @@ -43,7 +43,7 @@ static struct zuc_fixture fixture_minimal = { .data = "for all good men to", }; -ZUC_TEST_F(fixture_minimal, just_as_is) +ZUC_TEST_F(fixture_minimal, just_as_is, data) { const char *str = data; ZUC_ASSERT_NOT_NULL(str); @@ -86,7 +86,7 @@ static struct zuc_fixture fixture_data0 = { .tear_down = teardown_test_config }; -ZUC_TEST_F(fixture_data0, base) +ZUC_TEST_F(fixture_data0, base, data) { const char *str = data; ZUC_ASSERT_NOT_NULL(str); @@ -95,7 +95,7 @@ ZUC_TEST_F(fixture_data0, base) } /* Use the same fixture for a second test. */ -ZUC_TEST_F(fixture_data0, no_lower) +ZUC_TEST_F(fixture_data0, no_lower, data) { int i; const char *str = data; diff --git a/tools/zunitc/test/zunitc_test.c b/tools/zunitc/test/zunitc_test.c index 177c6bc8..8000aa84 100644 --- a/tools/zunitc/test/zunitc_test.c +++ b/tools/zunitc/test/zunitc_test.c @@ -219,7 +219,7 @@ struct zuc_fixture complex_test = { * but the fixture should reset that. */ -ZUC_TEST_F(complex_test, bases_cenario) +ZUC_TEST_F(complex_test, bases_cenario, data) { struct fixture_data *fdata = data; ZUC_ASSERT_NOT_NULL(fdata); @@ -231,7 +231,7 @@ ZUC_TEST_F(complex_test, bases_cenario) ZUC_ASSERT_EQ(2, fdata->test_counter); } -ZUC_TEST_F(complex_test, something) +ZUC_TEST_F(complex_test, something, data) { struct fixture_data *fdata = data; ZUC_ASSERT_NOT_NULL(fdata); @@ -243,7 +243,7 @@ ZUC_TEST_F(complex_test, something) ZUC_ASSERT_EQ(2, fdata->test_counter); } -ZUC_TEST_F(complex_test, else_here) +ZUC_TEST_F(complex_test, else_here, data) { struct fixture_data *fdata = data; ZUC_ASSERT_NOT_NULL(fdata);