1cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR)
2cmake_policy(SET CMP0057 NEW)
3
4project(regression_test LANGUAGES C)
5
6get_filename_component(SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/../../../regression
7                       ABSOLUTE)
8
9set(ux_class_dfu_test_cases
10    ${SOURCE_DIR}/usbx_device_dfu_basic_test.c
11    ${SOURCE_DIR}/usbx_uxe_device_dfu_test.c
12)
13
14set(ux_class_hub_test_cases
15    ${SOURCE_DIR}/usbx_host_class_hub_port_change_connection_process_coverage_test.c
16    ${SOURCE_DIR}/usbx_ux_host_class_hub_descriptor_get_coverage_test.c
17    ${SOURCE_DIR}/usbx_ux_host_class_hub_status_get_test.c
18    ${SOURCE_DIR}/usbx_ux_host_class_hub_transfer_request_completed_test.c
19    ${SOURCE_DIR}/usbx_hub_hub_status_get_invalid_length_test.c
20    ${SOURCE_DIR}/usbx_hub_no_power_switching_test.c
21    ${SOURCE_DIR}/usbx_hub_get_hub_status_fails_during_port_reset_test.c
22    ${SOURCE_DIR}/usbx_hub_port_never_reset_test.c
23    ${SOURCE_DIR}/usbx_hub_port_change_reset_test.c
24    ${SOURCE_DIR}/usbx_hub_port_change_over_current_test.c
25    ${SOURCE_DIR}/usbx_hub_port_change_suspend_test.c
26    ${SOURCE_DIR}/usbx_hub_get_hub_status_fails_during_hub_device_enum_test.c
27    ${SOURCE_DIR}/usbx_hub_basic_test.c
28    ${SOURCE_DIR}/usbx_hub_basic_memory_test.c
29    ${SOURCE_DIR}/usbx_hub_get_status_fails_during_configuration_test.c
30    ${SOURCE_DIR}/usbx_hub_invalid_hub_descriptor_length_test.c
31    ${SOURCE_DIR}/usbx_bus_powered_hub_conn_to_self_and_bus_powered_hub_test.c
32    ${SOURCE_DIR}/usbx_hub_full_speed_hub_test.c
33    ${SOURCE_DIR}/usbx_hub_multiple_tt_test.c
34    ${SOURCE_DIR}/usbx_hub_invalid_device_protocol_test.c
35    ${SOURCE_DIR}/usbx_hub_request_to_hub_itself_test.c
36    ${SOURCE_DIR}/usbx_hub_single_tt_too_many_hub_ports_test.c
37    ${SOURCE_DIR}/usbx_hub_multiple_tt_too_many_hub_ports_test.c
38    ${SOURCE_DIR}/usbx_hub_no_endpoints_test.c
39    ${SOURCE_DIR}/usbx_hub_interrupt_out_endpoint_test.c
40    ${SOURCE_DIR}/usbx_hub_non_interrupt_in_endpoint_test.c
41    ${SOURCE_DIR}/usbx_hub_hub_device_connect_test.c
42    ${SOURCE_DIR}/usbx_hub_hub_device_disconnect_test.c
43    ${SOURCE_DIR}/usbx_hub_quick_hub_device_reconnection_test.c
44    ${SOURCE_DIR}/usbx_hub_hub_device_enumeration_keeps_failing_test.c
45    ${SOURCE_DIR}/usbx_hub_port_reset_fails_during_hub_device_enum_test.c
46    ${SOURCE_DIR}/usbx_hub_get_port_status_fails_during_hub_device_enum_test.c
47    ${SOURCE_DIR}/usbx_hub_low_speed_hub_device_test.c
48    ${SOURCE_DIR}/usbx_hub_full_speed_hub_device_test.c
49    ${SOURCE_DIR}/usbx_hub_quick_hub_device_disconnection_test.c
50    ${SOURCE_DIR}/usbx_hub_port_change_enable_test.c
51    ${SOURCE_DIR}/usbx_ux_host_class_hub_entry_test.c)
52
53set(ux_class_hub_standalone_test_cases
54    ${SOURCE_DIR}/usbx_hub_basic_test.c
55    ${SOURCE_DIR}/usbx_hub_basic_memory_test.c
56)
57
58set(ux_class_audio_test_cases
59    ${SOURCE_DIR}/usbx_audio10_device_basic_test.c
60    ${SOURCE_DIR}/usbx_audio10_device_feedback_test.c
61    ${SOURCE_DIR}/usbx_audio10_iad_device_basic_test.c
62    ${SOURCE_DIR}/usbx_audio10_iad_device_control_test.c
63    ${SOURCE_DIR}/usbx_audio10_iad_device_interrupt_test.c
64    ${SOURCE_DIR}/usbx_audio20_device_basic_test.c
65    ${SOURCE_DIR}/usbx_audio20_device_controls_test.c
66    ${SOURCE_DIR}/usbx_audio20_device_feedback_test.c
67    ${SOURCE_DIR}/usbx_audio10_iad_host_basic_test.c
68    ${SOURCE_DIR}/usbx_audio20_host_basic_test.c
69    ${SOURCE_DIR}/usbx_uxe_device_audio_test.c
70    ${SOURCE_DIR}/usbx_uxe_host_audio_test.c
71)
72
73set(ux_class_audio_device_standalone_test_cases
74    ${SOURCE_DIR}/usbx_audio10_device_basic_test.c
75    ${SOURCE_DIR}/usbx_audio20_device_basic_test.c
76    ${SOURCE_DIR}/usbx_audio10_device_feedback_test.c
77    ${SOURCE_DIR}/usbx_audio20_device_feedback_test.c
78    ${SOURCE_DIR}/usbx_audio10_iad_device_interrupt_test.c
79)
80
81set(ux_class_rndis_test_cases ${SOURCE_DIR}/usbx_rndis_basic_test.c)
82
83set(ux_class_cdc_ecm_test_cases
84    ${SOURCE_DIR}/usbx_cdc_ecm_basic_test.c
85    ${SOURCE_DIR}/usbx_cdc_ecm_basic_ipv6_test.c
86    ${SOURCE_DIR}/usbx_cdc_ecm_nx_packet_chain_test.c
87    ${SOURCE_DIR}/usbx_cdc_ecm_disconnect_and_reconnect_test.c
88    ${SOURCE_DIR}/usbx_cdc_ecm_alternate_setting_change_to_zero_test.c
89    ${SOURCE_DIR}/usbx_ux_host_class_cdc_ecm_transmission_callback_test.c
90    ${SOURCE_DIR}/usbx_cdc_ecm_host_bulko_transfer_arming_during_link_dn_test.c
91    ${SOURCE_DIR}/usbx_cdc_ecm_host_bulk_out_transfer_fail_test.c
92    ${SOURCE_DIR}/usbx_cdc_ecm_host_bulki_arm_err_dueto_link_dn_thread_wait_test.c
93    ${SOURCE_DIR}/usbx_cdc_ecm_host_non_ip_packet_received_test.c
94    ${SOURCE_DIR}/usbx_cdc_ecm_host_bulk_in_transfer_fail_test.c
95    ${SOURCE_DIR}/usbx_cdc_ecm_host_thread_link_down_before_transfer_test.c
96    ${SOURCE_DIR}/usbx_cdc_ecm_host_thread_packet_allocate_fail_test.c
97    ${SOURCE_DIR}/usbx_cdc_ecm_host_thread_packet_append_fail_test.c
98    ${SOURCE_DIR}/usbx_cdc_ecm_mac_address_test.c
99    ${SOURCE_DIR}/usbx_cdc_ecm_mac_address_invalid_length_test.c
100    ${SOURCE_DIR}/usbx_cdc_ecm_no_functional_descriptor_test.c
101    ${SOURCE_DIR}/usbx_ux_host_class_cdc_ecm_mac_address_get_test.c
102    ${SOURCE_DIR}/usbx_cdc_ecm_host_bulk_in_transfer_arming_during_link_down_test.c
103    ${SOURCE_DIR}/usbx_ux_host_class_cdc_ecm_interrupt_notification_test.c
104    ${SOURCE_DIR}/usbx_ux_host_class_cdc_ecm_entry_test.c
105    ${SOURCE_DIR}/usbx_cdc_ecm_host_bulk_in_transfer_arming_during_deactivate_test.c
106    ${SOURCE_DIR}/usbx_cdc_ecm_host_first_interrupt_transfer_fail_test.c
107    ${SOURCE_DIR}/usbx_cdc_ecm_host_packet_pool_create_fail_test.c
108    ${SOURCE_DIR}/usbx_cdc_ecm_host_thread_create_fail_test.c
109    ${SOURCE_DIR}/usbx_cdc_ecm_host_int_notification_semaphore_create_fail_test.c
110    ${SOURCE_DIR}/usbx_cdc_ecm_host_bulk_out_semaphore_create_fail_test.c
111    ${SOURCE_DIR}/usbx_cdc_ecm_host_bulk_in_semaphore_create_fail_test.c
112    ${SOURCE_DIR}/usbx_cdc_ecm_control_interface_no_interrupt_endpoint_test.c
113    ${SOURCE_DIR}/usbx_cdc_ecm_data_iface_non_bulko_and_non_bulki_endpt_test.c
114    ${SOURCE_DIR}/usbx_cdc_ecm_basic_memory_test.c
115    ${SOURCE_DIR}/usbx_cdc_ecm_data_interface_setting_select_fails_test.c
116    ${SOURCE_DIR}/usbx_cdc_ecm_non_data_iface_after_zero_endpt_data_iface_test.c
117    ${SOURCE_DIR}/usbx_cdc_ecm_invalid_alt_setting_after_zero_endpt_data_iface_test.c
118    ${SOURCE_DIR}/usbx_cdc_ecm_default_data_interface_setting_with_endpoints_test.c
119    ${SOURCE_DIR}/usbx_cdc_ecm_one_data_interface_with_no_endpoints_test.c
120    ${SOURCE_DIR}/usbx_cdc_ecm_no_control_interface_test.c
121    ${SOURCE_DIR}/usbx_cdc_ecm_interface_before_control_interface_test.c
122    ${SOURCE_DIR}/usbx_cdc_ecm_data_interface_no_bulk_out_endpoint_test.c
123    ${SOURCE_DIR}/usbx_cdc_ecm_data_interface_no_bulk_in_endpoint_test.c
124    ${SOURCE_DIR}/usbx_cdc_ecm_link_down_while_ongoing_transfers_test.c
125    ${SOURCE_DIR}/usbx_ux_host_class_cdc_ecm_write_test.c
126    ${SOURCE_DIR}/usbx_ux_device_class_cdc_ecm_activate_test.c
127    ${SOURCE_DIR}/usbx_ux_device_class_cdc_ecm_bulkin_thread_test.c
128    ${SOURCE_DIR}/usbx_ux_device_class_cdc_ecm_bulkout_thread_test.c
129    ${SOURCE_DIR}/usbx_ux_device_class_cdc_ecm_control_request_test.c
130    ${SOURCE_DIR}/usbx_ux_device_class_cdc_ecm_change_test.c
131    ${SOURCE_DIR}/usbx_ux_device_class_cdc_ecm_entry_test.c
132    ${SOURCE_DIR}/usbx_ux_device_class_cdc_ecm_deactivate_test.c
133    ${SOURCE_DIR}/usbx_ux_device_class_cdc_ecm_initialize_test.c
134    ${SOURCE_DIR}/usbx_ux_device_class_cdc_ecm_interrupt_thread_test.c
135    ${SOURCE_DIR}/usbx_ux_device_class_cdc_ecm_uninitialize_test.c)
136
137set(ux_class_hid_test_cases
138    ${SOURCE_DIR}/usbx_ux_device_class_hid_basic_memory_test.c
139    ${SOURCE_DIR}/usbx_ux_device_class_hid_activate_test2.c
140    ${SOURCE_DIR}/usbx_ux_device_class_hid_activate_test3.c
141    ${SOURCE_DIR}/usbx_ux_device_class_hid_control_request_test.c
142    ${SOURCE_DIR}/usbx_ux_device_class_hid_initialize_test.c
143    ${SOURCE_DIR}/usbx_ux_device_class_hid_interrupt_thread_test2.c
144    ${SOURCE_DIR}/usbx_ux_device_class_hid_read_test.c
145    ${SOURCE_DIR}/usbx_ux_device_class_hid_receiver_memory_test.c
146    ${SOURCE_DIR}/usbx_ux_device_class_hid_receiver_test.c
147    ${SOURCE_DIR}/usbx_ux_device_class_hid_report_test.c
148    ${SOURCE_DIR}/usbx_ux_device_class_hid_report_set_test2.c
149    ${SOURCE_DIR}/usbx_ux_device_class_hid_idle_rate_test.c
150    ${SOURCE_DIR}/usbx_ux_device_class_hid_wMaxPacketSize_test.c
151    ${SOURCE_DIR}/usbx_ux_host_class_hid_client_register_test2.c
152    ${SOURCE_DIR}/usbx_ux_host_class_hid_deactivate_test3.c
153    ${SOURCE_DIR}/usbx_ux_host_class_hid_report_descriptor_get_test.c
154    ${SOURCE_DIR}/usbx_ux_host_class_hid_report_descriptor_get_test4.c
155    ${SOURCE_DIR}/usbx_ux_host_class_hid_idle_get_test.c
156    ${SOURCE_DIR}/usbx_ux_host_class_hid_interrupt_endpoint_search_int_out_test.c
157    ${SOURCE_DIR}/usbx_ux_host_class_hid_interrupt_endpoint_search_test2.c
158    ${SOURCE_DIR}/usbx_ux_host_class_hid_keyboard_callback_test2.c
159    ${SOURCE_DIR}/usbx_ux_host_class_hid_keyboard_ioctl_test.c
160    ${SOURCE_DIR}/usbx_ux_host_class_hid_main_item_parse_test.c
161    ${SOURCE_DIR}/usbx_ux_host_class_hid_main_item_parse_test2.c
162    ${SOURCE_DIR}/usbx_ux_host_class_hid_mouse_entry_test2.c
163    ${SOURCE_DIR}/usbx_ux_host_class_hid_mouse_entry_test3.c
164    ${SOURCE_DIR}/usbx_ux_host_class_hid_periodic_report_start_test2.c
165    ${SOURCE_DIR}/usbx_ux_host_class_hid_remote_control_activate_test.c
166    ${SOURCE_DIR}/usbx_ux_host_class_hid_remote_control_activate_test2.c
167    ${SOURCE_DIR}/usbx_ux_host_class_hid_remote_control_entry_test2.c
168    ${SOURCE_DIR}/usbx_ux_host_class_hid_remote_control_entry_test3.c
169    ${SOURCE_DIR}/usbx_ux_host_class_hid_report_get_test2.c
170    ${SOURCE_DIR}/usbx_ux_host_class_hid_transfer_request_completed_test.c
171    ${SOURCE_DIR}/usbx_ux_host_class_hid_deactivate_test.c
172    ${SOURCE_DIR}/usbx_ux_host_class_hid_descriptor_parse_coverage_test.c
173    ${SOURCE_DIR}/usbx_ux_host_class_hid_descriptor_parse_test2.c
174    ${SOURCE_DIR}/usbx_ux_host_class_hid_descriptor_parse_test4.c
175    ${SOURCE_DIR}/usbx_ux_host_class_hid_descriptor_parse_test5.c
176    ${SOURCE_DIR}/usbx_hid_keyboard_extraction_test2.c
177    ${SOURCE_DIR}/usbx_hid_mouse_extraction_test2.c
178    ${SOURCE_DIR}/usbx_hid_remote_control_extraction_test2.c
179    ${SOURCE_DIR}/usbx_ux_host_class_hid_keyboard_thread_test.c
180    ${SOURCE_DIR}/usbx_ux_host_class_hid_keyboard_thread_test2.c
181    ${SOURCE_DIR}/usbx_ux_device_class_hid_activate_test.c
182    ${SOURCE_DIR}/usbx_ux_device_class_hid_deactivate_test.c
183    ${SOURCE_DIR}/usbx_ux_device_class_hid_entry_test.c
184    ${SOURCE_DIR}/usbx_ux_host_class_hid_activate_test.c
185    ${SOURCE_DIR}/usbx_ux_host_class_hid_configure_test.c
186    ${SOURCE_DIR}/usbx_ux_host_class_hid_descriptor_parse_test.c
187    ${SOURCE_DIR}/usbx_ux_host_class_hid_entry_test.c
188    ${SOURCE_DIR}/usbx_ux_host_class_hid_idle_set_test.c
189    ${SOURCE_DIR}/usbx_ux_host_class_hid_interrupt_endpoint_search_test.c
190    ${SOURCE_DIR}/usbx_ux_host_class_hid_keyboard_activate_test.c
191    ${SOURCE_DIR}/usbx_ux_host_class_hid_keyboard_entry_test.c
192    ${SOURCE_DIR}/usbx_ux_host_class_hid_local_item_parse_test.c
193    ${SOURCE_DIR}/usbx_ux_host_class_hid_mouse_activate_test.c
194    ${SOURCE_DIR}/usbx_ux_host_class_hid_mouse_buttons_get_test.c
195    ${SOURCE_DIR}/usbx_ux_host_class_hid_mouse_entry_test.c
196    ${SOURCE_DIR}/usbx_ux_host_class_hid_mouse_positions_get_test.c
197    ${SOURCE_DIR}/usbx_ux_host_class_hid_mouse_wheel_get_test.c
198    ${SOURCE_DIR}/usbx_ux_host_class_hid_periodic_report_start_test.c
199    ${SOURCE_DIR}/usbx_ux_host_class_hid_periodic_report_stop_test.c
200    ${SOURCE_DIR}/usbx_ux_host_class_hid_remote_control_entry_test.c
201    ${SOURCE_DIR}/usbx_ux_host_class_hid_remote_control_usage_get_test.c
202    ${SOURCE_DIR}/usbx_ux_host_class_hid_report_add_test.c
203    ${SOURCE_DIR}/usbx_ux_host_class_hid_report_callback_register_test.c
204    ${SOURCE_DIR}/usbx_ux_host_class_hid_report_id_get_test.c
205    ${SOURCE_DIR}/usbx_hid_interrupt_endpoint_get_report_test.c
206    ${SOURCE_DIR}/usbx_ux_device_class_hid_event_get_AND_set_test.c
207    ${SOURCE_DIR}/usbx_ux_host_class_hid_client_register_test.c
208    ${SOURCE_DIR}/usbx_ux_host_class_hid_client_search_test.c
209    ${SOURCE_DIR}/usbx_control_transfer_stall_test.c
210    ${SOURCE_DIR}/usbx_ux_device_class_hid_descriptor_send_test.c
211    ${SOURCE_DIR}/usbx_hid_keyboard_key_test.c
212    ${SOURCE_DIR}/usbx_ux_device_class_hid_interrupt_thread_test.c
213    ${SOURCE_DIR}/usbx_ux_device_class_hid_report_set_test.c
214    ${SOURCE_DIR}/usbx_ux_host_class_hid_report_get_test.c
215    ${SOURCE_DIR}/usbx_ux_host_class_hid_report_set_test.c
216    ${SOURCE_DIR}/usbx_ux_host_class_hid_report_set_int_out_test.c
217    ${SOURCE_DIR}/usbx_hid_keyboard_key_get_test.c
218    ${SOURCE_DIR}/usbx_hid_transfer_request_completed_decompressed_test.c
219    ${SOURCE_DIR}/usbx_hid_transfer_request_completed_raw_test.c
220    ${SOURCE_DIR}/usbx_hid_transfer_request_completed_test.c
221    ${SOURCE_DIR}/usbx_hid_remote_control_extraction_test.c
222    ${SOURCE_DIR}/usbx_hid_report_descriptor_compress_test.c
223    ${SOURCE_DIR}/usbx_hid_report_descriptor_compress_array_test.c
224    ${SOURCE_DIR}/usbx_hid_report_descriptor_compress_and_decompress_test.c
225    ${SOURCE_DIR}/usbx_hid_keyboard_extraction_test.c
226    ${SOURCE_DIR}/usbx_hid_keyboard_basic_test.c
227    ${SOURCE_DIR}/usbx_hid_mouse_basic_test.c
228    ${SOURCE_DIR}/usbx_hid_mouse_extraction_test.c
229    ${SOURCE_DIR}/usbx_hid_remote_control_tests.c
230    ${SOURCE_DIR}/usbx_hid_report_descriptor_collection_overflow_test.c
231    ${SOURCE_DIR}/usbx_hid_report_descriptor_decompress_array_test.c
232    ${SOURCE_DIR}/usbx_hid_report_descriptor_decompress_test.c
233    ${SOURCE_DIR}/usbx_hid_report_descriptor_delimiter_nested_close_test.c
234    ${SOURCE_DIR}/usbx_hid_report_descriptor_delimiter_nested_open_test.c
235    ${SOURCE_DIR}/usbx_hid_report_descriptor_delimiter_test.c
236    ${SOURCE_DIR}/usbx_hid_report_descriptor_delimiter_unknown_test.c
237    ${SOURCE_DIR}/usbx_hid_report_descriptor_end_collection_error_test.c
238    ${SOURCE_DIR}/usbx_hid_report_descriptor_example_andisplay_test.c
239    ${SOURCE_DIR}/usbx_hid_report_descriptor_example_delimit_test.c
240    ${SOURCE_DIR}/usbx_hid_report_descriptor_example_digit_test.c
241    ${SOURCE_DIR}/usbx_hid_report_descriptor_example_display_test.c
242    ${SOURCE_DIR}/usbx_hid_report_descriptor_example_joystk_test.c
243    ${SOURCE_DIR}/usbx_hid_report_descriptor_example_keybrd_test.c
244    ${SOURCE_DIR}/usbx_hid_report_descriptor_example_monitor_test.c
245    ${SOURCE_DIR}/usbx_hid_report_descriptor_example_mouse_test.c
246    ${SOURCE_DIR}/usbx_hid_report_descriptor_example_remote_test.c
247    ${SOURCE_DIR}/usbx_hid_report_descriptor_example_tele_test.c
248    ${SOURCE_DIR}/usbx_hid_report_descriptor_get_zero_length_item_data_test.c
249    ${SOURCE_DIR}/usbx_hid_report_descriptor_global_item_persist_test.c
250    ${SOURCE_DIR}/usbx_hid_report_descriptor_global_item_test.c
251    ${SOURCE_DIR}/usbx_hid_report_descriptor_incoherent_usage_min_max_test.c
252    ${SOURCE_DIR}/usbx_hid_report_descriptor_invalid_item_test.c
253    ${SOURCE_DIR}/usbx_hid_report_descriptor_invalid_length_test.c
254    ${SOURCE_DIR}/usbx_hid_report_descriptor_item_size_test.c
255    ${SOURCE_DIR}/usbx_hid_report_descriptor_multiple_collections_test.c
256    ${SOURCE_DIR}/usbx_hid_report_descriptor_multiple_fields_and_reports_test.c
257    ${SOURCE_DIR}/usbx_hid_report_descriptor_multiple_fields_test.c
258    ${SOURCE_DIR}/usbx_hid_report_descriptor_multiple_reports_feature_test.c
259    ${SOURCE_DIR}/usbx_hid_report_descriptor_multiple_reports_input_test.c
260    ${SOURCE_DIR}/usbx_hid_report_descriptor_multiple_reports_output_test.c
261    ${SOURCE_DIR}/usbx_hid_report_descriptor_pop_underflow_test.c
262    ${SOURCE_DIR}/usbx_hid_report_descriptor_push_overflow_test.c
263    ${SOURCE_DIR}/usbx_hid_report_descriptor_push_pop_test.c
264    ${SOURCE_DIR}/usbx_hid_report_descriptor_report_count_overflow_test.c
265    ${SOURCE_DIR}/usbx_hid_report_descriptor_report_size_overflow_test.c
266    ${SOURCE_DIR}/usbx_hid_report_descriptor_unknown_global_tag_test.c
267    ${SOURCE_DIR}/usbx_hid_report_descriptor_unknown_local_tag_test.c
268    ${SOURCE_DIR}/usbx_hid_report_descriptor_usages_min_max_test.c
269    ${SOURCE_DIR}/usbx_hid_report_descriptor_usages_single_test.c
270    ${SOURCE_DIR}/usbx_hid_report_multiple_reports_ids_test.c
271    ${SOURCE_DIR}/usbx_uxe_device_hid_test.c
272    ${SOURCE_DIR}/usbx_uxe_host_hid_test.c
273    ${SOURCE_DIR}/usbx_ux_host_class_hid_logitech_pro_x_superlight_test.c
274)
275set(ux_class_hid_device_standalone_test_cases
276    ${SOURCE_DIR}/usbx_hid_mouse_basic_test.c
277    ${SOURCE_DIR}/usbx_hid_keyboard_basic_test.c
278    ${SOURCE_DIR}/usbx_ux_device_class_hid_basic_memory_test.c
279    ${SOURCE_DIR}/usbx_ux_device_class_hid_control_request_test.c
280    ${SOURCE_DIR}/usbx_ux_device_class_hid_read_test.c
281    ${SOURCE_DIR}/usbx_ux_device_class_hid_receiver_memory_test.c
282    ${SOURCE_DIR}/usbx_ux_device_class_hid_receiver_test.c
283    ${SOURCE_DIR}/usbx_uxe_device_hid_test.c
284)
285set(ux_class_hid_host_standalone_test_cases
286    ${SOURCE_DIR}/usbx_class_hid_basic_test.c
287    ${SOURCE_DIR}/usbx_class_hid_keyboard_basic_test.c
288    ${SOURCE_DIR}/usbx_class_hid_mouse_basic_test.c
289    ${SOURCE_DIR}/usbx_class_hid_remote_control_basic_test.c
290    ${SOURCE_DIR}/usbx_class_hid_basic_memory_test.c
291    ${SOURCE_DIR}/usbx_ux_host_class_hid_report_set_int_out_test.c
292    ${SOURCE_DIR}/usbx_uxe_host_hid_test.c
293)
294set(ux_class_hid_standalone_test_cases
295)
296
297set(ux_class_cdc_acm_test_cases
298    ${SOURCE_DIR}/usbx_cdc_acm_basic_test.c
299    ${SOURCE_DIR}/usbx_cdc_acm_basic_memory_test.c
300    ${SOURCE_DIR}/usbx_cdc_acm_configure_test.c
301    ${SOURCE_DIR}/usbx_cdc_acm_device_dtr_rts_reset_on_disconnect_test.c
302    ${SOURCE_DIR}/usbx_ux_device_class_cdc_acm_activate_test.c
303    ${SOURCE_DIR}/usbx_ux_device_class_cdc_acm_deactivate_test.c
304    ${SOURCE_DIR}/usbx_ux_device_class_cdc_acm_ioctl_test.c
305    ${SOURCE_DIR}/usbx_ux_device_class_cdc_acm_transmission_test.c
306    ${SOURCE_DIR}/usbx_ux_device_class_cdc_acm_write_test.c
307    ${SOURCE_DIR}/usbx_ux_device_class_cdc_acm_timeout_test.c
308    ${SOURCE_DIR}/usbx_ux_host_class_cdc_acm_activate_test.c
309    ${SOURCE_DIR}/usbx_ux_host_class_cdc_acm_capabilities_get_test.c
310    ${SOURCE_DIR}/usbx_ux_host_class_cdc_acm_deactivate_test.c
311    ${SOURCE_DIR}/usbx_ux_host_class_cdc_acm_endpoints_get_test.c
312    ${SOURCE_DIR}/usbx_ux_host_class_cdc_acm_entry_test.c
313    ${SOURCE_DIR}/usbx_ux_host_class_cdc_acm_read_test.c
314    ${SOURCE_DIR}/usbx_ux_host_class_cdc_acm_transfer_request_completed_test.c
315    ${SOURCE_DIR}/usbx_ux_host_class_cdc_acm_write_test.c
316    ${SOURCE_DIR}/usbx_ux_device_class_cdc_acm_bulkout_thread_test.c
317)
318
319set(ux_class_gser_test_cases
320  ${SOURCE_DIR}/usbx_uxe_host_gser_test.c
321)
322set(ux_class_prolific_test_cases
323  ${SOURCE_DIR}/usbx_uxe_host_prolific_test.c
324)
325set(ux_class_swar_test_cases
326  ${SOURCE_DIR}/usbx_uxe_host_swar_test.c
327)
328
329set(ux_dpump_test_cases ${SOURCE_DIR}/usbx_dpump_basic_test.c)
330
331set(ux_device_class_storage_tx_test_cases ${SOURCE_DIR}/usbx_storage_tests.c)
332
333set(ux_class_storage_test_cases
334    ${SOURCE_DIR}/usbx_host_class_storage_max_lun_get_coverage_test.c
335    ${SOURCE_DIR}/usbx_host_class_storage_entry_coverage_test.c
336    ${SOURCE_DIR}/usbx_storage_basic_memory_test.c
337    ${SOURCE_DIR}/usbx_storage_multi_lun_test.c
338    ${SOURCE_DIR}/usbx_ux_device_class_storage_request_sense_coverage_test.c
339    ${SOURCE_DIR}/usbx_ux_device_class_storage_control_request_test.c
340    ${SOURCE_DIR}/usbx_ux_device_class_storage_entry_test.c
341    ${SOURCE_DIR}/usbx_ux_device_class_storage_format_test.c
342    ${SOURCE_DIR}/usbx_ux_device_class_storage_initialize_test.c
343    ${SOURCE_DIR}/usbx_ux_device_class_storage_inquiry_test.c
344    ${SOURCE_DIR}/usbx_ux_device_class_storage_mode_select_test.c
345    ${SOURCE_DIR}/usbx_ux_device_class_storage_mode_sense_test.c
346    ${SOURCE_DIR}/usbx_ux_device_class_storage_prevent_allow_media_removal_test.c
347    ${SOURCE_DIR}/usbx_ux_device_class_storage_read_test.c
348    ${SOURCE_DIR}/usbx_ux_device_class_storage_request_sense_test.c
349    ${SOURCE_DIR}/usbx_ux_device_class_storage_start_stop_test.c
350    ${SOURCE_DIR}/usbx_ux_device_class_storage_synchronize_cache_test.c
351    ${SOURCE_DIR}/usbx_ux_device_class_storage_test_ready_test.c
352    ${SOURCE_DIR}/usbx_ux_device_class_storage_thread_test.c
353    ${SOURCE_DIR}/usbx_ux_device_class_storage_uninitialize_test.c
354    ${SOURCE_DIR}/usbx_ux_device_class_storage_verify_test.c
355    ${SOURCE_DIR}/usbx_ux_device_class_storage_vendor_strings_test.c
356    ${SOURCE_DIR}/usbx_ux_device_class_storage_write_test.c
357    ${SOURCE_DIR}/usbx_ux_device_class_storage_invalid_lun_test.c
358    ${SOURCE_DIR}/usbx_ux_host_class_storage_configure_coverage_test.c
359    ${SOURCE_DIR}/usbx_ux_host_class_storage_request_sense_test.c
360    ${SOURCE_DIR}/usbx_ux_host_class_storage_media_capacity_get_test.c
361    ${SOURCE_DIR}/usbx_ux_host_class_storage_max_lun_get_test.c
362    ${SOURCE_DIR}/usbx_ux_host_class_storage_configure_test.c
363    ${SOURCE_DIR}/usbx_ux_host_class_storage_activate_test.c
364    ${SOURCE_DIR}/usbx_ux_host_class_storage_device_support_check_test.c
365    ${SOURCE_DIR}/usbx_ux_host_class_storage_device_initialize_test.c
366    ${SOURCE_DIR}/usbx_ux_host_class_storage_media_mount_test.c
367    ${SOURCE_DIR}/usbx_ux_host_class_storage_media_open_test.c
368    ${SOURCE_DIR}/usbx_ux_host_class_storage_media_read_test.c
369    ${SOURCE_DIR}/usbx_ux_host_class_storage_media_write_test.c
370    ${SOURCE_DIR}/usbx_ux_host_class_storage_media_protection_check_test.c
371    ${SOURCE_DIR}/usbx_ux_host_class_storage_media_recovery_sense_get_test.c
372    ${SOURCE_DIR}/usbx_ux_host_class_storage_start_stop_test.c
373    ${SOURCE_DIR}/usbx_ux_host_class_storage_transport_bo_test.c
374    ${SOURCE_DIR}/usbx_ux_host_class_storage_driver_entry_test.c
375    ${SOURCE_DIR}/usbx_ux_host_class_storage_entry_test.c
376    ${SOURCE_DIR}/usbx_ux_host_class_storage_thread_entry_test.c
377    ${SOURCE_DIR}/usbx_uxe_device_storage_test.c
378    ${SOURCE_DIR}/usbx_uxe_host_storage_test.c
379)
380set(ux_class_memory_management_test_cases
381    ${SOURCE_DIR}/usbx_ux_host_device_basic_memory_tests.c
382    ${SOURCE_DIR}/usbx_ux_utility_memory_safe_test.c
383    ${SOURCE_DIR}/usbx_ux_utility_memory_test.c
384    ${SOURCE_DIR}/usbx_ux_utility_basic_memory_management_test.c
385    ${SOURCE_DIR}/usbx_hub_basic_memory_test.c
386    ${SOURCE_DIR}/usbx_cdc_ecm_basic_memory_test.c
387    ${SOURCE_DIR}/usbx_ux_device_class_hid_basic_memory_test.c
388    ${SOURCE_DIR}/usbx_ux_device_class_hid_receiver_memory_test.c
389    ${SOURCE_DIR}/usbx_class_hid_basic_memory_test.c
390    ${SOURCE_DIR}/usbx_cdc_acm_basic_memory_test.c
391    ${SOURCE_DIR}/usbx_storage_basic_memory_test.c
392)
393set(ux_class_storage_device_standalone_test_cases
394    ${SOURCE_DIR}/usbx_standalone_device_storage_basic_test.c
395    ${SOURCE_DIR}/usbx_standalone_device_storage_read_write_test.c
396    ${SOURCE_DIR}/usbx_standalone_device_storage_error_cv_test.c
397)
398set(ux_class_storage_host_standalone_test_cases
399    ${SOURCE_DIR}/usbx_standalone_host_storage_basic_test.c
400    ${SOURCE_DIR}/usbx_standalone_host_storage_read_write_test.c
401    ${SOURCE_DIR}/usbx_standalone_host_storage_insert_eject_test.c
402    ${SOURCE_DIR}/usbx_uxe_host_storage_test.c
403)
404set(ux_class_storage_standalone_test_cases
405)
406
407set(ux_stack_cdc_acm_test_cases
408    ${SOURCE_DIR}/usbx_ux_host_device_basic_tests.c
409    ${SOURCE_DIR}/usbx_ux_host_device_basic_memory_tests.c
410    ${SOURCE_DIR}/usbx_ux_host_device_initialize_tests.c
411    ${SOURCE_DIR}/usbx_ux_host_stack_class_instance_verify_test.c
412    ${SOURCE_DIR}/usbx_ux_host_stack_interface_setting_select_test.c
413    ${SOURCE_DIR}/usbx_ux_host_stack_new_configuration_create_test.c
414    ${SOURCE_DIR}/usbx_ux_host_stack_new_device_create_test.c
415    ${SOURCE_DIR}/usbx_ux_host_stack_new_interface_create_test.c
416    ${SOURCE_DIR}/usbx_ux_host_stack_rh_change_process_test.c
417    ${SOURCE_DIR}/usbx_ux_host_stack_endpoint_reset_test.c
418    ${SOURCE_DIR}/usbx_ux_device_stack_standard_request_tests.c
419    ${SOURCE_DIR}/usbx_ux_device_stack_descriptor_send_test.c
420    ${SOURCE_DIR}/usbx_ux_device_stack_remote_wakeup_test.c
421    ${SOURCE_DIR}/usbx_ux_device_stack_vendor_request_test.c
422    ${SOURCE_DIR}/usbx_uxe_device_cdc_acm_test.c
423    ${SOURCE_DIR}/usbx_uxe_host_cdc_acm_test.c
424)
425set(ux_class_cdc_acm_device_standalone_test_cases
426    # ${SOURCE_DIR}/usbx_standalone_device_cdc_acm_basic_memory_test.c
427    ${SOURCE_DIR}/usbx_standalone_cdc_acm_basic_memory_test.c
428    # ${SOURCE_DIR}/usbx_standalone_device_cdc_acm_basic_test.c
429    ${SOURCE_DIR}/usbx_standalone_cdc_acm_basic_test.c
430    ${SOURCE_DIR}/usbx_standalone_device_cdc_acm_transmission_test.c
431    ${SOURCE_DIR}/usbx_uxe_device_cdc_acm_test.c
432)
433set(ux_class_cdc_acm_host_standalone_test_cases
434    ${SOURCE_DIR}/usbx_standalone_cdc_acm_basic_memory_test.c
435    ${SOURCE_DIR}/usbx_standalone_cdc_acm_basic_test.c
436)
437
438set(ux_stack_test_cases
439    ${SOURCE_DIR}/usbx_host_stack_class_unregister_coverage_test.c
440    ${SOURCE_DIR}/usbx_host_stack_new_endpoint_create_coverage_test.c
441    ${SOURCE_DIR}/usbx_ux_host_stack_uninitialize_test.c
442    ${SOURCE_DIR}/usbx_ux_host_stack_hcd_unregister_test.c
443    ${SOURCE_DIR}/usbx_ux_host_stack_bandwidth_test.c
444    ${SOURCE_DIR}/usbx_ux_host_stack_device_address_set_test.c
445    ${SOURCE_DIR}/usbx_ux_host_stack_device_configuration_activate_test.c
446    ${SOURCE_DIR}/usbx_ux_host_stack_device_configuration_reset_coverage_test.c
447    ${SOURCE_DIR}/usbx_ux_host_stack_device_get_test.c
448    ${SOURCE_DIR}/usbx_ux_host_stack_device_remove_test.c
449    ${SOURCE_DIR}/usbx_ux_host_stack_new_device_get_test.c
450    ${SOURCE_DIR}/usbx_ux_host_stack_class_device_scan_test.c
451    ${SOURCE_DIR}/usbx_ux_host_stack_class_get_test.c
452    ${SOURCE_DIR}/usbx_ux_host_stack_class_instance_destroy_test.c
453    ${SOURCE_DIR}/usbx_ux_host_stack_class_instance_get_test.c
454    ${SOURCE_DIR}/usbx_ux_host_stack_class_interface_scan_test.c
455    ${SOURCE_DIR}/usbx_ux_host_stack_class_register_test.c
456    ${SOURCE_DIR}/usbx_ux_host_stack_configuration_descriptor_parse_test.c
457    ${SOURCE_DIR}/usbx_ux_host_stack_configuration_enumerate_test.c
458    ${SOURCE_DIR}/usbx_ux_host_stack_configuration_instance_delete_test.c
459    ${SOURCE_DIR}/usbx_ux_host_stack_configuration_interface_get_test.c
460    ${SOURCE_DIR}/usbx_ux_host_stack_configuration_set_test.c
461    ${SOURCE_DIR}/usbx_ux_host_stack_device_descriptor_read_test.c
462    ${SOURCE_DIR}/usbx_ux_host_stack_endpoint_instance_create_test.c
463    ${SOURCE_DIR}/usbx_ux_host_stack_endpoint_instance_test.c
464    ${SOURCE_DIR}/usbx_ux_host_stack_hcd_register_test.c
465    ${SOURCE_DIR}/usbx_ux_host_stack_hcd_transfer_request_test.c
466    ${SOURCE_DIR}/usbx_ux_host_stack_interfaces_scan_test.c
467    ${SOURCE_DIR}/usbx_ux_host_stack_interface_endpoint_get_test.c
468    ${SOURCE_DIR}/usbx_ux_host_stack_rh_device_insertion_test.c
469    ${SOURCE_DIR}/usbx_ux_host_stack_device_configuration_get_test.c
470    ${SOURCE_DIR}/usbx_ux_host_stack_device_configuration_reset_select_test.c
471    ${SOURCE_DIR}/usbx_ux_host_stack_hcd_thread_entry_test.c
472    ${SOURCE_DIR}/usbx_ux_host_stack_transfer_request_test.c
473    ${SOURCE_DIR}/usbx_ux_host_stack_enum_bMaxPacketSize0_test.c
474    ${SOURCE_DIR}/usbx_ux_host_stack_enum_wMaxPacketSize_test.c
475    ${SOURCE_DIR}/usbx_ux_host_stack_transfer_request_abort_test.c
476    ${SOURCE_DIR}/usbx_ux_device_stack_class_register_test.c
477    ${SOURCE_DIR}/usbx_ux_device_stack_class_unregister_test.c
478    ${SOURCE_DIR}/usbx_ux_device_stack_set_feature_test.c
479    ${SOURCE_DIR}/usbx_ux_device_stack_alternate_setting_get_test.c
480    ${SOURCE_DIR}/usbx_ux_device_stack_alternate_setting_set_test.c
481    ${SOURCE_DIR}/usbx_ux_device_stack_configuration_set_test.c
482    ${SOURCE_DIR}/usbx_ux_device_stack_control_request_process_coverage_test.c
483    ${SOURCE_DIR}/usbx_ux_device_stack_control_request_process_test.c
484    ${SOURCE_DIR}/usbx_ux_device_stack_class_control_request_test.c
485    ${SOURCE_DIR}/usbx_ux_device_stack_interface_delete_test.c
486    ${SOURCE_DIR}/usbx_ux_device_stack_interface_set_test.c
487    ${SOURCE_DIR}/usbx_ux_device_stack_interface_start_test.c
488    ${SOURCE_DIR}/usbx_ux_device_stack_transfer_request_test.c
489    ${SOURCE_DIR}/usbx_ux_device_stack_endpoint_stall_test.c
490    ${SOURCE_DIR}/usbx_ux_device_stack_bos_test.c
491    ${SOURCE_DIR}/usbx_ux_device_stack_initialize_test.c
492    ${SOURCE_DIR}/usbx_ux_device_stack_clear_feature_coverage_test.c
493    ${SOURCE_DIR}/usbx_uxe_system_test.c
494    ${SOURCE_DIR}/usbx_uxe_device_stack_test.c
495    ${SOURCE_DIR}/usbx_uxe_host_stack_test.c
496)
497set(ux_stack_test_cases_hid
498    ${SOURCE_DIR}/usbx_ux_device_stack_get_status_test.c
499    ${SOURCE_DIR}/usbx_ux_host_stack_class_unregister_test.c
500)
501set(ux_stack_test_cases_cdc
502)
503set(ux_utility_test_cases
504    ${SOURCE_DIR}/usbx_ux_api_tracex_id_test.c
505    ${SOURCE_DIR}/usbx_ux_utility_descriptor_pack_test.c
506    ${SOURCE_DIR}/usbx_ux_utility_descriptor_parse_test.c
507    ${SOURCE_DIR}/usbx_ux_utility_descriptor_struct_test.c
508    ${SOURCE_DIR}/usbx_ux_utility_memory_safe_test.c
509    ${SOURCE_DIR}/usbx_ux_utility_memory_test.c
510    ${SOURCE_DIR}/usbx_ux_utility_pci_write_test.c
511    ${SOURCE_DIR}/usbx_ux_utility_pci_read_test.c
512    ${SOURCE_DIR}/usbx_ux_utility_pci_class_scan_test.c
513    ${SOURCE_DIR}/usbx_ux_utility_physical_address_test.c
514    ${SOURCE_DIR}/usbx_ux_utility_string_length_check_test.c
515    ${SOURCE_DIR}/usbx_ux_utility_unicode_to_string_test.c
516)
517set(ux_utility_os_test_cases
518    ${SOURCE_DIR}/usbx_ux_utility_event_flags_test.c
519    ${SOURCE_DIR}/usbx_ux_utility_mutex_test.c
520    ${SOURCE_DIR}/usbx_ux_utility_semaphore_test.c
521    ${SOURCE_DIR}/usbx_ux_utility_thread_create_test.c
522    ${SOURCE_DIR}/usbx_ux_utility_thread_schedule_other_test.c
523    ${SOURCE_DIR}/usbx_ux_utility_thread_suspend_test.c
524    ${SOURCE_DIR}/usbx_ux_utility_thread_identify_test.c
525    ${SOURCE_DIR}/usbx_ux_utility_timer_test.c
526)
527
528set(ux_class_video_test_cases
529    ${SOURCE_DIR}/usbx_ux_device_class_video_basic_tests.c
530    ${SOURCE_DIR}/usbx_ux_host_class_video_basic_tests.c
531    ${SOURCE_DIR}/usbx_ux_host_class_video_dwMaxPayloadTransferSize_test.c
532    ${SOURCE_DIR}/usbx_ux_host_class_video_format_frame_based_test.c # device control buffer > 512
533    ${SOURCE_DIR}/usbx_ux_host_class_video_format_h264_test.c        # device control buffer > 512
534    ${SOURCE_DIR}/usbx_uxe_device_video_test.c
535    ${SOURCE_DIR}/usbx_uxe_host_video_test.c
536)
537
538set(ux_class_video_device_standalone_test_cases
539    ${SOURCE_DIR}/usbx_ux_device_class_video_basic_tests.c
540    ${SOURCE_DIR}/usbx_uxe_device_video_test.c
541)
542
543set(ux_class_print_test_cases
544    ${SOURCE_DIR}/usbx_class_printer_basic_tests.c
545    ${SOURCE_DIR}/usbx_uxe_device_printer_test.c
546    ${SOURCE_DIR}/usbx_uxe_host_printer_test.c
547)
548
549set(ux_class_printer_device_standalone_test_cases
550  ${SOURCE_DIR}/usbx_class_printer_device_standalone_basic_tests.c
551  ${SOURCE_DIR}/usbx_uxe_device_printer_test.c
552)
553
554set(ux_msrc_test_cases
555  ${SOURCE_DIR}/usbx_msrc_69702_dfu_dnload_test.c
556  ${SOURCE_DIR}/usbx_msrc_71934_dfu_upload_test.c
557)
558set(ux_msrc_test_cases_rtos
559  ${SOURCE_DIR}/usbx_msrc_66679_test.c
560  ${SOURCE_DIR}/usbx_msrc_72427_ecm_host_mac_test.c
561  ${SOURCE_DIR}/usbx_msrc_72525_host_pima_obj_handles_get_test.c
562  ${SOURCE_DIR}/usbx_msrc_72619_host_pima_stor_ids_get_test.c
563  ${SOURCE_DIR}/usbx_msrc_72526_pictbridge_dps_host_start_test.c
564  ${SOURCE_DIR}/usbx_msrc_72227_host_pima_read_test.c
565  ${SOURCE_DIR}/usbx_msrc_73386_host_storage_media_open_buffer_test.c
566  ${SOURCE_DIR}/usbx_msrc_73716_cdc_ecm_mac_get_desc_check.c
567  ${SOURCE_DIR}/usbx_msrc_73492_host_vc_header_parse.c
568  ${SOURCE_DIR}/usbx_msrc_80947_device_cdc_ecm_rx_length_less_than_14.c
569  ${SOURCE_DIR}/usbx_msrc_81024_host_cdc_ecm_rx_length_less_than_14.c
570  ${SOURCE_DIR}/usbx_msrc_80991_device_rndis_rx_length_less_than_14_test.c
571  ${SOURCE_DIR}/usbx_msrc_81251_host_hid_report_add_fail_mem_test.c
572  ${SOURCE_DIR}/usbx_msrc_81206_81225_ecm_multiple_data_reject_test.c
573  ${SOURCE_DIR}/usbx_msrc_81230_host_asix_inst_free_tests.c
574  ${SOURCE_DIR}/usbx_msrc_81231_host_prolific_inst_free_tests.c
575  ${SOURCE_DIR}/usbx_msrc_81232_host_gser_inst_free_tests.c
576  ${SOURCE_DIR}/usbx_msrc_81233_host_swar_inst_free_tests.c
577  ${SOURCE_DIR}/usbx_msrc_81112_host_cdc_ecm_endpoints_get_tests.c
578  ${SOURCE_DIR}/usbx_msrc_81142_host_storage_endpoints_get_tests.c
579  ${SOURCE_DIR}/usbx_msrc_81143_host_cdc_acm_endpoints_get_tests.c
580  ${SOURCE_DIR}/usbx_msrc_81108_pictbridge_object_parse_test.c
581  ${SOURCE_DIR}/usbx_msrc_81325_host_hid_remote_control_free_callback_test.c
582  ${SOURCE_DIR}/usbx_msrc_81326_host_hid_keyboard_free_callback_test.c
583  ${SOURCE_DIR}/usbx_msrc_81327_host_hid_mouse_free_callback_test.c
584  ${SOURCE_DIR}/usbx_msrc_81109_pictbridge_array_element_to_hexa_test.c
585  ${SOURCE_DIR}/usbx_msrc_81292_host_pima_deactivate_semaphore_test.c
586  ${SOURCE_DIR}/usbx_msrc_81323_host_pima_deactivate_no_int_ep_test.c
587  ${SOURCE_DIR}/usbx_msrc_81184_host_audio_desc_validate_test.c
588  ${SOURCE_DIR}/usbx_msrc_81426_host_audio_type_get_fail_ac_link_test.c
589  ${SOURCE_DIR}/usbx_msrc_81428_81429_host_audio_ac_search_test.c
590)
591set(ux_msrc_test_cases_standalone
592  ${SOURCE_DIR}/usbx_msrc_81489_81570_host_cdc_acm_standalone_ac_search_test.c
593  ${SOURCE_DIR}/usbx_msrc_81572_standalone_host_printer_allocated_enum_free_test.c
594  ${SOURCE_DIR}/usbx_msrc_81573_standalone_host_hub_allocated_enum_free_test.c
595  ${SOURCE_DIR}/usbx_msrc_81574_standalone_host_hid_allocated_enum_free_test.c
596  ${SOURCE_DIR}/usbx_msrc_81575_standalone_host_cdc_acm_allocated_enum_free_test.c
597  ${SOURCE_DIR}/usbx_msrc_81691_standalone_host_stack_enum_double_free_test.c
598)
599
600set(ux_class_ccid_test_cases
601    ${SOURCE_DIR}/usbx_device_class_ccid_basic_tests.c
602    ${SOURCE_DIR}/usbx_device_class_ccid_busy_abort_tests.c
603    ${SOURCE_DIR}/usbx_uxe_device_ccid_test.c
604)
605
606set(ux_basic_test_cases
607    ${SOURCE_DIR}/usbx_class_device_enumeration_test.c
608    ${SOURCE_DIR}/usbx_class_interface_enumeration_test.c
609    ${SOURCE_DIR}/usbx_class_multi_interface_enumeration_test.c
610    ${SOURCE_DIR}/usbx_ux_host_stack_device_string_get_test.c
611)
612
613set(ux_class_pima_test_cases
614  ${SOURCE_DIR}/usbx_pima_basic_test.c
615  ${SOURCE_DIR}/usbx_pictbridge_basic_test.c
616  ${SOURCE_DIR}/usbx_uxe_device_pima_test.c
617  ${SOURCE_DIR}/usbx_uxe_host_pima_test.c
618)
619
620
621if("-DNX_BSD_ENABLE" IN_LIST ${CMAKE_BUILD_TYPE})
622
623endif()
624
625set(test_utility_files
626    ${SOURCE_DIR}/usbxtestcontrol.c
627    ${SOURCE_DIR}/ux_test.c
628    ${SOURCE_DIR}/ux_host_class_dummy.c
629    ${SOURCE_DIR}/ux_host_class_dummy.h
630    ${SOURCE_DIR}/ux_device_class_dummy.c
631    ${SOURCE_DIR}/ux_device_class_dummy.h
632    ${SOURCE_DIR}/ux_device_class_dummy_hub.c
633    ${SOURCE_DIR}/ux_device_class_dummy_hub.h
634    # ${SOURCE_DIR}/ux_device_class_dummy_printer.c
635    # ${SOURCE_DIR}/ux_device_class_dummy_printer.h
636    ${SOURCE_DIR}/ux_test_utility_sim_no_overriding.c
637    ${SOURCE_DIR}/ux_test_race_condition_overrides.c
638    ${SOURCE_DIR}/ux_test_dcd_sim_slave.c
639    ${SOURCE_DIR}/ux_test_hcd_sim_host.c
640    ${SOURCE_DIR}/ux_test_utility_sim.c
641    ${SOURCE_DIR}/ux_test_standalone_references.c
642    ${SOURCE_DIR}/usbx_ux_host_class_storage_fx_driver.c)
643add_library(test_utility ${test_utility_files})
644target_link_libraries(test_utility PUBLIC azrtos::usbx azrtos::threadx azrtos::netxduo azrtos::filex)
645target_compile_definitions(test_utility PUBLIC CTEST)
646
647if (CMAKE_BUILD_TYPE MATCHES "msrc_rtos_build")
648  set(test_cases
649    ${ux_msrc_test_cases}
650    ${ux_msrc_test_cases_rtos}
651  )
652elseif (CMAKE_BUILD_TYPE MATCHES "msrc_standalone_build")
653  set(test_cases
654    ${ux_msrc_test_cases}
655    ${ux_msrc_test_cases_standalone}
656  )
657elseif(NOT (CMAKE_BUILD_TYPE MATCHES "standalone.*"))
658  if (CMAKE_BUILD_TYPE MATCHES "nofx_.*")
659    set(test_cases
660      ${ux_class_storage_test_cases}
661    )
662  elseif (CMAKE_BUILD_TYPE MATCHES "memory_management_.*")
663    set(test_cases
664      ${ux_class_memory_management_test_cases}
665    )
666  else()
667    set(test_cases
668      ${ux_basic_test_cases}
669      ${ux_utility_test_cases}
670      ${ux_utility_os_test_cases}
671      ${ux_stack_test_cases}
672      ${ux_dpump_test_cases}
673      ${ux_class_hub_test_cases}
674      ${ux_device_class_storage_tx_test_cases}
675      ${ux_class_dfu_test_cases}
676      ${ux_class_print_test_cases}
677      ${ux_class_ccid_test_cases}
678      )
679    if(NOT (CMAKE_BUILD_TYPE MATCHES "optimized.*"))
680      list(APPEND test_cases
681        ${ux_stack_test_cases_hid}
682        ${ux_stack_test_cases_cdc}
683        ${ux_stack_cdc_acm_test_cases}
684        ${ux_class_cdc_acm_test_cases}
685        ${ux_class_audio_test_cases}
686        ${ux_class_rndis_test_cases}
687        ${ux_class_cdc_ecm_test_cases}
688        ${ux_class_hid_test_cases}
689        ${ux_class_video_test_cases}
690        ${ux_class_storage_test_cases}
691        ${ux_class_pima_test_cases}
692        ${ux_class_gser_test_cases}
693        ${ux_class_prolific_test_cases}
694        ${ux_class_swar_test_cases}
695        ${ux_msrc_test_cases}
696        )
697    endif()
698  endif()
699else()
700  set(test_cases
701      ${ux_basic_test_cases}
702      ${ux_utility_test_cases}
703      ${ux_dpump_test_cases}
704    )
705  if (CMAKE_BUILD_TYPE MATCHES "standalone_device.*")
706    list(APPEND test_cases
707      ${ux_utility_os_test_cases}
708      ${ux_class_storage_device_standalone_test_cases}
709      ${ux_class_cdc_acm_device_standalone_test_cases}
710      ${ux_class_video_device_standalone_test_cases}
711      ${ux_class_hid_device_standalone_test_cases}
712      ${ux_class_dfu_test_cases}
713      ${ux_msrc_test_cases}
714      ${ux_class_printer_device_standalone_test_cases}
715      ${ux_class_audio_device_standalone_test_cases}
716      ${ux_class_ccid_test_cases}
717      )
718  elseif (CMAKE_BUILD_TYPE MATCHES "standalone_host.*")
719    list(APPEND test_cases
720      ${ux_utility_os_test_cases}
721      ${ux_class_storage_host_standalone_test_cases}
722      ${ux_class_cdc_acm_host_standalone_test_cases}
723      ${ux_class_hid_host_standalone_test_cases}
724      ${ux_class_print_test_cases}
725      ${ux_class_hub_standalone_test_cases}
726    )
727  else ()
728    list(APPEND test_cases
729      ${ux_class_dfu_test_cases}
730    )
731  endif()
732endif()
733
734foreach(test_case ${test_cases})
735  get_filename_component(test_name ${test_case} NAME_WE)
736  add_executable(${test_name} ${test_case})
737  target_link_libraries(${test_name} PRIVATE test_utility)
738  add_test(${CMAKE_BUILD_TYPE}::${test_name} ${test_name})
739endforeach()
740