mirror of
https://gitlab.freedesktop.org/libevdev/libevdev.git
synced 2025-12-20 22:00:07 +01:00
test: split the tests into one test case each
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>
This commit is contained in:
parent
2af0b94623
commit
1014acedfc
9 changed files with 130 additions and 192 deletions
|
|
@ -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) \
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
add_test(s, test_limits);
|
||||
add_test(s, test_event_type_max);
|
||||
|
||||
tc = tcase_create("type names");
|
||||
tcase_add_test(tc, test_type_name);
|
||||
suite_add_tcase(s, tc);
|
||||
add_test(s, test_type_name);
|
||||
|
||||
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);
|
||||
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);
|
||||
|
||||
tc = tcase_create("value names");
|
||||
tcase_add_test(tc, test_value_name);
|
||||
suite_add_tcase(s, tc);
|
||||
add_test(s, test_value_name);
|
||||
add_test(s, test_prop_name);
|
||||
|
||||
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_event_type);
|
||||
add_test(s, test_event_code);
|
||||
|
||||
return s;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
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);
|
||||
|
||||
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);
|
||||
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);
|
||||
|
||||
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);
|
||||
add_test(s, test_skipped_sync);
|
||||
add_test(s, test_incomplete_sync);
|
||||
add_test(s, test_empty_sync);
|
||||
|
||||
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);
|
||||
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);
|
||||
|
||||
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_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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
add_test(s, test_ev_bit_limits);
|
||||
add_test(s, test_has_ev_bit);
|
||||
|
||||
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);
|
||||
add_test(s, test_event_codes);
|
||||
add_test(s, test_event_code_limits);
|
||||
|
||||
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);
|
||||
add_test(s, test_ev_rep);
|
||||
add_test(s, test_ev_rep_values);
|
||||
|
||||
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);
|
||||
add_test(s, test_input_props);
|
||||
add_test(s, test_set_input_props);
|
||||
|
||||
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);
|
||||
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);
|
||||
|
||||
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);
|
||||
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);
|
||||
|
||||
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);
|
||||
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);
|
||||
|
||||
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_led_valid);
|
||||
add_test(s, test_led_invalid);
|
||||
add_test(s, test_led_same);
|
||||
|
||||
return s;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
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);
|
||||
|
||||
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);
|
||||
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);
|
||||
|
||||
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);
|
||||
add_test(s, test_device_init);
|
||||
add_test(s, test_device_init_from_fd);
|
||||
|
||||
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);
|
||||
add_test(s, test_device_grab);
|
||||
add_test(s, test_device_grab_invalid_fd);
|
||||
add_test(s, test_device_grab_change_fd);
|
||||
|
||||
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_set_clock_id);
|
||||
add_test(s, test_set_clock_id_invalid_fd);
|
||||
add_test(s, test_clock_id_events);
|
||||
|
||||
return s;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
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);
|
||||
|
||||
tc = tcase_create("device events");
|
||||
tcase_add_test(tc, test_uinput_events);
|
||||
suite_add_tcase(s, tc);
|
||||
add_test(s, test_uinput_events);
|
||||
|
||||
tc = tcase_create("device properties");
|
||||
tcase_add_test(tc, test_uinput_properties);
|
||||
suite_add_tcase(s, tc);
|
||||
add_test(s, test_uinput_properties);
|
||||
|
||||
return s;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue