test: split the tests into one test case each
authorPeter Hutterer <peter.hutterer@who-t.net>
Tue, 11 Feb 2020 10:37:01 +0000 (20:37 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Tue, 11 Feb 2020 10:57:42 +0000 (20:57 +1000)
For debugging it's more important to be able to quickly run a single test
rather than grouping them together, we don't have thousands of tests here
anyway. So let's add a macro to put every test func into its own TCase,
allowing for test selection via the environment variable CK_RUN_CASE.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
test/test-common.h
test/test-context.c
test/test-event-codes.c
test/test-event-names.c
test/test-kernel.c
test/test-libevdev-events.c
test/test-libevdev-has-event.c
test/test-libevdev-init.c
test/test-uinput.c

index 2dbbe64d2efb01ce1c9633eff0b9cc74d2f2bfd3..bef0faadbeb1f47f1314d6142b0282f36e630b6c 100644 (file)
@@ -52,6 +52,12 @@ struct libevdev_test {
 
 #define TEST_DEVICE_NAME "libevdev test device"
 
+#define add_test(suite, func) do { \
+       TCase *tc = tcase_create(#func); \
+       tcase_add_test(tc, func); \
+       suite_add_tcase(suite, tc); \
+} while(0)
+
 #include "test-common-uinput.h"
 
 #define assert_event(e_, t, c, v) \
index 303abb14bfeaeb8161b1aaa1f541abf61583238f..31b092912e9ab54103203b08f71fac05106ca4c5 100644 (file)
@@ -162,16 +162,13 @@ END_TEST
 TEST_SUITE(event_name_suite)
 {
        Suite *s = suite_create("Context manipulation");
-       TCase *tc;
-
-       tc = tcase_create("Device info");
-       tcase_add_test(tc, test_info);
-       tcase_add_test(tc, test_properties);
-       tcase_add_test(tc, test_bits);
-       tcase_add_test(tc, test_mt_slots_enable_disable);
-       tcase_add_test(tc, test_mt_slots_increase_decrease);
-       tcase_add_test(tc, test_mt_tracking_id);
-       suite_add_tcase(s, tc);
+
+       add_test(s, test_info);
+       add_test(s, test_properties);
+       add_test(s, test_bits);
+       add_test(s, test_mt_slots_enable_disable);
+       add_test(s, test_mt_slots_increase_decrease);
+       add_test(s, test_mt_tracking_id);
 
        return s;
 }
index b4e6d020675133a0f7b26bc62d4a20a2ea7c1505..7ff999d71e40c6c8ecd272ec7b5a9897b9b50b21 100644 (file)
@@ -264,30 +264,22 @@ TEST_SUITE(event_code_suite)
 {
        Suite *s = suite_create("Event codes");
 
-       TCase *tc = tcase_create("type tests");
-       tcase_add_test(tc, test_type_names);
-       tcase_add_test(tc, test_type_names_invalid);
-       tcase_add_test(tc, test_type_name_lookup);
-       tcase_add_test(tc, test_type_name_lookup_invalid);
-       suite_add_tcase(s, tc);
+       add_test(s, test_type_names);
+       add_test(s, test_type_names_invalid);
+       add_test(s, test_type_name_lookup);
+       add_test(s, test_type_name_lookup_invalid);
 
-       tc = tcase_create("code tests");
-       tcase_add_test(tc, test_code_names);
-       tcase_add_test(tc, test_code_name_lookup);
-       tcase_add_test(tc, test_code_names_invalid);
-       tcase_add_test(tc, test_code_name_lookup_invalid);
-       tcase_add_test(tc, test_code_names_max);
-       suite_add_tcase(s, tc);
+       add_test(s, test_code_names);
+       add_test(s, test_code_name_lookup);
+       add_test(s, test_code_names_invalid);
+       add_test(s, test_code_name_lookup_invalid);
+       add_test(s, test_code_names_max);
 
-       tc = tcase_create("value tests");
-       tcase_add_test(tc, test_value_names);
-       tcase_add_test(tc, test_value_names_invalid);
-       suite_add_tcase(s, tc);
+       add_test(s, test_value_names);
+       add_test(s, test_value_names_invalid);
 
-       tc = tcase_create("property tests");
-       tcase_add_test(tc, test_properties);
-       tcase_add_test(tc, test_properties_invalid);
-       suite_add_tcase(s, tc);
+       add_test(s, test_properties);
+       add_test(s, test_properties_invalid);
 
        return s;
 }
index 8a2b0403eb4663ffee0cc693b9edeaac53defc19..66f4657a0ec77cb5426f07c9ca1b9d1504d5c788 100644 (file)
@@ -304,40 +304,27 @@ TEST_SUITE(event_name_suite)
 {
        Suite *s = suite_create("Event names");
 
-       TCase *tc = tcase_create("type limits");
-       tcase_add_test(tc, test_limits);
-       tcase_add_test(tc, test_event_type_max);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("type names");
-       tcase_add_test(tc, test_type_name);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("code names");
-       tcase_add_test(tc, test_code_abs_name);
-       tcase_add_test(tc, test_code_rel_name);
-       tcase_add_test(tc, test_code_key_name);
-       tcase_add_test(tc, test_code_led_name);
-       tcase_add_test(tc, test_code_snd_name);
-       tcase_add_test(tc, test_code_rep_name);
-       tcase_add_test(tc, test_code_msc_name);
-       tcase_add_test(tc, test_code_sw_name);
-       tcase_add_test(tc, test_code_ff_name);
-       tcase_add_test(tc, test_code_syn_name);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("value names");
-       tcase_add_test(tc, test_value_name);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("prop names");
-       tcase_add_test(tc, test_prop_name);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("event values");
-       tcase_add_test(tc, test_event_type);
-       tcase_add_test(tc, test_event_code);
-       suite_add_tcase(s, tc);
+       add_test(s, test_limits);
+       add_test(s, test_event_type_max);
+
+       add_test(s, test_type_name);
+
+       add_test(s, test_code_abs_name);
+       add_test(s, test_code_rel_name);
+       add_test(s, test_code_key_name);
+       add_test(s, test_code_led_name);
+       add_test(s, test_code_snd_name);
+       add_test(s, test_code_rep_name);
+       add_test(s, test_code_msc_name);
+       add_test(s, test_code_sw_name);
+       add_test(s, test_code_ff_name);
+       add_test(s, test_code_syn_name);
+
+       add_test(s, test_value_name);
+       add_test(s, test_prop_name);
+
+       add_test(s, test_event_type);
+       add_test(s, test_event_code);
 
        return s;
 }
index e17c6931c833e9812fc580b37de805b5e449e060..5e7e2bbe2dda67f6aeee7f6efe99e0b938f8623c 100644 (file)
@@ -169,11 +169,9 @@ TEST_SUITE_ROOT_PRIVILEGES(kernel)
 {
        Suite *s = suite_create("kernel");
 
-       TCase *tc = tcase_create("EVIOCREVOKE");
-       tcase_add_test(tc, test_revoke);
-       tcase_add_test(tc, test_revoke_invalid);
-       tcase_add_test(tc, test_revoke_fail_after);
-       suite_add_tcase(s, tc);
+       add_test(s, test_revoke);
+       add_test(s, test_revoke_invalid);
+       add_test(s, test_revoke_fail_after);
 
        return s;
 }
index 4d5c38ba101ecda9353515a72347b74cb1635bfa..139dbe03bf9f17ce36bdc93cdbf8d941a58996da 100644 (file)
@@ -1966,53 +1966,43 @@ TEST_SUITE_ROOT_PRIVILEGES(libevdev_events)
 {
        Suite *s = suite_create("libevdev event tests");
 
-       TCase *tc = tcase_create("event polling");
-       tcase_add_test(tc, test_next_event);
-       tcase_add_test(tc, test_next_event_invalid_fd);
-       tcase_add_test(tc, test_next_event_blocking);
-       tcase_add_test(tc, test_syn_dropped_event);
-       tcase_add_test(tc, test_event_type_filtered);
-       tcase_add_test(tc, test_event_code_filtered);
-       tcase_add_test(tc, test_has_event_pending);
-       tcase_add_test(tc, test_has_event_pending_invalid_fd);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("SYN_DROPPED deltas");
-       tcase_add_test(tc, test_syn_delta_button);
-       tcase_add_test(tc, test_syn_delta_abs);
-       tcase_add_test(tc, test_syn_delta_mt);
-       tcase_add_test(tc, test_syn_delta_mt_reset_slot);
-       tcase_add_test(tc, test_syn_delta_led);
-       tcase_add_test(tc, test_syn_delta_sw);
-       tcase_add_test(tc, test_syn_delta_fake_mt);
-       tcase_add_test(tc, test_syn_delta_tracking_ids);
-       tcase_add_test(tc, test_syn_delta_late_sync);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("skipped syncs");
-       tcase_add_test(tc, test_skipped_sync);
-       tcase_add_test(tc, test_incomplete_sync);
-       tcase_add_test(tc, test_empty_sync);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("event values");
-       tcase_add_test(tc, test_event_values);
-       tcase_add_test(tc, test_event_values_invalid);
-       tcase_add_test(tc, test_mt_event_values);
-       tcase_add_test(tc, test_mt_event_values_invalid);
-       tcase_add_test(tc, test_mt_slot_ranges_invalid);
-       tcase_add_test(tc, test_mt_tracking_id_discard);
-       tcase_add_test(tc, test_mt_tracking_id_discard_neg_1);
-       tcase_add_test(tc, test_ev_rep_values);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("event value setters");
-       tcase_add_test(tc, test_event_value_setters);
-       tcase_add_test(tc, test_event_value_setters_invalid);
-       tcase_add_test(tc, test_event_mt_value_setters);
-       tcase_add_test(tc, test_event_mt_value_setters_invalid);
-       tcase_add_test(tc, test_event_mt_value_setters_current_slot);
-       suite_add_tcase(s, tc);
+       add_test(s, test_next_event);
+       add_test(s, test_next_event_invalid_fd);
+       add_test(s, test_next_event_blocking);
+       add_test(s, test_syn_dropped_event);
+       add_test(s, test_event_type_filtered);
+       add_test(s, test_event_code_filtered);
+       add_test(s, test_has_event_pending);
+       add_test(s, test_has_event_pending_invalid_fd);
+
+       add_test(s, test_syn_delta_button);
+       add_test(s, test_syn_delta_abs);
+       add_test(s, test_syn_delta_mt);
+       add_test(s, test_syn_delta_mt_reset_slot);
+       add_test(s, test_syn_delta_led);
+       add_test(s, test_syn_delta_sw);
+       add_test(s, test_syn_delta_fake_mt);
+       add_test(s, test_syn_delta_late_sync);
+       add_test(s, test_syn_delta_tracking_ids);
+
+       add_test(s, test_skipped_sync);
+       add_test(s, test_incomplete_sync);
+       add_test(s, test_empty_sync);
+
+       add_test(s, test_event_values);
+       add_test(s, test_event_values_invalid);
+       add_test(s, test_mt_event_values);
+       add_test(s, test_mt_event_values_invalid);
+       add_test(s, test_mt_slot_ranges_invalid);
+       add_test(s, test_mt_tracking_id_discard);
+       add_test(s, test_mt_tracking_id_discard_neg_1);
+       add_test(s, test_ev_rep_values);
+
+       add_test(s, test_event_value_setters);
+       add_test(s, test_event_value_setters_invalid);
+       add_test(s, test_event_mt_value_setters);
+       add_test(s, test_event_mt_value_setters_invalid);
+       add_test(s, test_event_mt_value_setters_current_slot);
 
        return s;
 }
index 74780a514dcda6b51c97bb2d80bb0ac5ee7e321c..fd1c69c506758926c8652d5e0057d1326be35d7b 100644 (file)
@@ -1146,56 +1146,40 @@ TEST_SUITE_ROOT_PRIVILEGES(has_events)
 {
        Suite *s = suite_create("libevdev_has_event tests");
 
-       TCase *tc = tcase_create("event type");
-       tcase_add_test(tc, test_ev_bit_limits);
-       tcase_add_test(tc, test_has_ev_bit);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("event codes");
-       tcase_add_test(tc, test_event_codes);
-       tcase_add_test(tc, test_event_code_limits);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("ev_rep");
-       tcase_add_test(tc, test_ev_rep);
-       tcase_add_test(tc, test_ev_rep_values);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("input properties");
-       tcase_add_test(tc, test_input_props);
-       tcase_add_test(tc, test_set_input_props);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("multitouch info");
-       tcase_add_test(tc, test_no_slots);
-       tcase_add_test(tc, test_slot_number);
-       tcase_add_test(tc, test_slot_init_value);
-       tcase_add_test(tc, test_invalid_mt_device);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("device info");
-       tcase_add_test(tc, test_device_name);
-       tcase_add_test(tc, test_device_set_name);
-       tcase_add_test(tc, test_device_set_ids);
-       tcase_add_test(tc, test_device_get_abs_info);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("device bit manipulation");
-       tcase_add_test(tc, test_device_set_abs);
-       tcase_add_test(tc, test_device_enable_bit);
-       tcase_add_test(tc, test_device_enable_bit_invalid);
-       tcase_add_test(tc, test_device_disable_bit);
-       tcase_add_test(tc, test_device_disable_bit_invalid);
-       tcase_add_test(tc, test_device_kernel_change_axis);
-       tcase_add_test(tc, test_device_kernel_change_axis_invalid);
-       tcase_add_test(tc, test_device_kernel_set_abs_invalid_fd);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("led manipulation");
-       tcase_add_test(tc, test_led_valid);
-       tcase_add_test(tc, test_led_invalid);
-       tcase_add_test(tc, test_led_same);
-       suite_add_tcase(s, tc);
+       add_test(s, test_ev_bit_limits);
+       add_test(s, test_has_ev_bit);
+
+       add_test(s, test_event_codes);
+       add_test(s, test_event_code_limits);
+
+       add_test(s, test_ev_rep);
+       add_test(s, test_ev_rep_values);
+
+       add_test(s, test_input_props);
+       add_test(s, test_set_input_props);
+
+       add_test(s, test_no_slots);
+       add_test(s, test_slot_number);
+       add_test(s, test_slot_init_value);
+       add_test(s, test_invalid_mt_device);
+
+       add_test(s, test_device_name);
+       add_test(s, test_device_set_name);
+       add_test(s, test_device_set_ids);
+       add_test(s, test_device_get_abs_info);
+
+       add_test(s, test_device_set_abs);
+       add_test(s, test_device_enable_bit);
+       add_test(s, test_device_enable_bit_invalid);
+       add_test(s, test_device_disable_bit);
+       add_test(s, test_device_disable_bit_invalid);
+       add_test(s, test_device_kernel_change_axis);
+       add_test(s, test_device_kernel_change_axis_invalid);
+       add_test(s, test_device_kernel_set_abs_invalid_fd);
+
+       add_test(s, test_led_valid);
+       add_test(s, test_led_invalid);
+       add_test(s, test_led_same);
 
        return s;
 }
index 67bf729744a50870eec9b6433781d09f3f06aff6..86eeef72a751e6c361c0018e1cc39024792f78a1 100644 (file)
@@ -687,38 +687,28 @@ TEST_SUITE_ROOT_PRIVILEGES(libevdev_init_test)
 {
        Suite *s = suite_create("libevdev init tests");
 
-       TCase *tc = tcase_create("device init");
-       tcase_add_test(tc, test_new_device);
-       tcase_add_test(tc, test_free_device);
-       tcase_add_test(tc, test_init_from_invalid_fd);
-       tcase_add_test(tc, test_init_and_change_fd);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("log init");
-       tcase_add_test(tc, test_log_init);
-       tcase_add_test(tc, test_log_priority);
-       tcase_add_test(tc, test_log_set_get_priority);
-       tcase_add_test(tc, test_log_default_priority);
-       tcase_add_test(tc, test_log_data);
-       tcase_add_test(tc, test_device_log_init);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("device fd init");
-       tcase_add_test(tc, test_device_init);
-       tcase_add_test(tc, test_device_init_from_fd);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("device grab");
-       tcase_add_test(tc, test_device_grab);
-       tcase_add_test(tc, test_device_grab_invalid_fd);
-       tcase_add_test(tc, test_device_grab_change_fd);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("clock id");
-       tcase_add_test(tc, test_set_clock_id);
-       tcase_add_test(tc, test_set_clock_id_invalid_fd);
-       tcase_add_test(tc, test_clock_id_events);
-       suite_add_tcase(s, tc);
+       add_test(s, test_new_device);
+       add_test(s, test_free_device);
+       add_test(s, test_init_from_invalid_fd);
+       add_test(s, test_init_and_change_fd);
+
+       add_test(s, test_log_init);
+       add_test(s, test_log_priority);
+       add_test(s, test_log_set_get_priority);
+       add_test(s, test_log_default_priority);
+       add_test(s, test_log_data);
+       add_test(s, test_device_log_init);
+
+       add_test(s, test_device_init);
+       add_test(s, test_device_init_from_fd);
+
+       add_test(s, test_device_grab);
+       add_test(s, test_device_grab_invalid_fd);
+       add_test(s, test_device_grab_change_fd);
+
+       add_test(s, test_set_clock_id);
+       add_test(s, test_set_clock_id_invalid_fd);
+       add_test(s, test_clock_id_events);
 
        return s;
 }
index d9bee36fc733e2edb82f2c8cebeae5963a4e460f..8f5fae3feecc5d239bab9d38d67d720b5e28312b 100644 (file)
@@ -372,21 +372,15 @@ TEST_SUITE_ROOT_PRIVILEGES(uinput_suite)
 {
        Suite *s = suite_create("libevdev uinput device tests");
 
-       TCase *tc = tcase_create("device creation");
-       tcase_add_test(tc, test_uinput_create_device);
-       tcase_add_test(tc, test_uinput_create_device_invalid);
-       tcase_add_test(tc, test_uinput_create_device_from_fd);
-       tcase_add_test(tc, test_uinput_check_syspath_time);
-       tcase_add_test(tc, test_uinput_check_syspath_name);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("device events");
-       tcase_add_test(tc, test_uinput_events);
-       suite_add_tcase(s, tc);
-
-       tc = tcase_create("device properties");
-       tcase_add_test(tc, test_uinput_properties);
-       suite_add_tcase(s, tc);
+       add_test(s, test_uinput_create_device);
+       add_test(s, test_uinput_create_device_invalid);
+       add_test(s, test_uinput_create_device_from_fd);
+       add_test(s, test_uinput_check_syspath_time);
+       add_test(s, test_uinput_check_syspath_name);
+
+       add_test(s, test_uinput_events);
+
+       add_test(s, test_uinput_properties);
 
        return s;
 }