extern void utc_nnstreamer_single_startup (void);
extern void utc_nnstreamer_single_cleanup (void);
+extern void utc_nnstreamer_pipeline_startup (void);
+extern void utc_nnstreamer_pipeline_cleanup (void);
extern void utc_nnstreamer_pipeline_sink_startup (void);
extern void utc_nnstreamer_pipeline_sink_cleanup (void);
extern void utc_nnstreamer_pipeline_src_startup (void);
extern int utc_ml_pipeline_stop_p (void);
extern int utc_ml_pipeline_stop_n (void);
+extern int utc_ml_check_nnfw_availability_p (void);
+extern int utc_ml_check_nnfw_availability_n (void);
extern int utc_ml_pipeline_sink_register_p (void);
extern int utc_ml_pipeline_sink_register_n (void);
extern int utc_ml_pipeline_sink_unregister_p (void);
+
extern int utc_ml_pipeline_sink_unregister_n (void);
extern int utc_ml_pipeline_src_get_handle_p (void);
-
extern int utc_ml_pipeline_src_get_handle_n (void);
extern int utc_ml_pipeline_src_release_handle_p (void);
extern int utc_ml_pipeline_src_release_handle_n (void);
+
extern int utc_ml_pipeline_src_input_data_p (void);
extern int utc_ml_pipeline_src_input_data_n (void);
-
extern int utc_ml_pipeline_src_get_tensors_info_p (void);
extern int utc_ml_pipeline_src_get_tensors_info_n (void);
extern int utc_ml_pipeline_switch_get_handle_p (void);
+
extern int utc_ml_pipeline_switch_get_handle_n (void);
extern int utc_ml_pipeline_switch_release_handle_p (void);
-
extern int utc_ml_pipeline_switch_release_handle_n (void);
extern int utc_ml_pipeline_switch_select_p (void);
extern int utc_ml_pipeline_switch_select_n (void);
+
extern int utc_ml_pipeline_switch_get_pad_list_p (void);
extern int utc_ml_pipeline_switch_get_pad_list_n (void);
-
extern int utc_ml_pipeline_valve_get_handle_p (void);
extern int utc_ml_pipeline_valve_get_handle_n (void);
extern int utc_ml_pipeline_valve_release_handle_p (void);
+
extern int utc_ml_pipeline_valve_release_handle_n (void);
extern int utc_ml_pipeline_valve_set_open_p (void);
-
extern int utc_ml_pipeline_valve_set_open_n (void);
extern int utc_ml_tensors_info_create_p (void);
extern int utc_ml_tensors_info_create_n (void);
+
extern int utc_ml_tensors_info_destroy_p (void);
extern int utc_ml_tensors_info_destroy_n (void);
-
extern int utc_ml_tensors_info_validate_p (void);
extern int utc_ml_tensors_info_validate_n (void);
extern int utc_ml_tensors_info_clone_p (void);
+
extern int utc_ml_tensors_info_clone_n (void);
extern int utc_ml_tensors_info_set_count_p (void);
-
extern int utc_ml_tensors_info_set_count_n (void);
extern int utc_ml_tensors_info_get_count_p (void);
extern int utc_ml_tensors_info_get_count_n (void);
+
extern int utc_ml_tensors_info_set_tensor_name_p (void);
extern int utc_ml_tensors_info_set_tensor_name_n (void);
-
extern int utc_ml_tensors_info_get_tensor_name_p (void);
extern int utc_ml_tensors_info_get_tensor_name_n (void);
extern int utc_ml_tensors_info_set_tensor_type_p (void);
+
extern int utc_ml_tensors_info_set_tensor_type_n (void);
extern int utc_ml_tensors_info_get_tensor_type_p (void);
-
extern int utc_ml_tensors_info_get_tensor_type_n (void);
extern int utc_ml_tensors_info_set_tensor_dimension_p (void);
extern int utc_ml_tensors_info_set_tensor_dimension_n (void);
+
extern int utc_ml_tensors_info_get_tensor_dimension_p (void);
extern int utc_ml_tensors_info_get_tensor_dimension_n (void);
-
extern int utc_ml_tensors_info_get_tensor_size_p (void);
extern int utc_ml_tensors_info_get_tensor_size_n (void);
extern int utc_ml_tensors_data_create_p (void);
+
extern int utc_ml_tensors_data_create_n (void);
extern int utc_ml_tensors_data_destroy_p (void);
-
extern int utc_ml_tensors_data_destroy_n (void);
extern int utc_ml_tensors_data_get_tensor_data_p (void);
extern int utc_ml_tensors_data_get_tensor_data_n (void);
+
extern int utc_ml_tensors_data_set_tensor_data_p (void);
extern int utc_ml_tensors_data_set_tensor_data_n (void);
-
-extern int utc_ml_check_nnfw_availability_p (void);
-extern int utc_ml_check_nnfw_availability_n (void);
extern int utc_ml_single_open_p (void);
extern int utc_ml_single_open_n (void);
extern int utc_ml_single_close_p (void);
extern int utc_nnstreamer_scenario_filter_tensorflow_lite_n (void);
testcase tc_array[] = {
- {"utc_ml_pipeline_construct_p", utc_ml_pipeline_construct_p, NULL, NULL},
- {"utc_ml_pipeline_construct_n", utc_ml_pipeline_construct_n, NULL, NULL},
- {"utc_ml_pipeline_destroy_p", utc_ml_pipeline_destroy_p, NULL, NULL},
- {"utc_ml_pipeline_destroy_n", utc_ml_pipeline_destroy_n, NULL, NULL},
- {"utc_ml_pipeline_get_state_p", utc_ml_pipeline_get_state_p, NULL, NULL},
-
- {"utc_ml_pipeline_get_state_n", utc_ml_pipeline_get_state_n, NULL, NULL},
- {"utc_ml_pipeline_start_p", utc_ml_pipeline_start_p, NULL, NULL},
- {"utc_ml_pipeline_start_n", utc_ml_pipeline_start_n, NULL, NULL},
- {"utc_ml_pipeline_stop_p", utc_ml_pipeline_stop_p, NULL, NULL},
- {"utc_ml_pipeline_stop_n", utc_ml_pipeline_stop_n, NULL, NULL},
-
+ {"utc_ml_pipeline_construct_p", utc_ml_pipeline_construct_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_construct_n", utc_ml_pipeline_construct_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_destroy_p", utc_ml_pipeline_destroy_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_destroy_n", utc_ml_pipeline_destroy_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_get_state_p", utc_ml_pipeline_get_state_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+
+ {"utc_ml_pipeline_get_state_n", utc_ml_pipeline_get_state_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_start_p", utc_ml_pipeline_start_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_start_n", utc_ml_pipeline_start_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_stop_p", utc_ml_pipeline_stop_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_stop_n", utc_ml_pipeline_stop_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+
+ {"utc_ml_check_nnfw_availability_p", utc_ml_check_nnfw_availability_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_check_nnfw_availability_n", utc_ml_check_nnfw_availability_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
{"utc_ml_pipeline_sink_register_p", utc_ml_pipeline_sink_register_p, utc_nnstreamer_pipeline_sink_startup, utc_nnstreamer_pipeline_sink_cleanup},
- {"utc_ml_pipeline_sink_register_n", utc_ml_pipeline_sink_register_n, NULL, NULL},
+ {"utc_ml_pipeline_sink_register_n", utc_ml_pipeline_sink_register_n, utc_nnstreamer_pipeline_sink_startup, utc_nnstreamer_pipeline_sink_cleanup},
{"utc_ml_pipeline_sink_unregister_p", utc_ml_pipeline_sink_unregister_p, utc_nnstreamer_pipeline_sink_startup, utc_nnstreamer_pipeline_sink_cleanup},
- {"utc_ml_pipeline_sink_unregister_n", utc_ml_pipeline_sink_unregister_n, NULL, NULL},
- {"utc_ml_pipeline_src_get_handle_p", utc_ml_pipeline_src_get_handle_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
- {"utc_ml_pipeline_src_get_handle_n", utc_ml_pipeline_src_get_handle_n, NULL, NULL},
+ {"utc_ml_pipeline_sink_unregister_n", utc_ml_pipeline_sink_unregister_n, utc_nnstreamer_pipeline_sink_startup, utc_nnstreamer_pipeline_sink_cleanup},
+ {"utc_ml_pipeline_src_get_handle_p", utc_ml_pipeline_src_get_handle_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
+ {"utc_ml_pipeline_src_get_handle_n", utc_ml_pipeline_src_get_handle_n, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
{"utc_ml_pipeline_src_release_handle_p", utc_ml_pipeline_src_release_handle_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
- {"utc_ml_pipeline_src_release_handle_n", utc_ml_pipeline_src_release_handle_n, NULL, NULL},
+ {"utc_ml_pipeline_src_release_handle_n", utc_ml_pipeline_src_release_handle_n, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
+
{"utc_ml_pipeline_src_input_data_p", utc_ml_pipeline_src_input_data_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
{"utc_ml_pipeline_src_input_data_n", utc_ml_pipeline_src_input_data_n, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
-
{"utc_ml_pipeline_src_get_tensors_info_p", utc_ml_pipeline_src_get_tensors_info_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
- {"utc_ml_pipeline_src_get_tensors_info_n", utc_ml_pipeline_src_get_tensors_info_n, NULL, NULL},
+ {"utc_ml_pipeline_src_get_tensors_info_n", utc_ml_pipeline_src_get_tensors_info_n, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
{"utc_ml_pipeline_switch_get_handle_p", utc_ml_pipeline_switch_get_handle_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
- {"utc_ml_pipeline_switch_get_handle_n", utc_ml_pipeline_switch_get_handle_n, NULL, NULL},
- {"utc_ml_pipeline_switch_release_handle_p", utc_ml_pipeline_switch_release_handle_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
- {"utc_ml_pipeline_switch_release_handle_n", utc_ml_pipeline_switch_release_handle_n, NULL, NULL},
+ {"utc_ml_pipeline_switch_get_handle_n", utc_ml_pipeline_switch_get_handle_n, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
+ {"utc_ml_pipeline_switch_release_handle_p", utc_ml_pipeline_switch_release_handle_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
+ {"utc_ml_pipeline_switch_release_handle_n", utc_ml_pipeline_switch_release_handle_n, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
{"utc_ml_pipeline_switch_select_p", utc_ml_pipeline_switch_select_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
- {"utc_ml_pipeline_switch_select_n", utc_ml_pipeline_switch_select_n, NULL, NULL},
- {"utc_ml_pipeline_switch_get_pad_list_p", utc_ml_pipeline_switch_get_pad_list_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
- {"utc_ml_pipeline_switch_get_pad_list_n", utc_ml_pipeline_switch_get_pad_list_n, NULL, NULL},
+ {"utc_ml_pipeline_switch_select_n", utc_ml_pipeline_switch_select_n, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
+ {"utc_ml_pipeline_switch_get_pad_list_p", utc_ml_pipeline_switch_get_pad_list_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
+ {"utc_ml_pipeline_switch_get_pad_list_n", utc_ml_pipeline_switch_get_pad_list_n, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
{"utc_ml_pipeline_valve_get_handle_p", utc_ml_pipeline_valve_get_handle_p, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
- {"utc_ml_pipeline_valve_get_handle_n", utc_ml_pipeline_valve_get_handle_n, NULL, NULL},
+ {"utc_ml_pipeline_valve_get_handle_n", utc_ml_pipeline_valve_get_handle_n, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
{"utc_ml_pipeline_valve_release_handle_p", utc_ml_pipeline_valve_release_handle_p, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
- {"utc_ml_pipeline_valve_release_handle_n", utc_ml_pipeline_valve_release_handle_n, NULL, NULL},
+
+ {"utc_ml_pipeline_valve_release_handle_n", utc_ml_pipeline_valve_release_handle_n, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
{"utc_ml_pipeline_valve_set_open_p", utc_ml_pipeline_valve_set_open_p, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
+ {"utc_ml_pipeline_valve_set_open_n", utc_ml_pipeline_valve_set_open_n, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
+ {"utc_ml_tensors_info_create_p", utc_ml_tensors_info_create_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_create_n", utc_ml_tensors_info_create_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_pipeline_valve_set_open_n", utc_ml_pipeline_valve_set_open_n, NULL, NULL},
- {"utc_ml_tensors_info_create_p", utc_ml_tensors_info_create_p, NULL, NULL},
- {"utc_ml_tensors_info_create_n", utc_ml_tensors_info_create_n, NULL, NULL},
- {"utc_ml_tensors_info_destroy_p", utc_ml_tensors_info_destroy_p, NULL, NULL},
- {"utc_ml_tensors_info_destroy_n", utc_ml_tensors_info_destroy_n, NULL, NULL},
+ {"utc_ml_tensors_info_destroy_p", utc_ml_tensors_info_destroy_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_destroy_n", utc_ml_tensors_info_destroy_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_validate_p", utc_ml_tensors_info_validate_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_validate_n", utc_ml_tensors_info_validate_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_clone_p", utc_ml_tensors_info_clone_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_validate_p", utc_ml_tensors_info_validate_p, NULL, NULL},
- {"utc_ml_tensors_info_validate_n", utc_ml_tensors_info_validate_n, NULL, NULL},
- {"utc_ml_tensors_info_clone_p", utc_ml_tensors_info_clone_p, NULL, NULL},
- {"utc_ml_tensors_info_clone_n", utc_ml_tensors_info_clone_n, NULL, NULL},
+ {"utc_ml_tensors_info_clone_n", utc_ml_tensors_info_clone_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_set_count_p", utc_ml_tensors_info_set_count_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
-
- {"utc_ml_tensors_info_set_count_n", utc_ml_tensors_info_set_count_n, NULL, NULL},
+ {"utc_ml_tensors_info_set_count_n", utc_ml_tensors_info_set_count_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_get_count_p", utc_ml_tensors_info_get_count_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_count_n", utc_ml_tensors_info_get_count_n, NULL, NULL},
- {"utc_ml_tensors_info_set_tensor_name_p", utc_ml_tensors_info_set_tensor_name_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_set_tensor_name_n", utc_ml_tensors_info_set_tensor_name_n, NULL, NULL},
+ {"utc_ml_tensors_info_get_count_n", utc_ml_tensors_info_get_count_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_set_tensor_name_p", utc_ml_tensors_info_set_tensor_name_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_set_tensor_name_n", utc_ml_tensors_info_set_tensor_name_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_get_tensor_name_p", utc_ml_tensors_info_get_tensor_name_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_tensor_name_n", utc_ml_tensors_info_get_tensor_name_n, NULL, NULL},
+ {"utc_ml_tensors_info_get_tensor_name_n", utc_ml_tensors_info_get_tensor_name_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_set_tensor_type_p", utc_ml_tensors_info_set_tensor_type_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_set_tensor_type_n", utc_ml_tensors_info_set_tensor_type_n, NULL, NULL},
- {"utc_ml_tensors_info_get_tensor_type_p", utc_ml_tensors_info_get_tensor_type_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_tensor_type_n", utc_ml_tensors_info_get_tensor_type_n, NULL, NULL},
+ {"utc_ml_tensors_info_set_tensor_type_n", utc_ml_tensors_info_set_tensor_type_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_get_tensor_type_p", utc_ml_tensors_info_get_tensor_type_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_get_tensor_type_n", utc_ml_tensors_info_get_tensor_type_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_set_tensor_dimension_p", utc_ml_tensors_info_set_tensor_dimension_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_set_tensor_dimension_n", utc_ml_tensors_info_set_tensor_dimension_n, NULL, NULL},
- {"utc_ml_tensors_info_get_tensor_dimension_p", utc_ml_tensors_info_get_tensor_dimension_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_tensor_dimension_n", utc_ml_tensors_info_get_tensor_dimension_n, NULL, NULL},
+ {"utc_ml_tensors_info_set_tensor_dimension_n", utc_ml_tensors_info_set_tensor_dimension_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_get_tensor_dimension_p", utc_ml_tensors_info_get_tensor_dimension_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_get_tensor_dimension_n", utc_ml_tensors_info_get_tensor_dimension_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_get_tensor_size_p", utc_ml_tensors_info_get_tensor_size_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_tensor_size_n", utc_ml_tensors_info_get_tensor_size_n, NULL, NULL},
+ {"utc_ml_tensors_info_get_tensor_size_n", utc_ml_tensors_info_get_tensor_size_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_data_create_p", utc_ml_tensors_data_create_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
- {"utc_ml_tensors_data_create_n", utc_ml_tensors_data_create_n, NULL, NULL},
- {"utc_ml_tensors_data_destroy_p", utc_ml_tensors_data_destroy_p, utc_nnstreamer_pipeline_tensor_data_startup, NULL},
- {"utc_ml_tensors_data_destroy_n", utc_ml_tensors_data_destroy_n, NULL, NULL},
+ {"utc_ml_tensors_data_create_n", utc_ml_tensors_data_create_n, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
+ {"utc_ml_tensors_data_destroy_p", utc_ml_tensors_data_destroy_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
+ {"utc_ml_tensors_data_destroy_n", utc_ml_tensors_data_destroy_n, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
{"utc_ml_tensors_data_get_tensor_data_p", utc_ml_tensors_data_get_tensor_data_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
- {"utc_ml_tensors_data_get_tensor_data_n", utc_ml_tensors_data_get_tensor_data_n, NULL, NULL},
- {"utc_ml_tensors_data_set_tensor_data_p", utc_ml_tensors_data_set_tensor_data_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
- {"utc_ml_tensors_data_set_tensor_data_n", utc_ml_tensors_data_set_tensor_data_n, NULL, NULL},
+ {"utc_ml_tensors_data_get_tensor_data_n", utc_ml_tensors_data_get_tensor_data_n, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
- {"utc_ml_check_nnfw_availability_p", utc_ml_check_nnfw_availability_p, NULL, NULL},
- {"utc_ml_check_nnfw_availability_n", utc_ml_check_nnfw_availability_n, NULL, NULL},
+ {"utc_ml_tensors_data_set_tensor_data_p", utc_ml_tensors_data_set_tensor_data_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
+ {"utc_ml_tensors_data_set_tensor_data_n", utc_ml_tensors_data_set_tensor_data_n, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
{"utc_ml_single_open_p", utc_ml_single_open_p, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_open_n", utc_ml_single_open_n, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_close_p", utc_ml_single_close_p, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_get_output_info_n", utc_ml_single_get_output_info_n, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_set_timeout_p", utc_ml_single_set_timeout_p, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_set_timeout_n", utc_ml_single_set_timeout_n, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
- {"utc_nnstreamer_scenario_construct_destruct_empty_pipeline_p", utc_nnstreamer_scenario_construct_destruct_empty_pipeline_p, NULL, NULL},
+ {"utc_nnstreamer_scenario_construct_destruct_empty_pipeline_p", utc_nnstreamer_scenario_construct_destruct_empty_pipeline_p, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
- {"utc_nnstreamer_scenario_construct_destruct_pipeline_p1", utc_nnstreamer_scenario_construct_destruct_pipeline_p1, NULL, NULL},
- {"utc_nnstreamer_scenario_construct_destruct_pipeline_p2", utc_nnstreamer_scenario_construct_destruct_pipeline_p2, NULL, NULL},
- {"utc_nnstreamer_scenario_construct_pipeline_error_case_n1", utc_nnstreamer_scenario_construct_pipeline_error_case_n1, NULL, NULL},
- {"utc_nnstreamer_scenario_construct_pipeline_error_case_n2", utc_nnstreamer_scenario_construct_pipeline_error_case_n2, NULL, NULL},
- {"utc_nnstreamer_scenario_pipeline_state_test_p1", utc_nnstreamer_scenario_pipeline_state_test_p1, NULL, NULL},
+ {"utc_nnstreamer_scenario_construct_destruct_pipeline_p1", utc_nnstreamer_scenario_construct_destruct_pipeline_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_construct_destruct_pipeline_p2", utc_nnstreamer_scenario_construct_destruct_pipeline_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_construct_pipeline_error_case_n1", utc_nnstreamer_scenario_construct_pipeline_error_case_n1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_construct_pipeline_error_case_n2", utc_nnstreamer_scenario_construct_pipeline_error_case_n2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_pipeline_state_test_p1", utc_nnstreamer_scenario_pipeline_state_test_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
- {"utc_nnstreamer_scenario_pipeline_state_test_p2", utc_nnstreamer_scenario_pipeline_state_test_p2, NULL, NULL},
- {"utc_nnstreamer_scenario_pipeline_state_test_p3", utc_nnstreamer_scenario_pipeline_state_test_p3, NULL, NULL},
- {"utc_nnstreamer_scenario_valve_error_cases_n", utc_nnstreamer_scenario_valve_error_cases_n, NULL, NULL},
- {"utc_nnstreamer_scenario_sink_p1", utc_nnstreamer_scenario_sink_p1, NULL, NULL},
- {"utc_nnstreamer_scenario_sink_p2", utc_nnstreamer_scenario_sink_p2, NULL, NULL},
+ {"utc_nnstreamer_scenario_pipeline_state_test_p2", utc_nnstreamer_scenario_pipeline_state_test_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_pipeline_state_test_p3", utc_nnstreamer_scenario_pipeline_state_test_p3, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_valve_error_cases_n", utc_nnstreamer_scenario_valve_error_cases_n, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_sink_p1", utc_nnstreamer_scenario_sink_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_sink_p2", utc_nnstreamer_scenario_sink_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
- {"utc_nnstreamer_scenario_sink_error_cases_n", utc_nnstreamer_scenario_sink_error_cases_n, NULL, NULL},
+ {"utc_nnstreamer_scenario_sink_error_cases_n", utc_nnstreamer_scenario_sink_error_cases_n, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
{"utc_nnstreamer_scenario_src_p", utc_nnstreamer_scenario_src_p, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
- {"utc_nnstreamer_scenario_src_error_case_n1", utc_nnstreamer_scenario_src_error_case_n1, NULL, NULL},
- {"utc_nnstreamer_scenario_src_error_case_n2", utc_nnstreamer_scenario_src_error_case_n2, NULL, NULL},
- {"utc_nnstreamer_scenario_src_error_case_n3", utc_nnstreamer_scenario_src_error_case_n3, NULL, NULL},
-
- {"utc_nnstreamer_scenario_switch_pipeline_p1", utc_nnstreamer_scenario_switch_pipeline_p1, NULL, NULL},
- {"utc_nnstreamer_scenario_switch_pipeline_p2", utc_nnstreamer_scenario_switch_pipeline_p2, NULL, NULL},
- {"utc_nnstreamer_scenario_switch_pipeline_error_cases_n", utc_nnstreamer_scenario_switch_pipeline_error_cases_n, NULL, NULL},
- {"utc_nnstreamer_scenario_check_nnfw_availability_p", utc_nnstreamer_scenario_check_nnfw_availability_p, NULL, NULL},
- {"utc_nnstreamer_scenario_check_tensor_info_utilities_p", utc_nnstreamer_scenario_check_tensor_info_utilities_p, NULL, NULL},
-
- {"utc_nnstreamer_scenario_filter_tensorflow_lite_p1", utc_nnstreamer_scenario_filter_tensorflow_lite_p1, NULL, NULL},
- {"utc_nnstreamer_scenario_filter_tensorflow_lite_p2", utc_nnstreamer_scenario_filter_tensorflow_lite_p2, NULL, NULL},
- {"utc_nnstreamer_scenario_filter_tensorflow_lite_n", utc_nnstreamer_scenario_filter_tensorflow_lite_n, NULL, NULL},
+ {"utc_nnstreamer_scenario_src_error_case_n1", utc_nnstreamer_scenario_src_error_case_n1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_src_error_case_n2", utc_nnstreamer_scenario_src_error_case_n2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_src_error_case_n3", utc_nnstreamer_scenario_src_error_case_n3, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+
+ {"utc_nnstreamer_scenario_switch_pipeline_p1", utc_nnstreamer_scenario_switch_pipeline_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_switch_pipeline_p2", utc_nnstreamer_scenario_switch_pipeline_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_switch_pipeline_error_cases_n", utc_nnstreamer_scenario_switch_pipeline_error_cases_n, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_check_nnfw_availability_p", utc_nnstreamer_scenario_check_nnfw_availability_p, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_check_tensor_info_utilities_p", utc_nnstreamer_scenario_check_tensor_info_utilities_p, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+
+ {"utc_nnstreamer_scenario_filter_tensorflow_lite_p1", utc_nnstreamer_scenario_filter_tensorflow_lite_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_filter_tensorflow_lite_p2", utc_nnstreamer_scenario_filter_tensorflow_lite_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_filter_tensorflow_lite_n", utc_nnstreamer_scenario_filter_tensorflow_lite_n, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
{NULL, NULL}
};
extern void utc_nnstreamer_single_startup (void);
extern void utc_nnstreamer_single_cleanup (void);
+extern void utc_nnstreamer_pipeline_startup (void);
+extern void utc_nnstreamer_pipeline_cleanup (void);
extern void utc_nnstreamer_pipeline_sink_startup (void);
extern void utc_nnstreamer_pipeline_sink_cleanup (void);
extern void utc_nnstreamer_pipeline_src_startup (void);
extern int utc_ml_pipeline_stop_p (void);
extern int utc_ml_pipeline_stop_n (void);
+extern int utc_ml_check_nnfw_availability_p (void);
+extern int utc_ml_check_nnfw_availability_n (void);
extern int utc_ml_pipeline_sink_register_p (void);
extern int utc_ml_pipeline_sink_register_n (void);
extern int utc_ml_pipeline_sink_unregister_p (void);
+
extern int utc_ml_pipeline_sink_unregister_n (void);
extern int utc_ml_pipeline_src_get_handle_p (void);
-
extern int utc_ml_pipeline_src_get_handle_n (void);
extern int utc_ml_pipeline_src_release_handle_p (void);
extern int utc_ml_pipeline_src_release_handle_n (void);
+
extern int utc_ml_pipeline_src_input_data_p (void);
extern int utc_ml_pipeline_src_input_data_n (void);
-
extern int utc_ml_pipeline_src_get_tensors_info_p (void);
extern int utc_ml_pipeline_src_get_tensors_info_n (void);
extern int utc_ml_pipeline_switch_get_handle_p (void);
+
extern int utc_ml_pipeline_switch_get_handle_n (void);
extern int utc_ml_pipeline_switch_release_handle_p (void);
-
extern int utc_ml_pipeline_switch_release_handle_n (void);
extern int utc_ml_pipeline_switch_select_p (void);
extern int utc_ml_pipeline_switch_select_n (void);
+
extern int utc_ml_pipeline_switch_get_pad_list_p (void);
extern int utc_ml_pipeline_switch_get_pad_list_n (void);
-
extern int utc_ml_pipeline_valve_get_handle_p (void);
extern int utc_ml_pipeline_valve_get_handle_n (void);
extern int utc_ml_pipeline_valve_release_handle_p (void);
+
extern int utc_ml_pipeline_valve_release_handle_n (void);
extern int utc_ml_pipeline_valve_set_open_p (void);
-
extern int utc_ml_pipeline_valve_set_open_n (void);
extern int utc_ml_tensors_info_create_p (void);
extern int utc_ml_tensors_info_create_n (void);
+
extern int utc_ml_tensors_info_destroy_p (void);
extern int utc_ml_tensors_info_destroy_n (void);
-
extern int utc_ml_tensors_info_validate_p (void);
extern int utc_ml_tensors_info_validate_n (void);
extern int utc_ml_tensors_info_clone_p (void);
+
extern int utc_ml_tensors_info_clone_n (void);
extern int utc_ml_tensors_info_set_count_p (void);
-
extern int utc_ml_tensors_info_set_count_n (void);
extern int utc_ml_tensors_info_get_count_p (void);
extern int utc_ml_tensors_info_get_count_n (void);
+
extern int utc_ml_tensors_info_set_tensor_name_p (void);
extern int utc_ml_tensors_info_set_tensor_name_n (void);
-
extern int utc_ml_tensors_info_get_tensor_name_p (void);
extern int utc_ml_tensors_info_get_tensor_name_n (void);
extern int utc_ml_tensors_info_set_tensor_type_p (void);
+
extern int utc_ml_tensors_info_set_tensor_type_n (void);
extern int utc_ml_tensors_info_get_tensor_type_p (void);
-
extern int utc_ml_tensors_info_get_tensor_type_n (void);
extern int utc_ml_tensors_info_set_tensor_dimension_p (void);
extern int utc_ml_tensors_info_set_tensor_dimension_n (void);
+
extern int utc_ml_tensors_info_get_tensor_dimension_p (void);
extern int utc_ml_tensors_info_get_tensor_dimension_n (void);
-
extern int utc_ml_tensors_info_get_tensor_size_p (void);
extern int utc_ml_tensors_info_get_tensor_size_n (void);
extern int utc_ml_tensors_data_create_p (void);
+
extern int utc_ml_tensors_data_create_n (void);
extern int utc_ml_tensors_data_destroy_p (void);
-
extern int utc_ml_tensors_data_destroy_n (void);
extern int utc_ml_tensors_data_get_tensor_data_p (void);
extern int utc_ml_tensors_data_get_tensor_data_n (void);
+
extern int utc_ml_tensors_data_set_tensor_data_p (void);
extern int utc_ml_tensors_data_set_tensor_data_n (void);
-
-extern int utc_ml_check_nnfw_availability_p (void);
-extern int utc_ml_check_nnfw_availability_n (void);
extern int utc_ml_single_open_p (void);
extern int utc_ml_single_open_n (void);
extern int utc_ml_single_close_p (void);
extern int utc_nnstreamer_scenario_filter_tensorflow_lite_n (void);
testcase tc_array[] = {
- {"utc_ml_pipeline_construct_p", utc_ml_pipeline_construct_p, NULL, NULL},
- {"utc_ml_pipeline_construct_n", utc_ml_pipeline_construct_n, NULL, NULL},
- {"utc_ml_pipeline_destroy_p", utc_ml_pipeline_destroy_p, NULL, NULL},
- {"utc_ml_pipeline_destroy_n", utc_ml_pipeline_destroy_n, NULL, NULL},
- {"utc_ml_pipeline_get_state_p", utc_ml_pipeline_get_state_p, NULL, NULL},
-
- {"utc_ml_pipeline_get_state_n", utc_ml_pipeline_get_state_n, NULL, NULL},
- {"utc_ml_pipeline_start_p", utc_ml_pipeline_start_p, NULL, NULL},
- {"utc_ml_pipeline_start_n", utc_ml_pipeline_start_n, NULL, NULL},
- {"utc_ml_pipeline_stop_p", utc_ml_pipeline_stop_p, NULL, NULL},
- {"utc_ml_pipeline_stop_n", utc_ml_pipeline_stop_n, NULL, NULL},
-
+ {"utc_ml_pipeline_construct_p", utc_ml_pipeline_construct_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_construct_n", utc_ml_pipeline_construct_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_destroy_p", utc_ml_pipeline_destroy_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_destroy_n", utc_ml_pipeline_destroy_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_get_state_p", utc_ml_pipeline_get_state_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+
+ {"utc_ml_pipeline_get_state_n", utc_ml_pipeline_get_state_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_start_p", utc_ml_pipeline_start_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_start_n", utc_ml_pipeline_start_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_stop_p", utc_ml_pipeline_stop_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_stop_n", utc_ml_pipeline_stop_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+
+ {"utc_ml_check_nnfw_availability_p", utc_ml_check_nnfw_availability_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_check_nnfw_availability_n", utc_ml_check_nnfw_availability_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
{"utc_ml_pipeline_sink_register_p", utc_ml_pipeline_sink_register_p, utc_nnstreamer_pipeline_sink_startup, utc_nnstreamer_pipeline_sink_cleanup},
- {"utc_ml_pipeline_sink_register_n", utc_ml_pipeline_sink_register_n, NULL, NULL},
+ {"utc_ml_pipeline_sink_register_n", utc_ml_pipeline_sink_register_n, utc_nnstreamer_pipeline_sink_startup, utc_nnstreamer_pipeline_sink_cleanup},
{"utc_ml_pipeline_sink_unregister_p", utc_ml_pipeline_sink_unregister_p, utc_nnstreamer_pipeline_sink_startup, utc_nnstreamer_pipeline_sink_cleanup},
- {"utc_ml_pipeline_sink_unregister_n", utc_ml_pipeline_sink_unregister_n, NULL, NULL},
- {"utc_ml_pipeline_src_get_handle_p", utc_ml_pipeline_src_get_handle_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
- {"utc_ml_pipeline_src_get_handle_n", utc_ml_pipeline_src_get_handle_n, NULL, NULL},
+ {"utc_ml_pipeline_sink_unregister_n", utc_ml_pipeline_sink_unregister_n, utc_nnstreamer_pipeline_sink_startup, utc_nnstreamer_pipeline_sink_cleanup},
+ {"utc_ml_pipeline_src_get_handle_p", utc_ml_pipeline_src_get_handle_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
+ {"utc_ml_pipeline_src_get_handle_n", utc_ml_pipeline_src_get_handle_n, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
{"utc_ml_pipeline_src_release_handle_p", utc_ml_pipeline_src_release_handle_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
- {"utc_ml_pipeline_src_release_handle_n", utc_ml_pipeline_src_release_handle_n, NULL, NULL},
+ {"utc_ml_pipeline_src_release_handle_n", utc_ml_pipeline_src_release_handle_n, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
+
{"utc_ml_pipeline_src_input_data_p", utc_ml_pipeline_src_input_data_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
{"utc_ml_pipeline_src_input_data_n", utc_ml_pipeline_src_input_data_n, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
-
{"utc_ml_pipeline_src_get_tensors_info_p", utc_ml_pipeline_src_get_tensors_info_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
- {"utc_ml_pipeline_src_get_tensors_info_n", utc_ml_pipeline_src_get_tensors_info_n, NULL, NULL},
+ {"utc_ml_pipeline_src_get_tensors_info_n", utc_ml_pipeline_src_get_tensors_info_n, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
{"utc_ml_pipeline_switch_get_handle_p", utc_ml_pipeline_switch_get_handle_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
- {"utc_ml_pipeline_switch_get_handle_n", utc_ml_pipeline_switch_get_handle_n, NULL, NULL},
- {"utc_ml_pipeline_switch_release_handle_p", utc_ml_pipeline_switch_release_handle_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
- {"utc_ml_pipeline_switch_release_handle_n", utc_ml_pipeline_switch_release_handle_n, NULL, NULL},
+ {"utc_ml_pipeline_switch_get_handle_n", utc_ml_pipeline_switch_get_handle_n, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
+ {"utc_ml_pipeline_switch_release_handle_p", utc_ml_pipeline_switch_release_handle_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
+ {"utc_ml_pipeline_switch_release_handle_n", utc_ml_pipeline_switch_release_handle_n, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
{"utc_ml_pipeline_switch_select_p", utc_ml_pipeline_switch_select_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
- {"utc_ml_pipeline_switch_select_n", utc_ml_pipeline_switch_select_n, NULL, NULL},
- {"utc_ml_pipeline_switch_get_pad_list_p", utc_ml_pipeline_switch_get_pad_list_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
- {"utc_ml_pipeline_switch_get_pad_list_n", utc_ml_pipeline_switch_get_pad_list_n, NULL, NULL},
+ {"utc_ml_pipeline_switch_select_n", utc_ml_pipeline_switch_select_n, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
+ {"utc_ml_pipeline_switch_get_pad_list_p", utc_ml_pipeline_switch_get_pad_list_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
+ {"utc_ml_pipeline_switch_get_pad_list_n", utc_ml_pipeline_switch_get_pad_list_n, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
{"utc_ml_pipeline_valve_get_handle_p", utc_ml_pipeline_valve_get_handle_p, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
- {"utc_ml_pipeline_valve_get_handle_n", utc_ml_pipeline_valve_get_handle_n, NULL, NULL},
+ {"utc_ml_pipeline_valve_get_handle_n", utc_ml_pipeline_valve_get_handle_n, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
{"utc_ml_pipeline_valve_release_handle_p", utc_ml_pipeline_valve_release_handle_p, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
- {"utc_ml_pipeline_valve_release_handle_n", utc_ml_pipeline_valve_release_handle_n, NULL, NULL},
+
+ {"utc_ml_pipeline_valve_release_handle_n", utc_ml_pipeline_valve_release_handle_n, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
{"utc_ml_pipeline_valve_set_open_p", utc_ml_pipeline_valve_set_open_p, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
+ {"utc_ml_pipeline_valve_set_open_n", utc_ml_pipeline_valve_set_open_n, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
+ {"utc_ml_tensors_info_create_p", utc_ml_tensors_info_create_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_create_n", utc_ml_tensors_info_create_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_pipeline_valve_set_open_n", utc_ml_pipeline_valve_set_open_n, NULL, NULL},
- {"utc_ml_tensors_info_create_p", utc_ml_tensors_info_create_p, NULL, NULL},
- {"utc_ml_tensors_info_create_n", utc_ml_tensors_info_create_n, NULL, NULL},
- {"utc_ml_tensors_info_destroy_p", utc_ml_tensors_info_destroy_p, NULL, NULL},
- {"utc_ml_tensors_info_destroy_n", utc_ml_tensors_info_destroy_n, NULL, NULL},
+ {"utc_ml_tensors_info_destroy_p", utc_ml_tensors_info_destroy_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_destroy_n", utc_ml_tensors_info_destroy_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_validate_p", utc_ml_tensors_info_validate_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_validate_n", utc_ml_tensors_info_validate_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_clone_p", utc_ml_tensors_info_clone_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_validate_p", utc_ml_tensors_info_validate_p, NULL, NULL},
- {"utc_ml_tensors_info_validate_n", utc_ml_tensors_info_validate_n, NULL, NULL},
- {"utc_ml_tensors_info_clone_p", utc_ml_tensors_info_clone_p, NULL, NULL},
- {"utc_ml_tensors_info_clone_n", utc_ml_tensors_info_clone_n, NULL, NULL},
+ {"utc_ml_tensors_info_clone_n", utc_ml_tensors_info_clone_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_set_count_p", utc_ml_tensors_info_set_count_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
-
- {"utc_ml_tensors_info_set_count_n", utc_ml_tensors_info_set_count_n, NULL, NULL},
+ {"utc_ml_tensors_info_set_count_n", utc_ml_tensors_info_set_count_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_get_count_p", utc_ml_tensors_info_get_count_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_count_n", utc_ml_tensors_info_get_count_n, NULL, NULL},
- {"utc_ml_tensors_info_set_tensor_name_p", utc_ml_tensors_info_set_tensor_name_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_set_tensor_name_n", utc_ml_tensors_info_set_tensor_name_n, NULL, NULL},
+ {"utc_ml_tensors_info_get_count_n", utc_ml_tensors_info_get_count_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_set_tensor_name_p", utc_ml_tensors_info_set_tensor_name_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_set_tensor_name_n", utc_ml_tensors_info_set_tensor_name_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_get_tensor_name_p", utc_ml_tensors_info_get_tensor_name_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_tensor_name_n", utc_ml_tensors_info_get_tensor_name_n, NULL, NULL},
+ {"utc_ml_tensors_info_get_tensor_name_n", utc_ml_tensors_info_get_tensor_name_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_set_tensor_type_p", utc_ml_tensors_info_set_tensor_type_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_set_tensor_type_n", utc_ml_tensors_info_set_tensor_type_n, NULL, NULL},
- {"utc_ml_tensors_info_get_tensor_type_p", utc_ml_tensors_info_get_tensor_type_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_tensor_type_n", utc_ml_tensors_info_get_tensor_type_n, NULL, NULL},
+ {"utc_ml_tensors_info_set_tensor_type_n", utc_ml_tensors_info_set_tensor_type_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_get_tensor_type_p", utc_ml_tensors_info_get_tensor_type_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_get_tensor_type_n", utc_ml_tensors_info_get_tensor_type_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_set_tensor_dimension_p", utc_ml_tensors_info_set_tensor_dimension_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_set_tensor_dimension_n", utc_ml_tensors_info_set_tensor_dimension_n, NULL, NULL},
- {"utc_ml_tensors_info_get_tensor_dimension_p", utc_ml_tensors_info_get_tensor_dimension_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_tensor_dimension_n", utc_ml_tensors_info_get_tensor_dimension_n, NULL, NULL},
+ {"utc_ml_tensors_info_set_tensor_dimension_n", utc_ml_tensors_info_set_tensor_dimension_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_get_tensor_dimension_p", utc_ml_tensors_info_get_tensor_dimension_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_get_tensor_dimension_n", utc_ml_tensors_info_get_tensor_dimension_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_get_tensor_size_p", utc_ml_tensors_info_get_tensor_size_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_tensor_size_n", utc_ml_tensors_info_get_tensor_size_n, NULL, NULL},
+ {"utc_ml_tensors_info_get_tensor_size_n", utc_ml_tensors_info_get_tensor_size_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_data_create_p", utc_ml_tensors_data_create_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
- {"utc_ml_tensors_data_create_n", utc_ml_tensors_data_create_n, NULL, NULL},
- {"utc_ml_tensors_data_destroy_p", utc_ml_tensors_data_destroy_p, utc_nnstreamer_pipeline_tensor_data_startup, NULL},
- {"utc_ml_tensors_data_destroy_n", utc_ml_tensors_data_destroy_n, NULL, NULL},
+ {"utc_ml_tensors_data_create_n", utc_ml_tensors_data_create_n, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
+ {"utc_ml_tensors_data_destroy_p", utc_ml_tensors_data_destroy_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
+ {"utc_ml_tensors_data_destroy_n", utc_ml_tensors_data_destroy_n, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
{"utc_ml_tensors_data_get_tensor_data_p", utc_ml_tensors_data_get_tensor_data_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
- {"utc_ml_tensors_data_get_tensor_data_n", utc_ml_tensors_data_get_tensor_data_n, NULL, NULL},
- {"utc_ml_tensors_data_set_tensor_data_p", utc_ml_tensors_data_set_tensor_data_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
- {"utc_ml_tensors_data_set_tensor_data_n", utc_ml_tensors_data_set_tensor_data_n, NULL, NULL},
+ {"utc_ml_tensors_data_get_tensor_data_n", utc_ml_tensors_data_get_tensor_data_n, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
- {"utc_ml_check_nnfw_availability_p", utc_ml_check_nnfw_availability_p, NULL, NULL},
- {"utc_ml_check_nnfw_availability_n", utc_ml_check_nnfw_availability_n, NULL, NULL},
+ {"utc_ml_tensors_data_set_tensor_data_p", utc_ml_tensors_data_set_tensor_data_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
+ {"utc_ml_tensors_data_set_tensor_data_n", utc_ml_tensors_data_set_tensor_data_n, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
{"utc_ml_single_open_p", utc_ml_single_open_p, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_open_n", utc_ml_single_open_n, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_close_p", utc_ml_single_close_p, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_get_output_info_n", utc_ml_single_get_output_info_n, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_set_timeout_p", utc_ml_single_set_timeout_p, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_set_timeout_n", utc_ml_single_set_timeout_n, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
- {"utc_nnstreamer_scenario_construct_destruct_empty_pipeline_p", utc_nnstreamer_scenario_construct_destruct_empty_pipeline_p, NULL, NULL},
+ {"utc_nnstreamer_scenario_construct_destruct_empty_pipeline_p", utc_nnstreamer_scenario_construct_destruct_empty_pipeline_p, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
- {"utc_nnstreamer_scenario_construct_destruct_pipeline_p1", utc_nnstreamer_scenario_construct_destruct_pipeline_p1, NULL, NULL},
- {"utc_nnstreamer_scenario_construct_destruct_pipeline_p2", utc_nnstreamer_scenario_construct_destruct_pipeline_p2, NULL, NULL},
- {"utc_nnstreamer_scenario_construct_pipeline_error_case_n1", utc_nnstreamer_scenario_construct_pipeline_error_case_n1, NULL, NULL},
- {"utc_nnstreamer_scenario_construct_pipeline_error_case_n2", utc_nnstreamer_scenario_construct_pipeline_error_case_n2, NULL, NULL},
- {"utc_nnstreamer_scenario_pipeline_state_test_p1", utc_nnstreamer_scenario_pipeline_state_test_p1, NULL, NULL},
+ {"utc_nnstreamer_scenario_construct_destruct_pipeline_p1", utc_nnstreamer_scenario_construct_destruct_pipeline_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_construct_destruct_pipeline_p2", utc_nnstreamer_scenario_construct_destruct_pipeline_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_construct_pipeline_error_case_n1", utc_nnstreamer_scenario_construct_pipeline_error_case_n1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_construct_pipeline_error_case_n2", utc_nnstreamer_scenario_construct_pipeline_error_case_n2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_pipeline_state_test_p1", utc_nnstreamer_scenario_pipeline_state_test_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
- {"utc_nnstreamer_scenario_pipeline_state_test_p2", utc_nnstreamer_scenario_pipeline_state_test_p2, NULL, NULL},
- {"utc_nnstreamer_scenario_pipeline_state_test_p3", utc_nnstreamer_scenario_pipeline_state_test_p3, NULL, NULL},
- {"utc_nnstreamer_scenario_valve_error_cases_n", utc_nnstreamer_scenario_valve_error_cases_n, NULL, NULL},
- {"utc_nnstreamer_scenario_sink_p1", utc_nnstreamer_scenario_sink_p1, NULL, NULL},
- {"utc_nnstreamer_scenario_sink_p2", utc_nnstreamer_scenario_sink_p2, NULL, NULL},
+ {"utc_nnstreamer_scenario_pipeline_state_test_p2", utc_nnstreamer_scenario_pipeline_state_test_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_pipeline_state_test_p3", utc_nnstreamer_scenario_pipeline_state_test_p3, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_valve_error_cases_n", utc_nnstreamer_scenario_valve_error_cases_n, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_sink_p1", utc_nnstreamer_scenario_sink_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_sink_p2", utc_nnstreamer_scenario_sink_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
- {"utc_nnstreamer_scenario_sink_error_cases_n", utc_nnstreamer_scenario_sink_error_cases_n, NULL, NULL},
+ {"utc_nnstreamer_scenario_sink_error_cases_n", utc_nnstreamer_scenario_sink_error_cases_n, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
{"utc_nnstreamer_scenario_src_p", utc_nnstreamer_scenario_src_p, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
- {"utc_nnstreamer_scenario_src_error_case_n1", utc_nnstreamer_scenario_src_error_case_n1, NULL, NULL},
- {"utc_nnstreamer_scenario_src_error_case_n2", utc_nnstreamer_scenario_src_error_case_n2, NULL, NULL},
- {"utc_nnstreamer_scenario_src_error_case_n3", utc_nnstreamer_scenario_src_error_case_n3, NULL, NULL},
-
- {"utc_nnstreamer_scenario_switch_pipeline_p1", utc_nnstreamer_scenario_switch_pipeline_p1, NULL, NULL},
- {"utc_nnstreamer_scenario_switch_pipeline_p2", utc_nnstreamer_scenario_switch_pipeline_p2, NULL, NULL},
- {"utc_nnstreamer_scenario_switch_pipeline_error_cases_n", utc_nnstreamer_scenario_switch_pipeline_error_cases_n, NULL, NULL},
- {"utc_nnstreamer_scenario_check_nnfw_availability_p", utc_nnstreamer_scenario_check_nnfw_availability_p, NULL, NULL},
- {"utc_nnstreamer_scenario_check_tensor_info_utilities_p", utc_nnstreamer_scenario_check_tensor_info_utilities_p, NULL, NULL},
-
- {"utc_nnstreamer_scenario_filter_tensorflow_lite_p1", utc_nnstreamer_scenario_filter_tensorflow_lite_p1, NULL, NULL},
- {"utc_nnstreamer_scenario_filter_tensorflow_lite_p2", utc_nnstreamer_scenario_filter_tensorflow_lite_p2, NULL, NULL},
- {"utc_nnstreamer_scenario_filter_tensorflow_lite_n", utc_nnstreamer_scenario_filter_tensorflow_lite_n, NULL, NULL},
+ {"utc_nnstreamer_scenario_src_error_case_n1", utc_nnstreamer_scenario_src_error_case_n1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_src_error_case_n2", utc_nnstreamer_scenario_src_error_case_n2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_src_error_case_n3", utc_nnstreamer_scenario_src_error_case_n3, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+
+ {"utc_nnstreamer_scenario_switch_pipeline_p1", utc_nnstreamer_scenario_switch_pipeline_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_switch_pipeline_p2", utc_nnstreamer_scenario_switch_pipeline_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_switch_pipeline_error_cases_n", utc_nnstreamer_scenario_switch_pipeline_error_cases_n, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_check_nnfw_availability_p", utc_nnstreamer_scenario_check_nnfw_availability_p, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_check_tensor_info_utilities_p", utc_nnstreamer_scenario_check_tensor_info_utilities_p, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+
+ {"utc_nnstreamer_scenario_filter_tensorflow_lite_p1", utc_nnstreamer_scenario_filter_tensorflow_lite_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_filter_tensorflow_lite_p2", utc_nnstreamer_scenario_filter_tensorflow_lite_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_filter_tensorflow_lite_n", utc_nnstreamer_scenario_filter_tensorflow_lite_n, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
{NULL, NULL}
};
extern void utc_nnstreamer_single_startup (void);
extern void utc_nnstreamer_single_cleanup (void);
+extern void utc_nnstreamer_pipeline_startup (void);
+extern void utc_nnstreamer_pipeline_cleanup (void);
extern void utc_nnstreamer_pipeline_sink_startup (void);
extern void utc_nnstreamer_pipeline_sink_cleanup (void);
extern void utc_nnstreamer_pipeline_src_startup (void);
extern int utc_ml_pipeline_stop_p (void);
extern int utc_ml_pipeline_stop_n (void);
+extern int utc_ml_check_nnfw_availability_p (void);
+extern int utc_ml_check_nnfw_availability_n (void);
extern int utc_ml_pipeline_sink_register_p (void);
extern int utc_ml_pipeline_sink_register_n (void);
extern int utc_ml_pipeline_sink_unregister_p (void);
+
extern int utc_ml_pipeline_sink_unregister_n (void);
extern int utc_ml_pipeline_src_get_handle_p (void);
-
extern int utc_ml_pipeline_src_get_handle_n (void);
extern int utc_ml_pipeline_src_release_handle_p (void);
extern int utc_ml_pipeline_src_release_handle_n (void);
+
extern int utc_ml_pipeline_src_input_data_p (void);
extern int utc_ml_pipeline_src_input_data_n (void);
-
extern int utc_ml_pipeline_src_get_tensors_info_p (void);
extern int utc_ml_pipeline_src_get_tensors_info_n (void);
extern int utc_ml_pipeline_switch_get_handle_p (void);
+
extern int utc_ml_pipeline_switch_get_handle_n (void);
extern int utc_ml_pipeline_switch_release_handle_p (void);
-
extern int utc_ml_pipeline_switch_release_handle_n (void);
extern int utc_ml_pipeline_switch_select_p (void);
extern int utc_ml_pipeline_switch_select_n (void);
+
extern int utc_ml_pipeline_switch_get_pad_list_p (void);
extern int utc_ml_pipeline_switch_get_pad_list_n (void);
-
extern int utc_ml_pipeline_valve_get_handle_p (void);
extern int utc_ml_pipeline_valve_get_handle_n (void);
extern int utc_ml_pipeline_valve_release_handle_p (void);
+
extern int utc_ml_pipeline_valve_release_handle_n (void);
extern int utc_ml_pipeline_valve_set_open_p (void);
-
extern int utc_ml_pipeline_valve_set_open_n (void);
extern int utc_ml_tensors_info_create_p (void);
extern int utc_ml_tensors_info_create_n (void);
+
extern int utc_ml_tensors_info_destroy_p (void);
extern int utc_ml_tensors_info_destroy_n (void);
-
extern int utc_ml_tensors_info_validate_p (void);
extern int utc_ml_tensors_info_validate_n (void);
extern int utc_ml_tensors_info_clone_p (void);
+
extern int utc_ml_tensors_info_clone_n (void);
extern int utc_ml_tensors_info_set_count_p (void);
-
extern int utc_ml_tensors_info_set_count_n (void);
extern int utc_ml_tensors_info_get_count_p (void);
extern int utc_ml_tensors_info_get_count_n (void);
+
extern int utc_ml_tensors_info_set_tensor_name_p (void);
extern int utc_ml_tensors_info_set_tensor_name_n (void);
-
extern int utc_ml_tensors_info_get_tensor_name_p (void);
extern int utc_ml_tensors_info_get_tensor_name_n (void);
extern int utc_ml_tensors_info_set_tensor_type_p (void);
+
extern int utc_ml_tensors_info_set_tensor_type_n (void);
extern int utc_ml_tensors_info_get_tensor_type_p (void);
-
extern int utc_ml_tensors_info_get_tensor_type_n (void);
extern int utc_ml_tensors_info_set_tensor_dimension_p (void);
extern int utc_ml_tensors_info_set_tensor_dimension_n (void);
+
extern int utc_ml_tensors_info_get_tensor_dimension_p (void);
extern int utc_ml_tensors_info_get_tensor_dimension_n (void);
-
extern int utc_ml_tensors_info_get_tensor_size_p (void);
extern int utc_ml_tensors_info_get_tensor_size_n (void);
extern int utc_ml_tensors_data_create_p (void);
+
extern int utc_ml_tensors_data_create_n (void);
extern int utc_ml_tensors_data_destroy_p (void);
-
extern int utc_ml_tensors_data_destroy_n (void);
extern int utc_ml_tensors_data_get_tensor_data_p (void);
extern int utc_ml_tensors_data_get_tensor_data_n (void);
+
extern int utc_ml_tensors_data_set_tensor_data_p (void);
extern int utc_ml_tensors_data_set_tensor_data_n (void);
-
-extern int utc_ml_check_nnfw_availability_p (void);
-extern int utc_ml_check_nnfw_availability_n (void);
extern int utc_ml_single_open_p (void);
extern int utc_ml_single_open_n (void);
extern int utc_ml_single_close_p (void);
extern int utc_nnstreamer_scenario_filter_tensorflow_lite_n (void);
testcase tc_array[] = {
- {"utc_ml_pipeline_construct_p", utc_ml_pipeline_construct_p, NULL, NULL},
- {"utc_ml_pipeline_construct_n", utc_ml_pipeline_construct_n, NULL, NULL},
- {"utc_ml_pipeline_destroy_p", utc_ml_pipeline_destroy_p, NULL, NULL},
- {"utc_ml_pipeline_destroy_n", utc_ml_pipeline_destroy_n, NULL, NULL},
- {"utc_ml_pipeline_get_state_p", utc_ml_pipeline_get_state_p, NULL, NULL},
-
- {"utc_ml_pipeline_get_state_n", utc_ml_pipeline_get_state_n, NULL, NULL},
- {"utc_ml_pipeline_start_p", utc_ml_pipeline_start_p, NULL, NULL},
- {"utc_ml_pipeline_start_n", utc_ml_pipeline_start_n, NULL, NULL},
- {"utc_ml_pipeline_stop_p", utc_ml_pipeline_stop_p, NULL, NULL},
- {"utc_ml_pipeline_stop_n", utc_ml_pipeline_stop_n, NULL, NULL},
-
+ {"utc_ml_pipeline_construct_p", utc_ml_pipeline_construct_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_construct_n", utc_ml_pipeline_construct_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_destroy_p", utc_ml_pipeline_destroy_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_destroy_n", utc_ml_pipeline_destroy_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_get_state_p", utc_ml_pipeline_get_state_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+
+ {"utc_ml_pipeline_get_state_n", utc_ml_pipeline_get_state_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_start_p", utc_ml_pipeline_start_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_start_n", utc_ml_pipeline_start_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_stop_p", utc_ml_pipeline_stop_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_pipeline_stop_n", utc_ml_pipeline_stop_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+
+ {"utc_ml_check_nnfw_availability_p", utc_ml_check_nnfw_availability_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
+ {"utc_ml_check_nnfw_availability_n", utc_ml_check_nnfw_availability_n, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
{"utc_ml_pipeline_sink_register_p", utc_ml_pipeline_sink_register_p, utc_nnstreamer_pipeline_sink_startup, utc_nnstreamer_pipeline_sink_cleanup},
- {"utc_ml_pipeline_sink_register_n", utc_ml_pipeline_sink_register_n, NULL, NULL},
+ {"utc_ml_pipeline_sink_register_n", utc_ml_pipeline_sink_register_n, utc_nnstreamer_pipeline_sink_startup, utc_nnstreamer_pipeline_sink_cleanup},
{"utc_ml_pipeline_sink_unregister_p", utc_ml_pipeline_sink_unregister_p, utc_nnstreamer_pipeline_sink_startup, utc_nnstreamer_pipeline_sink_cleanup},
- {"utc_ml_pipeline_sink_unregister_n", utc_ml_pipeline_sink_unregister_n, NULL, NULL},
- {"utc_ml_pipeline_src_get_handle_p", utc_ml_pipeline_src_get_handle_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
- {"utc_ml_pipeline_src_get_handle_n", utc_ml_pipeline_src_get_handle_n, NULL, NULL},
+ {"utc_ml_pipeline_sink_unregister_n", utc_ml_pipeline_sink_unregister_n, utc_nnstreamer_pipeline_sink_startup, utc_nnstreamer_pipeline_sink_cleanup},
+ {"utc_ml_pipeline_src_get_handle_p", utc_ml_pipeline_src_get_handle_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
+ {"utc_ml_pipeline_src_get_handle_n", utc_ml_pipeline_src_get_handle_n, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
{"utc_ml_pipeline_src_release_handle_p", utc_ml_pipeline_src_release_handle_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
- {"utc_ml_pipeline_src_release_handle_n", utc_ml_pipeline_src_release_handle_n, NULL, NULL},
+ {"utc_ml_pipeline_src_release_handle_n", utc_ml_pipeline_src_release_handle_n, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
+
{"utc_ml_pipeline_src_input_data_p", utc_ml_pipeline_src_input_data_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
{"utc_ml_pipeline_src_input_data_n", utc_ml_pipeline_src_input_data_n, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
-
{"utc_ml_pipeline_src_get_tensors_info_p", utc_ml_pipeline_src_get_tensors_info_p, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
- {"utc_ml_pipeline_src_get_tensors_info_n", utc_ml_pipeline_src_get_tensors_info_n, NULL, NULL},
+ {"utc_ml_pipeline_src_get_tensors_info_n", utc_ml_pipeline_src_get_tensors_info_n, utc_nnstreamer_pipeline_src_startup, utc_nnstreamer_pipeline_src_cleanup},
{"utc_ml_pipeline_switch_get_handle_p", utc_ml_pipeline_switch_get_handle_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
- {"utc_ml_pipeline_switch_get_handle_n", utc_ml_pipeline_switch_get_handle_n, NULL, NULL},
- {"utc_ml_pipeline_switch_release_handle_p", utc_ml_pipeline_switch_release_handle_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
- {"utc_ml_pipeline_switch_release_handle_n", utc_ml_pipeline_switch_release_handle_n, NULL, NULL},
+ {"utc_ml_pipeline_switch_get_handle_n", utc_ml_pipeline_switch_get_handle_n, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
+ {"utc_ml_pipeline_switch_release_handle_p", utc_ml_pipeline_switch_release_handle_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
+ {"utc_ml_pipeline_switch_release_handle_n", utc_ml_pipeline_switch_release_handle_n, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
{"utc_ml_pipeline_switch_select_p", utc_ml_pipeline_switch_select_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
- {"utc_ml_pipeline_switch_select_n", utc_ml_pipeline_switch_select_n, NULL, NULL},
- {"utc_ml_pipeline_switch_get_pad_list_p", utc_ml_pipeline_switch_get_pad_list_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
- {"utc_ml_pipeline_switch_get_pad_list_n", utc_ml_pipeline_switch_get_pad_list_n, NULL, NULL},
+ {"utc_ml_pipeline_switch_select_n", utc_ml_pipeline_switch_select_n, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
+ {"utc_ml_pipeline_switch_get_pad_list_p", utc_ml_pipeline_switch_get_pad_list_p, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
+ {"utc_ml_pipeline_switch_get_pad_list_n", utc_ml_pipeline_switch_get_pad_list_n, utc_nnstreamer_pipeline_switch_startup, utc_nnstreamer_pipeline_switch_cleanup},
{"utc_ml_pipeline_valve_get_handle_p", utc_ml_pipeline_valve_get_handle_p, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
- {"utc_ml_pipeline_valve_get_handle_n", utc_ml_pipeline_valve_get_handle_n, NULL, NULL},
+ {"utc_ml_pipeline_valve_get_handle_n", utc_ml_pipeline_valve_get_handle_n, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
{"utc_ml_pipeline_valve_release_handle_p", utc_ml_pipeline_valve_release_handle_p, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
- {"utc_ml_pipeline_valve_release_handle_n", utc_ml_pipeline_valve_release_handle_n, NULL, NULL},
+
+ {"utc_ml_pipeline_valve_release_handle_n", utc_ml_pipeline_valve_release_handle_n, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
{"utc_ml_pipeline_valve_set_open_p", utc_ml_pipeline_valve_set_open_p, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
+ {"utc_ml_pipeline_valve_set_open_n", utc_ml_pipeline_valve_set_open_n, utc_nnstreamer_pipeline_valve_startup, utc_nnstreamer_pipeline_valve_cleanup},
+ {"utc_ml_tensors_info_create_p", utc_ml_tensors_info_create_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_create_n", utc_ml_tensors_info_create_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_pipeline_valve_set_open_n", utc_ml_pipeline_valve_set_open_n, NULL, NULL},
- {"utc_ml_tensors_info_create_p", utc_ml_tensors_info_create_p, NULL, NULL},
- {"utc_ml_tensors_info_create_n", utc_ml_tensors_info_create_n, NULL, NULL},
- {"utc_ml_tensors_info_destroy_p", utc_ml_tensors_info_destroy_p, NULL, NULL},
- {"utc_ml_tensors_info_destroy_n", utc_ml_tensors_info_destroy_n, NULL, NULL},
+ {"utc_ml_tensors_info_destroy_p", utc_ml_tensors_info_destroy_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_destroy_n", utc_ml_tensors_info_destroy_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_validate_p", utc_ml_tensors_info_validate_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_validate_n", utc_ml_tensors_info_validate_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_clone_p", utc_ml_tensors_info_clone_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_validate_p", utc_ml_tensors_info_validate_p, NULL, NULL},
- {"utc_ml_tensors_info_validate_n", utc_ml_tensors_info_validate_n, NULL, NULL},
- {"utc_ml_tensors_info_clone_p", utc_ml_tensors_info_clone_p, NULL, NULL},
- {"utc_ml_tensors_info_clone_n", utc_ml_tensors_info_clone_n, NULL, NULL},
+ {"utc_ml_tensors_info_clone_n", utc_ml_tensors_info_clone_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_set_count_p", utc_ml_tensors_info_set_count_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
-
- {"utc_ml_tensors_info_set_count_n", utc_ml_tensors_info_set_count_n, NULL, NULL},
+ {"utc_ml_tensors_info_set_count_n", utc_ml_tensors_info_set_count_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_get_count_p", utc_ml_tensors_info_get_count_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_count_n", utc_ml_tensors_info_get_count_n, NULL, NULL},
- {"utc_ml_tensors_info_set_tensor_name_p", utc_ml_tensors_info_set_tensor_name_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_set_tensor_name_n", utc_ml_tensors_info_set_tensor_name_n, NULL, NULL},
+ {"utc_ml_tensors_info_get_count_n", utc_ml_tensors_info_get_count_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_set_tensor_name_p", utc_ml_tensors_info_set_tensor_name_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_set_tensor_name_n", utc_ml_tensors_info_set_tensor_name_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_get_tensor_name_p", utc_ml_tensors_info_get_tensor_name_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_tensor_name_n", utc_ml_tensors_info_get_tensor_name_n, NULL, NULL},
+ {"utc_ml_tensors_info_get_tensor_name_n", utc_ml_tensors_info_get_tensor_name_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_set_tensor_type_p", utc_ml_tensors_info_set_tensor_type_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_set_tensor_type_n", utc_ml_tensors_info_set_tensor_type_n, NULL, NULL},
- {"utc_ml_tensors_info_get_tensor_type_p", utc_ml_tensors_info_get_tensor_type_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_tensor_type_n", utc_ml_tensors_info_get_tensor_type_n, NULL, NULL},
+ {"utc_ml_tensors_info_set_tensor_type_n", utc_ml_tensors_info_set_tensor_type_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_get_tensor_type_p", utc_ml_tensors_info_get_tensor_type_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_get_tensor_type_n", utc_ml_tensors_info_get_tensor_type_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_set_tensor_dimension_p", utc_ml_tensors_info_set_tensor_dimension_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_set_tensor_dimension_n", utc_ml_tensors_info_set_tensor_dimension_n, NULL, NULL},
- {"utc_ml_tensors_info_get_tensor_dimension_p", utc_ml_tensors_info_get_tensor_dimension_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_tensor_dimension_n", utc_ml_tensors_info_get_tensor_dimension_n, NULL, NULL},
+ {"utc_ml_tensors_info_set_tensor_dimension_n", utc_ml_tensors_info_set_tensor_dimension_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_get_tensor_dimension_p", utc_ml_tensors_info_get_tensor_dimension_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
+ {"utc_ml_tensors_info_get_tensor_dimension_n", utc_ml_tensors_info_get_tensor_dimension_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_info_get_tensor_size_p", utc_ml_tensors_info_get_tensor_size_p, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
- {"utc_ml_tensors_info_get_tensor_size_n", utc_ml_tensors_info_get_tensor_size_n, NULL, NULL},
+ {"utc_ml_tensors_info_get_tensor_size_n", utc_ml_tensors_info_get_tensor_size_n, utc_nnstreamer_pipeline_tensor_info_startup, utc_nnstreamer_pipeline_tensor_info_cleanup},
{"utc_ml_tensors_data_create_p", utc_ml_tensors_data_create_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
- {"utc_ml_tensors_data_create_n", utc_ml_tensors_data_create_n, NULL, NULL},
- {"utc_ml_tensors_data_destroy_p", utc_ml_tensors_data_destroy_p, utc_nnstreamer_pipeline_tensor_data_startup, NULL},
- {"utc_ml_tensors_data_destroy_n", utc_ml_tensors_data_destroy_n, NULL, NULL},
+ {"utc_ml_tensors_data_create_n", utc_ml_tensors_data_create_n, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
+ {"utc_ml_tensors_data_destroy_p", utc_ml_tensors_data_destroy_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
+ {"utc_ml_tensors_data_destroy_n", utc_ml_tensors_data_destroy_n, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
{"utc_ml_tensors_data_get_tensor_data_p", utc_ml_tensors_data_get_tensor_data_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
- {"utc_ml_tensors_data_get_tensor_data_n", utc_ml_tensors_data_get_tensor_data_n, NULL, NULL},
- {"utc_ml_tensors_data_set_tensor_data_p", utc_ml_tensors_data_set_tensor_data_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
- {"utc_ml_tensors_data_set_tensor_data_n", utc_ml_tensors_data_set_tensor_data_n, NULL, NULL},
+ {"utc_ml_tensors_data_get_tensor_data_n", utc_ml_tensors_data_get_tensor_data_n, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
- {"utc_ml_check_nnfw_availability_p", utc_ml_check_nnfw_availability_p, NULL, NULL},
- {"utc_ml_check_nnfw_availability_n", utc_ml_check_nnfw_availability_n, NULL, NULL},
+ {"utc_ml_tensors_data_set_tensor_data_p", utc_ml_tensors_data_set_tensor_data_p, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
+ {"utc_ml_tensors_data_set_tensor_data_n", utc_ml_tensors_data_set_tensor_data_n, utc_nnstreamer_pipeline_tensor_data_startup, utc_nnstreamer_pipeline_tensor_data_cleanup},
{"utc_ml_single_open_p", utc_ml_single_open_p, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_open_n", utc_ml_single_open_n, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_close_p", utc_ml_single_close_p, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_get_output_info_n", utc_ml_single_get_output_info_n, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_set_timeout_p", utc_ml_single_set_timeout_p, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
{"utc_ml_single_set_timeout_n", utc_ml_single_set_timeout_n, utc_nnstreamer_single_startup, utc_nnstreamer_single_cleanup},
- {"utc_nnstreamer_scenario_construct_destruct_empty_pipeline_p", utc_nnstreamer_scenario_construct_destruct_empty_pipeline_p, NULL, NULL},
+ {"utc_nnstreamer_scenario_construct_destruct_empty_pipeline_p", utc_nnstreamer_scenario_construct_destruct_empty_pipeline_p, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
- {"utc_nnstreamer_scenario_construct_destruct_pipeline_p1", utc_nnstreamer_scenario_construct_destruct_pipeline_p1, NULL, NULL},
- {"utc_nnstreamer_scenario_construct_destruct_pipeline_p2", utc_nnstreamer_scenario_construct_destruct_pipeline_p2, NULL, NULL},
- {"utc_nnstreamer_scenario_construct_pipeline_error_case_n1", utc_nnstreamer_scenario_construct_pipeline_error_case_n1, NULL, NULL},
- {"utc_nnstreamer_scenario_construct_pipeline_error_case_n2", utc_nnstreamer_scenario_construct_pipeline_error_case_n2, NULL, NULL},
- {"utc_nnstreamer_scenario_pipeline_state_test_p1", utc_nnstreamer_scenario_pipeline_state_test_p1, NULL, NULL},
+ {"utc_nnstreamer_scenario_construct_destruct_pipeline_p1", utc_nnstreamer_scenario_construct_destruct_pipeline_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_construct_destruct_pipeline_p2", utc_nnstreamer_scenario_construct_destruct_pipeline_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_construct_pipeline_error_case_n1", utc_nnstreamer_scenario_construct_pipeline_error_case_n1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_construct_pipeline_error_case_n2", utc_nnstreamer_scenario_construct_pipeline_error_case_n2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_pipeline_state_test_p1", utc_nnstreamer_scenario_pipeline_state_test_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
- {"utc_nnstreamer_scenario_pipeline_state_test_p2", utc_nnstreamer_scenario_pipeline_state_test_p2, NULL, NULL},
- {"utc_nnstreamer_scenario_pipeline_state_test_p3", utc_nnstreamer_scenario_pipeline_state_test_p3, NULL, NULL},
- {"utc_nnstreamer_scenario_valve_error_cases_n", utc_nnstreamer_scenario_valve_error_cases_n, NULL, NULL},
- {"utc_nnstreamer_scenario_sink_p1", utc_nnstreamer_scenario_sink_p1, NULL, NULL},
- {"utc_nnstreamer_scenario_sink_p2", utc_nnstreamer_scenario_sink_p2, NULL, NULL},
+ {"utc_nnstreamer_scenario_pipeline_state_test_p2", utc_nnstreamer_scenario_pipeline_state_test_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_pipeline_state_test_p3", utc_nnstreamer_scenario_pipeline_state_test_p3, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_valve_error_cases_n", utc_nnstreamer_scenario_valve_error_cases_n, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_sink_p1", utc_nnstreamer_scenario_sink_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_sink_p2", utc_nnstreamer_scenario_sink_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
- {"utc_nnstreamer_scenario_sink_error_cases_n", utc_nnstreamer_scenario_sink_error_cases_n, NULL, NULL},
+ {"utc_nnstreamer_scenario_sink_error_cases_n", utc_nnstreamer_scenario_sink_error_cases_n, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
{"utc_nnstreamer_scenario_src_p", utc_nnstreamer_scenario_src_p, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
- {"utc_nnstreamer_scenario_src_error_case_n1", utc_nnstreamer_scenario_src_error_case_n1, NULL, NULL},
- {"utc_nnstreamer_scenario_src_error_case_n2", utc_nnstreamer_scenario_src_error_case_n2, NULL, NULL},
- {"utc_nnstreamer_scenario_src_error_case_n3", utc_nnstreamer_scenario_src_error_case_n3, NULL, NULL},
-
- {"utc_nnstreamer_scenario_switch_pipeline_p1", utc_nnstreamer_scenario_switch_pipeline_p1, NULL, NULL},
- {"utc_nnstreamer_scenario_switch_pipeline_p2", utc_nnstreamer_scenario_switch_pipeline_p2, NULL, NULL},
- {"utc_nnstreamer_scenario_switch_pipeline_error_cases_n", utc_nnstreamer_scenario_switch_pipeline_error_cases_n, NULL, NULL},
- {"utc_nnstreamer_scenario_check_nnfw_availability_p", utc_nnstreamer_scenario_check_nnfw_availability_p, NULL, NULL},
- {"utc_nnstreamer_scenario_check_tensor_info_utilities_p", utc_nnstreamer_scenario_check_tensor_info_utilities_p, NULL, NULL},
-
- {"utc_nnstreamer_scenario_filter_tensorflow_lite_p1", utc_nnstreamer_scenario_filter_tensorflow_lite_p1, NULL, NULL},
- {"utc_nnstreamer_scenario_filter_tensorflow_lite_p2", utc_nnstreamer_scenario_filter_tensorflow_lite_p2, NULL, NULL},
- {"utc_nnstreamer_scenario_filter_tensorflow_lite_n", utc_nnstreamer_scenario_filter_tensorflow_lite_n, NULL, NULL},
+ {"utc_nnstreamer_scenario_src_error_case_n1", utc_nnstreamer_scenario_src_error_case_n1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_src_error_case_n2", utc_nnstreamer_scenario_src_error_case_n2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_src_error_case_n3", utc_nnstreamer_scenario_src_error_case_n3, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+
+ {"utc_nnstreamer_scenario_switch_pipeline_p1", utc_nnstreamer_scenario_switch_pipeline_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_switch_pipeline_p2", utc_nnstreamer_scenario_switch_pipeline_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_switch_pipeline_error_cases_n", utc_nnstreamer_scenario_switch_pipeline_error_cases_n, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_check_nnfw_availability_p", utc_nnstreamer_scenario_check_nnfw_availability_p, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_check_tensor_info_utilities_p", utc_nnstreamer_scenario_check_tensor_info_utilities_p, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+
+ {"utc_nnstreamer_scenario_filter_tensorflow_lite_p1", utc_nnstreamer_scenario_filter_tensorflow_lite_p1, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_filter_tensorflow_lite_p2", utc_nnstreamer_scenario_filter_tensorflow_lite_p2, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
+ {"utc_nnstreamer_scenario_filter_tensorflow_lite_n", utc_nnstreamer_scenario_filter_tensorflow_lite_n, utc_nnstreamer_scenario_startup, utc_nnstreamer_scenario_cleanup},
{NULL, NULL}
};
--- /dev/null
+#include <nnstreamer.h>
+#include <nnstreamer-single.h>
+#include <stdint.h>
+#include <glib.h>
+#include <glib/gstdio.h> /* GStatBuf */
+
+#include "tct_common.h"
+
+#define API_NAMESPACE "nnstreamer"
+#define FEATURE_ML "http://tizen.org/feature/machine_learning"
+#define FEATURE_ML_INFERENCE "http://tizen.org/feature/machine_learning.inference"
+
+#define IS_SUPPORT_FEATURE \
+do { \
+ if (!feature_ml || !feature_ml_inf) { \
+ FPRINTF("[%s][%d][%s] Machine Learning feature is not supported!\\n", __FILE__, __LINE__, __FUNCTION__); \
+ return 0; \
+ } \
+} while (0)
+
+static bool feature_ml;
+static bool feature_ml_inf;
+
+#define wait_for_start(handle, state, status) \
+do {\
+ int counter = 0;\
+ while ((state == ML_PIPELINE_STATE_PAUSED || \
+ state == ML_PIPELINE_STATE_READY) && counter < 20) {\
+ g_usleep (50000);\
+ counter ++;\
+ status = ml_pipeline_get_state (handle, &state);\
+ assert_eq (status, ML_ERROR_NONE);\
+ }\
+} while (0)\
+
+
+/**
+ * @brief Struct to check the pipeline state changes.
+ */
+typedef struct
+{
+ gboolean paused;
+ gboolean playing;
+} TestPipeState;
+
+/**
+ * @function test_pipe_state_callback
+ * @description Pipeline state changed callback
+ */
+static void
+test_pipe_state_callback (ml_pipeline_state_e state, void *user_data)
+{
+ TestPipeState *pipe_state;
+
+ pipe_state = (TestPipeState *) user_data;
+
+ switch (state) {
+ case ML_PIPELINE_STATE_PAUSED:
+ pipe_state->paused = TRUE;
+ break;
+ case ML_PIPELINE_STATE_PLAYING:
+ pipe_state->playing = TRUE;
+ break;
+ default:
+ break;
+ }
+}
+
+/**
+ * @function test_sink_callback_count
+ * @description A tensor-sink callback for sink handle in a pipeline
+ */
+static void
+test_sink_callback_count (const ml_tensors_data_h data,
+ const ml_tensors_info_h info, void *user_data)
+{
+ guint *count = (guint *) user_data;
+
+ *count = *count + 1;
+}
+
+/**
+ * @function test_sink_callback_dm01
+ * @description A tensor-sink callback for sink handle in a pipeline
+ */
+static void
+test_sink_callback_dm01 (const ml_tensors_data_h data,
+ const ml_tensors_info_h info, void *user_data)
+{
+ gchar *filepath = (gchar *) user_data;
+ unsigned int i, num = 0;
+ void *data_ptr;
+ size_t data_size;
+ int status;
+ FILE *fp = g_fopen (filepath, "a");
+
+ if (fp == NULL)
+ return;
+
+ ml_tensors_info_get_count (info, &num);
+
+ for (i = 0; i < num; i++) {
+ status = ml_tensors_data_get_tensor_data (data, i, &data_ptr, &data_size);
+ if (status == ML_ERROR_NONE)
+ fwrite (data_ptr, data_size, 1, fp);
+ }
+
+ fclose (fp);
+}
+
+/**
+ * @function file_cmp
+ * @description compare the two files.
+ */
+static int
+file_cmp (const gchar * f1, const gchar * f2)
+{
+ gboolean r;
+ gchar *content1, *content2;
+ gsize len1, len2;
+ int cmp = 0;
+
+ r = g_file_get_contents (f1, &content1, &len1, NULL);
+ if (r != TRUE)
+ return -1;
+
+ r = g_file_get_contents (f2, &content2, &len2, NULL);
+ if (r != TRUE) {
+ g_free (content1);
+ return -2;
+ }
+
+ if (len1 == len2) {
+ cmp = memcmp (content1, content2, len1);
+ } else {
+ cmp = 1;
+ }
+
+ g_free (content1);
+ g_free (content2);
+
+ return cmp;
+}
// See the License for the specific language governing permissions and
// limitations under the License.
//
-
-#include <nnstreamer.h>
-#include <nnstreamer-single.h>
-#include <stdint.h>
-#include <glib.h>
-#include <glib/gstdio.h> /* GStatBuf */
-
-#include "tct_common.h"
-
-#define API_NAMESPACE "nnstreamer"
-
-/**
- * @brief Struct to check the pipeline state changes.
- */
-typedef struct
-{
- gboolean paused;
- gboolean playing;
-} TestPipeState;
+#include "utc-nnstreamer-common.h"
static int status;
static gchar * pipeline;
static ml_pipeline_sink_h sinkhandle;
static TestPipeState * pipe_state;
-/**
- * @function test_pipe_state_callback
- * @description Pipeline state changed callback
- */
-static void
-test_pipe_state_callback (ml_pipeline_state_e state, void *user_data)
-{
- TestPipeState *pipe_state;
-
- pipe_state = (TestPipeState *) user_data;
-
- switch (state) {
- case ML_PIPELINE_STATE_PAUSED:
- pipe_state->paused = TRUE;
- break;
- case ML_PIPELINE_STATE_PLAYING:
- pipe_state->playing = TRUE;
- break;
- default:
- break;
- }
-}
-
-/**
- * @function test_sink_callback_count
- * @description A tensor-sink callback for sink handle in a pipeline
- */
-static void
-test_sink_callback_count (const ml_tensors_data_h data,
- const ml_tensors_info_h info, void *user_data)
-{
- guint *count = (guint *) user_data;
-
- *count = *count + 1;
-}
-
/**
* @function utc_nnstreamer_pipeline_sink_startup
* @since_tizen 5.5
*/
void utc_nnstreamer_pipeline_sink_startup(void)
{
+ int ret = system_info_get_platform_bool(FEATURE_ML, &feature_ml);
+ if (ret != ML_ERROR_NONE || !feature_ml) {
+ FPRINTF("[%s][%d][%s] feature machine_learning is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+ ret = system_info_get_platform_bool(FEATURE_ML_INFERENCE, &feature_ml_inf);
+ if (ret != ML_ERROR_NONE || !feature_ml_inf) {
+ FPRINTF("[%s][%d][%s] feature machine_learning.inference is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+
/* pipeline with appsink */
pipeline = g_strdup ("videotestsrc num-buffers=3 ! videoconvert ! tensor_converter ! appsink name=sinkx");
*/
int utc_ml_pipeline_sink_register_p (void)
{
+ IS_SUPPORT_FEATURE;
+
status = ml_pipeline_sink_register (handle, "sinkx", test_sink_callback_count, count_sink, &sinkhandle);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_sink_register_n (void)
{
+ IS_SUPPORT_FEATURE;
+
status = ml_pipeline_sink_register (NULL, "sinkx", test_sink_callback_count, NULL, NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_pipeline_sink_unregister_p (void)
{
+ IS_SUPPORT_FEATURE;
+
status = ml_pipeline_sink_register (handle, "sinkx", test_sink_callback_count, count_sink, &sinkhandle);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_sink_unregister_n (void)
{
+ IS_SUPPORT_FEATURE;
+
status = ml_pipeline_sink_unregister (NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
// limitations under the License.
//
-#include <nnstreamer.h>
-#include <nnstreamer-single.h>
-#include <stdint.h>
-#include <glib.h>
-#include <glib/gstdio.h> /* GStatBuf */
-
-#include "tct_common.h"
-
-#define API_NAMESPACE "nnstreamer"
+#include "utc-nnstreamer-common.h"
static int status;
*/
void utc_nnstreamer_pipeline_src_startup(void)
{
+ int ret = system_info_get_platform_bool(FEATURE_ML, &feature_ml);
+ if (ret != ML_ERROR_NONE || !feature_ml) {
+ FPRINTF("[%s][%d][%s] feature machine_learning is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+ ret = system_info_get_platform_bool(FEATURE_ML_INFERENCE, &feature_ml_inf);
+ if (ret != ML_ERROR_NONE || !feature_ml_inf) {
+ FPRINTF("[%s][%d][%s] feature machine_learning.inference is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+
pipeline = g_strdup ("appsrc name=srcx ! other/tensor,dimension=(string)4:1:1:1,type=(string)uint8,framerate=(fraction)0/1 ! tensor_sink");
status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
*/
int utc_ml_pipeline_src_get_handle_p (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_src_get_handle (handle, "srcx", &srchandle);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_src_get_handle_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_src_get_handle (NULL, "dummy", &srchandle);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_pipeline_src_release_handle_p (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_src_get_handle (handle, "srcx", &srchandle);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_src_release_handle_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_src_release_handle (NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
{
int i, ret = 0;
uint8_t *uintarray1[10];
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_src_get_handle (handle, "srcx", &srchandle);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_src_input_data_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_src_get_handle (handle, "srcx", &srchandle);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_src_get_tensors_info_p (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_src_get_handle (handle, "srcx", &srchandle);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_src_get_tensors_info_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_src_get_tensors_info (NULL, &info);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
// limitations under the License.
//
-#include <nnstreamer.h>
-#include <nnstreamer-single.h>
-#include <stdint.h>
-#include <glib.h>
-#include <glib/gstdio.h> /* GStatBuf */
-
-#include "tct_common.h"
-
-#define API_NAMESPACE "nnstreamer"
-
-/**
- * @brief Struct to check the pipeline state changes.
- */
-typedef struct
-{
- gboolean paused;
- gboolean playing;
-} TestPipeState;
+#include "utc-nnstreamer-common.h"
static int status;
static gchar * pipeline;
static ml_pipeline_switch_h switchhandle;
static ml_pipeline_switch_e type;
-/**
- * @function test_pipe_state_callback
- * @description Pipeline state changed callback
- */
-static void
-test_pipe_state_callback (ml_pipeline_state_e state, void *user_data)
-{
- TestPipeState *pipe_state;
-
- pipe_state = (TestPipeState *) user_data;
-
- switch (state) {
- case ML_PIPELINE_STATE_PAUSED:
- pipe_state->paused = TRUE;
- break;
- case ML_PIPELINE_STATE_PLAYING:
- pipe_state->playing = TRUE;
- break;
- default:
- break;
- }
-}
-
/**
* @function utc_nnstreamer_pipeline_switch_startup
* @since_tizen 5.5
*/
void utc_nnstreamer_pipeline_switch_startup(void)
{
+ int ret = system_info_get_platform_bool(FEATURE_ML, &feature_ml);
+ if (ret != ML_ERROR_NONE || !feature_ml) {
+ FPRINTF("[%s][%d][%s] feature machine_learning is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+ ret = system_info_get_platform_bool(FEATURE_ML_INFERENCE, &feature_ml_inf);
+ if (ret != ML_ERROR_NONE || !feature_ml_inf) {
+ FPRINTF("[%s][%d][%s] feature machine_learning.inference is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+
node_list = NULL;
pipeline = g_strdup ("input-selector name=ins ! tensor_converter ! tensor_sink name=sinkx "
*/
int utc_ml_pipeline_switch_get_handle_p (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_switch_get_handle (handle, "ins", &type, &switchhandle);
assert_eq (status, ML_ERROR_NONE);
assert_eq (type, ML_PIPELINE_SWITCH_INPUT_SELECTOR);
*/
int utc_ml_pipeline_switch_get_handle_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_switch_get_handle (NULL, "ins", &type, &switchhandle);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_pipeline_switch_release_handle_p (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_switch_get_handle (handle, "ins", &type, &switchhandle);
assert_eq (status, ML_ERROR_NONE);
assert_eq (type, ML_PIPELINE_SWITCH_INPUT_SELECTOR);
*/
int utc_ml_pipeline_switch_release_handle_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_switch_release_handle (NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_pipeline_switch_select_p (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_switch_get_handle (handle, "ins", &type, &switchhandle);
assert_eq (status, ML_ERROR_NONE);
assert_eq (type, ML_PIPELINE_SWITCH_INPUT_SELECTOR);
*/
int utc_ml_pipeline_switch_select_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_switch_select (NULL, "sink_1");
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_pipeline_switch_get_pad_list_p (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_switch_get_handle (handle, "ins", &type, &switchhandle);
assert_eq (status, ML_ERROR_NONE);
assert_eq (type, ML_PIPELINE_SWITCH_INPUT_SELECTOR);
*/
int utc_ml_pipeline_switch_get_pad_list_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_switch_get_pad_list (NULL, NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
// limitations under the License.
//
-#include <nnstreamer.h>
-#include <nnstreamer-single.h>
-#include <stdint.h>
-#include <glib.h>
-#include <glib/gstdio.h> /* GStatBuf */
-
-#include "tct_common.h"
-
-#define API_NAMESPACE "nnstreamer"
+#include "utc-nnstreamer-common.h"
static int status;
static gchar * pipeline;
*/
void utc_nnstreamer_pipeline_tensor_data_startup(void)
{
- pipeline = "appsrc name=srcx ! other/tensor,dimension=(string)4:1:1:1,type=(string)uint8,framerate=(fraction)0/1 ! tensor_sink";
-
- status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
- status = ml_pipeline_start (handle);
- status = ml_pipeline_src_get_handle (handle, "srcx", &srchandle);
- status = ml_pipeline_src_get_tensors_info (srchandle, &info);
+ int ret = system_info_get_platform_bool(FEATURE_ML, &feature_ml);
+ if (ret != ML_ERROR_NONE || !feature_ml) {
+ FPRINTF("[%s][%d][%s] feature machine_learning is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+ ret = system_info_get_platform_bool(FEATURE_ML_INFERENCE, &feature_ml_inf);
+ if (ret != ML_ERROR_NONE || !feature_ml_inf) {
+ FPRINTF("[%s][%d][%s] feature machine_learning.inference is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+
+ pipeline = g_strdup ("appsrc name=srcx ! other/tensor,dimension=(string)4:1:1:1,type=(string)uint8,framerate=(fraction)0/1 ! tensor_sink");
}
/**
*/
void utc_nnstreamer_pipeline_tensor_data_cleanup(void)
{
- status = ml_pipeline_src_release_handle (srchandle);
- status = ml_pipeline_stop (handle);
- status = ml_pipeline_destroy (handle);
- status = ml_tensors_data_destroy (data);
+ g_free (pipeline);
}
/**
*/
int utc_ml_tensors_data_create_p (void)
{
+ IS_SUPPORT_FEATURE;
+
+ status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
+ status = ml_pipeline_start (handle);
+ status = ml_pipeline_src_get_handle (handle, "srcx", &srchandle);
+ status = ml_pipeline_src_get_tensors_info (srchandle, &info);
+
status = ml_tensors_data_create (info, &data);
assert_eq (status, ML_ERROR_NONE);
+ status = ml_pipeline_src_release_handle (srchandle);
+ status = ml_pipeline_stop (handle);
+ status = ml_pipeline_destroy (handle);
+ status = ml_tensors_data_destroy (data);
+
return 0;
}
*/
int utc_ml_tensors_data_create_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_tensors_data_create (NULL, NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_tensors_data_destroy_p (void)
{
- status = ml_tensors_data_create (info, &data);
- assert_eq (status, ML_ERROR_NONE);
+ IS_SUPPORT_FEATURE;
+ status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
+ status = ml_pipeline_start (handle);
+ status = ml_pipeline_src_get_handle (handle, "srcx", &srchandle);
+ status = ml_pipeline_src_get_tensors_info (srchandle, &info);
+ status = ml_tensors_data_create (info, &data);
status = ml_pipeline_src_release_handle (srchandle);
- assert_eq (status, ML_ERROR_NONE);
-
status = ml_pipeline_stop (handle);
- assert_eq (status, ML_ERROR_NONE);
status = ml_pipeline_destroy (handle);
assert_eq (status, ML_ERROR_NONE);
status = ml_tensors_data_destroy (data);
- assert_eq (status, ML_ERROR_NONE);
return 0;
}
*/
int utc_ml_tensors_data_destroy_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_destroy (NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_tensors_data_set_tensor_data_p (void)
{
+ IS_SUPPORT_FEATURE;
+
+ status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
+ status = ml_pipeline_start (handle);
+ status = ml_pipeline_src_get_handle (handle, "srcx", &srchandle);
+ status = ml_pipeline_src_get_tensors_info (srchandle, &info);
+
status = ml_tensors_data_create (info, &data);
assert_eq (status, ML_ERROR_NONE);
+ status = ml_pipeline_src_release_handle (srchandle);
+ status = ml_pipeline_stop (handle);
+ status = ml_pipeline_destroy (handle);
+ status = ml_tensors_data_destroy (data);
+
return 0;
}
*/
int utc_ml_tensors_data_set_tensor_data_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_tensors_data_set_tensor_data (NULL, 0, NULL, 0);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_tensors_data_get_tensor_data_p (void)
{
+ IS_SUPPORT_FEATURE;
+ void *data_ptr;
+ size_t data_size;
+
+ status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
+ status = ml_pipeline_start (handle);
+ status = ml_pipeline_src_get_handle (handle, "srcx", &srchandle);
+ status = ml_pipeline_src_get_tensors_info (srchandle, &info);
status = ml_tensors_data_create (info, &data);
+
+ status = ml_tensors_data_get_tensor_data (data, 0, &data_ptr, &data_size);
assert_eq (status, ML_ERROR_NONE);
+ status = ml_pipeline_src_release_handle (srchandle);
+ status = ml_pipeline_stop (handle);
+ status = ml_pipeline_destroy (handle);
+ status = ml_tensors_data_destroy (data);
+
return 0;
}
*/
int utc_ml_tensors_data_get_tensor_data_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_tensors_data_get_tensor_data (NULL, 0, NULL, NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
// limitations under the License.
//
-#include <nnstreamer.h>
-#include <nnstreamer-single.h>
-#include <stdint.h>
-#include <glib.h>
-#include <glib/gstdio.h> /* GStatBuf */
-
-#include "tct_common.h"
-
-#define API_NAMESPACE "nnstreamer"
+#include "utc-nnstreamer-common.h"
static int status;
static ml_tensors_info_h info;
*/
void utc_nnstreamer_pipeline_tensor_info_startup(void)
{
- status = ml_tensors_info_create (&info);
+ int ret = system_info_get_platform_bool(FEATURE_ML, &feature_ml);
+ if (ret != ML_ERROR_NONE || !feature_ml) {
+ FPRINTF("[%s][%d][%s] feature machine_learning is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+ ret = system_info_get_platform_bool(FEATURE_ML_INFERENCE, &feature_ml_inf);
+ if (ret != ML_ERROR_NONE || !feature_ml_inf) {
+ FPRINTF("[%s][%d][%s] feature machine_learning.inference is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
}
/**
*/
void utc_nnstreamer_pipeline_tensor_info_cleanup(void)
{
- status = ml_tensors_info_destroy (info);
}
/**
*/
int utc_ml_tensors_info_create_p (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_tensors_info_create (&info);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_tensors_info_create_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_tensors_info_create (NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_tensors_info_destroy_p (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_tensors_info_create (&info);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_tensors_info_destroy_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_tensors_info_destroy (NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_tensors_info_validate_p (void)
{
+ IS_SUPPORT_FEATURE;
ml_tensors_info_h t_info;
ml_tensor_dimension t_dim;
bool valid = false;
*/
int utc_ml_tensors_info_validate_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_tensors_info_validate (NULL, NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_tensors_info_clone_p (void)
{
+ IS_SUPPORT_FEATURE;
ml_tensors_info_h in_info, out_info;
status = ml_tensors_info_create (&in_info);
*/
int utc_ml_tensors_info_clone_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_tensors_info_clone (NULL, NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_tensors_info_set_count_p (void)
{
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_set_count (info, 2);
assert_eq (status, ML_ERROR_NONE);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
*/
int utc_ml_tensors_info_set_count_n (void)
{
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_set_count (NULL, 2);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
{
unsigned int num = 0;
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_set_count (info, 2);
assert_eq (status, ML_ERROR_NONE);
assert_eq (status, ML_ERROR_NONE);
assert_eq (num, 2);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
*/
int utc_ml_tensors_info_get_count_n (void)
{
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_get_count (NULL, NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
*/
int utc_ml_tensors_info_set_tensor_name_p (void)
{
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_set_count (info, 1);
assert_eq (status, ML_ERROR_NONE);
status = ml_tensors_info_set_tensor_name (info, 0, "tensor-name-test");
assert_eq (status, ML_ERROR_NONE);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
*/
int utc_ml_tensors_info_set_tensor_name_n (void)
{
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_set_tensor_name (NULL, 1, "tensor-name-test");
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
{
gchar * out_name = NULL;
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_set_count (info, 1);
assert_eq (status, ML_ERROR_NONE);
status = ml_tensors_info_get_tensor_name (info, 0, &out_name);
assert_eq (status, ML_ERROR_NONE);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
*/
int utc_ml_tensors_info_get_tensor_name_n (void)
{
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_get_tensor_name (NULL, 0, NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
*/
int utc_ml_tensors_info_set_tensor_type_p (void)
{
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_set_count (info, 1);
assert_eq (status, ML_ERROR_NONE);
status = ml_tensors_info_set_tensor_type (info, 0, ML_TENSOR_TYPE_UINT8);
assert_eq (status, ML_ERROR_NONE);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
*/
int utc_ml_tensors_info_set_tensor_type_n (void)
{
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_set_tensor_type (NULL, 0, ML_TENSOR_TYPE_UINT8);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
{
ml_tensor_type_e out_type;
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_set_count (info, 1);
assert_eq (status, ML_ERROR_NONE);
assert_eq (status, ML_ERROR_NONE);
assert_eq (out_type, ML_TENSOR_TYPE_UINT8);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
*/
int utc_ml_tensors_info_get_tensor_type_n (void)
{
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_get_tensor_type (NULL, 0, NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
*/
int utc_ml_tensors_info_set_tensor_dimension_p (void)
{
+ IS_SUPPORT_FEATURE;
ml_tensor_dimension in_dim;
in_dim[0] = 3;
in_dim[2] = 300;
in_dim[3] = 1;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_set_count (info, 1);
assert_eq (status, ML_ERROR_NONE);
status = ml_tensors_info_set_tensor_dimension (info, 0, in_dim);
assert_eq (status, ML_ERROR_NONE);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
*/
int utc_ml_tensors_info_set_tensor_dimension_n (void)
{
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_set_tensor_dimension (NULL, 1, NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
*/
int utc_ml_tensors_info_get_tensor_dimension_p (void)
{
+ IS_SUPPORT_FEATURE;
ml_tensor_dimension in_dim, out_dim;
in_dim[0] = 3;
in_dim[2] = 300;
in_dim[3] = 1;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_set_count (info, 1);
assert_eq (status, ML_ERROR_NONE);
assert_eq (out_dim[2], 300U);
assert_eq (out_dim[3], 1U);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
*/
int utc_ml_tensors_info_get_tensor_dimension_n (void)
{
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_get_tensor_dimension (NULL, 1, NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
*/
int utc_ml_tensors_info_get_tensor_size_p (void)
{
+ IS_SUPPORT_FEATURE;
ml_tensor_dimension in_dim;
size_t data_size;
in_dim[2] = 300;
in_dim[3] = 1;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_set_count (info, 1);
assert_eq (status, ML_ERROR_NONE);
status = ml_tensors_info_get_tensor_size (info, 0, &data_size);
assert_eq (status, ML_ERROR_NONE);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
*/
int utc_ml_tensors_info_get_tensor_size_n (void)
{
+ IS_SUPPORT_FEATURE;
+ status = ml_tensors_info_create (&info);
+ assert_eq (status, ML_ERROR_NONE);
+
status = ml_tensors_info_get_tensor_size (NULL, 0, NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
+ status = ml_tensors_info_destroy (info);
+ assert_eq (status, ML_ERROR_NONE);
+
return 0;
}
// limitations under the License.
//
-#include <nnstreamer.h>
-#include <nnstreamer-single.h>
-#include <stdint.h>
-#include <glib.h>
-#include <glib/gstdio.h> /* GStatBuf */
-
-#include "tct_common.h"
-
-#define API_NAMESPACE "nnstreamer"
+#include "utc-nnstreamer-common.h"
static int status;
static gchar * pipeline;
*/
void utc_nnstreamer_pipeline_valve_startup(void)
{
+ int ret = system_info_get_platform_bool(FEATURE_ML, &feature_ml);
+ if (ret != ML_ERROR_NONE || !feature_ml) {
+ FPRINTF("[%s][%d][%s] feature machine_learning is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+ ret = system_info_get_platform_bool(FEATURE_ML_INFERENCE, &feature_ml_inf);
+ if (ret != ML_ERROR_NONE || !feature_ml_inf) {
+ FPRINTF("[%s][%d][%s] feature machine_learning.inference is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+
pipeline = g_strdup ("videotestsrc is-live=true ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=16,height=16,framerate=10/1 ! tensor_converter ! queue ! valve name=valve1");
status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
}
*/
int utc_ml_pipeline_valve_get_handle_p (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_valve_get_handle (handle, "valve1", &valve1);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_valve_get_handle_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_valve_get_handle (NULL, "valve1", &valve1);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_pipeline_valve_release_handle_p (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_valve_get_handle (handle, "valve1", &valve1);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_valve_release_handle_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_valve_release_handle (NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_pipeline_valve_set_open_p (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_valve_get_handle (handle, "valve1", &valve1);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_valve_set_open_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_valve_set_open (NULL, true);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
// limitations under the License.
//
-#include <nnstreamer.h>
-#include <nnstreamer-single.h>
-#include <stdint.h>
-#include <glib.h>
-#include <glib/gstdio.h> /* GStatBuf */
-
-#include "tct_common.h"
-
-#define API_NAMESPACE "nnstreamer"
-
-#define wait_for_start(handle, state, status) \
-do {\
- int counter = 0;\
- while ((state == ML_PIPELINE_STATE_PAUSED || \
- state == ML_PIPELINE_STATE_READY) && counter < 20) {\
- g_usleep (50000);\
- counter ++;\
- status = ml_pipeline_get_state (handle, &state);\
- assert_eq (status, ML_ERROR_NONE);\
- }\
-} while (0)\
+#include "utc-nnstreamer-common.h"
static int status;
static gchar * pipeline;
static ml_pipeline_h handle;
static ml_pipeline_state_e state;
+/**
+ * @function utc_nnstreamer_pipeline_startup
+ * @since_tizen 5.5
+ * @description called before the specific test cases
+ */
+void utc_nnstreamer_pipeline_startup (void)
+{
+ int ret = system_info_get_platform_bool(FEATURE_ML, &feature_ml);
+ if (ret != ML_ERROR_NONE || !feature_ml) {
+ FPRINTF("[%s][%d][%s] feature machine_learning is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+ ret = system_info_get_platform_bool(FEATURE_ML_INFERENCE, &feature_ml_inf);
+ if (ret != ML_ERROR_NONE || !feature_ml_inf) {
+ FPRINTF("[%s][%d][%s] feature machine_learning.inference is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+}
+
+/**
+ * @function utc_nnstreamer_pipeline_cleanup
+ * @since_tizen 5.5
+ * @description called before the specific test cases
+ */
+void utc_nnstreamer_pipeline_cleanup (void)
+{
+}
+
/**
* @testcase utc_ml_pipeline_construct_p
* @since_tizen 5.5
*/
int utc_ml_pipeline_construct_p (void)
{
+ IS_SUPPORT_FEATURE;
pipeline = "videotestsrc num_buffers=2 ! fakesink";
status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_construct_n (void)
{
+ IS_SUPPORT_FEATURE;
pipeline = "nonexistsrc ! fakesink";
status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
assert_eq (status, ML_ERROR_STREAMS_PIPE);
*/
int utc_ml_pipeline_destroy_p (void)
{
+ IS_SUPPORT_FEATURE;
pipeline = "videotestsrc num_buffers=2 ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=224,height=224 ! tensor_converter ! fakesink";
status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_destroy_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_destroy (NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_pipeline_get_state_p (void)
{
+ IS_SUPPORT_FEATURE;
pipeline = "videotestsrc is-live=true ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=224,height=224,framerate=60/1 ! tensor_converter ! valve name=valvex ! valve name=valvey ! input-selector name=is01 ! tensor_sink name=sinkx";
status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_get_state_n (void)
{
+ IS_SUPPORT_FEATURE;
pipeline = "videotestsrc is-live=true ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=224,height=224,framerate=60/1 ! tensor_converter ! valve name=valvex ! valve name=valvey ! input-selector name=is01 ! tensor_sink name=sinkx";
status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_start_p (void)
{
+ IS_SUPPORT_FEATURE;
pipeline = "videotestsrc is-live=true ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=224,height=224,framerate=60/1 ! tensor_converter ! valve name=valvex ! valve name=valvey ! input-selector name=is01 ! tensor_sink name=sinkx";
status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_start_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_start (NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_pipeline_stop_p (void)
{
+ IS_SUPPORT_FEATURE;
pipeline = "videotestsrc is-live=true ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=224,height=224,framerate=60/1 ! tensor_converter ! valve name=valvex ! valve name=valvey ! input-selector name=is01 ! tensor_sink name=sinkx";
status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_ml_pipeline_stop_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_pipeline_stop (NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
int utc_ml_check_nnfw_availability_p (void)
{
bool result;
+ IS_SUPPORT_FEATURE;
int status = ml_check_nnfw_availability (ML_NNFW_TYPE_NNFW, ML_NNFW_HW_ANY, &result);
assert_eq (status, ML_ERROR_NONE);
assert_eq (result, false);
*/
int utc_ml_check_nnfw_availability_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_check_nnfw_availability (ML_NNFW_TYPE_NNFW, ML_NNFW_HW_NPU, NULL);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
// limitations under the License.
//
-#include <nnstreamer.h>
-#include <nnstreamer-single.h>
-#include <stdint.h>
-#include <glib.h>
-#include <glib/gstdio.h> /* GStatBuf */
-
-#include "tct_common.h"
-
-#define API_NAMESPACE "nnstreamer"
-
-/**
- * @brief Struct to check the pipeline state changes.
- */
-typedef struct
-{
- gboolean paused;
- gboolean playing;
-} TestPipeState;
-
-#define wait_for_start(handle, state, status) \
-do {\
- int counter = 0;\
- while ((state == ML_PIPELINE_STATE_PAUSED || \
- state == ML_PIPELINE_STATE_READY) && counter < 20) {\
- g_usleep (50000);\
- counter ++;\
- status = ml_pipeline_get_state (handle, &state);\
- assert_eq (status, ML_ERROR_NONE);\
- }\
-} while (0)\
-
-/**
- * @brief A tensor-sink callback for sink handle in a pipeline
- */
-static void
-test_sink_callback_dm01 (const ml_tensors_data_h data,
- const ml_tensors_info_h info, void *user_data)
-{
- gchar *filepath = (gchar *) user_data;
- unsigned int i, num = 0;
- void *data_ptr;
- size_t data_size;
- int status;
- FILE *fp = g_fopen (filepath, "a");
-
- if (fp == NULL)
- return;
-
- ml_tensors_info_get_count (info, &num);
-
- for (i = 0; i < num; i++) {
- status = ml_tensors_data_get_tensor_data (data, i, &data_ptr, &data_size);
- if (status == ML_ERROR_NONE)
- fwrite (data_ptr, data_size, 1, fp);
- }
-
- fclose (fp);
-}
-
-/**
- * @brief A tensor-sink callback for sink handle in a pipeline
- */
-static void
-test_sink_callback_count (const ml_tensors_data_h data,
- const ml_tensors_info_h info, void *user_data)
-{
- guint *count = (guint *) user_data;
-
- *count = *count + 1;
-}
-
-/**
- * @brief Pipeline state changed callback
- */
-static void
-test_pipe_state_callback (ml_pipeline_state_e state, void *user_data)
-{
- TestPipeState *pipe_state;
-
- pipe_state = (TestPipeState *) user_data;
-
- switch (state) {
- case ML_PIPELINE_STATE_PAUSED:
- pipe_state->paused = TRUE;
- break;
- case ML_PIPELINE_STATE_PLAYING:
- pipe_state->playing = TRUE;
- break;
- default:
- break;
- }
-}
-
-/**
- * @brief compare the two files.
- */
-static int
-file_cmp (const gchar * f1, const gchar * f2)
-{
- gboolean r;
- gchar *content1, *content2;
- gsize len1, len2;
- int cmp = 0;
-
- r = g_file_get_contents (f1, &content1, &len1, NULL);
- if (r != TRUE)
- return -1;
-
- r = g_file_get_contents (f2, &content2, &len2, NULL);
- if (r != TRUE) {
- g_free (content1);
- return -2;
- }
-
- if (len1 == len2) {
- cmp = memcmp (content1, content2, len1);
- } else {
- cmp = 1;
- }
-
- g_free (content1);
- g_free (content2);
-
- return cmp;
-}
-
-static gchar * pipeline;
-static uint8_t * content;
-static uint8_t * uintarray1[10];
-static uint8_t * uintarray2[10];
+#include "utc-nnstreamer-common.h"
/**
* @function utc_nnstreamer_scenario_startup
*/
void utc_nnstreamer_scenario_startup(void)
{
- int i;
- for (i = 0; i < 10; i++) {
- uintarray1[i] = (uint8_t *) g_malloc (4);
- uintarray1[i][0] = i + 4;
- uintarray1[i][1] = i + 1;
- uintarray1[i][2] = i + 3;
- uintarray1[i][3] = i + 2;
-
- uintarray2[i] = (uint8_t *) g_malloc (4);
- uintarray2[i][0] = i + 3;
- uintarray2[i][1] = i + 2;
- uintarray2[i][2] = i + 1;
- uintarray2[i][3] = i + 4;
- /* These will be free'ed by gstreamer (ML_PIPELINE_BUF_POLICY_AUTO_FREE) */
- /** @todo Check whether gstreamer really deallocates this */
+ int ret = system_info_get_platform_bool(FEATURE_ML, &feature_ml);
+ if (ret != ML_ERROR_NONE || !feature_ml) {
+ FPRINTF("[%s][%d][%s] feature machine_learning is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+ ret = system_info_get_platform_bool(FEATURE_ML_INFERENCE, &feature_ml_inf);
+ if (ret != ML_ERROR_NONE || !feature_ml_inf) {
+ FPRINTF("[%s][%d][%s] feature machine_learning.inference is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
}
}
*/
void utc_nnstreamer_scenario_cleanup(void)
{
- int i;
- for (i = 0; i < 10; i++) {
- g_free (uintarray1[i]);
- g_free (uintarray2[i]);
- }
- g_free (pipeline);
- g_free (content);
}
/**
*/
int utc_nnstreamer_scenario_construct_destruct_empty_pipeline_p (void)
{
- const char *pipeline = "videotestsrc num_buffers=2 ! fakesink";
+ IS_SUPPORT_FEATURE;
+ gchar * pipeline = g_strdup ("videotestsrc num_buffers=2 ! fakesink");
ml_pipeline_h handle;
int status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
assert_eq(status, ML_ERROR_NONE);
status = ml_pipeline_destroy (handle);
assert_eq(status, ML_ERROR_NONE);
+ g_free (pipeline);
+
return 0;
}
*/
int utc_nnstreamer_scenario_construct_destruct_pipeline_p1 (void)
{
- const char *pipeline = "videotestsrc num_buffers=2 ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=224,height=224 ! tensor_converter ! fakesink";
+ IS_SUPPORT_FEATURE;
+ gchar * pipeline = g_strdup("videotestsrc num_buffers=2 ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=224,height=224 ! tensor_converter ! fakesink");
ml_pipeline_h handle;
int status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
assert_eq (status, ML_ERROR_NONE);
status = ml_pipeline_destroy (handle);
assert_eq (status, ML_ERROR_NONE);
+ g_free (pipeline);
+
return 0;
}
*/
int utc_nnstreamer_scenario_construct_destruct_pipeline_p2 (void)
{
- const char *pipeline = "videotestsrc num_buffers=2 ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=224,height=224 ! tensor_converter ! valve name=valvex ! tensor_sink name=sinkx";
+ IS_SUPPORT_FEATURE;
+ gchar * pipeline = g_strdup("videotestsrc num_buffers=2 ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=224,height=224 ! tensor_converter ! valve name=valvex ! tensor_sink name=sinkx");
ml_pipeline_h handle;
int status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
assert_eq (status, ML_ERROR_NONE);
status = ml_pipeline_destroy (handle);
assert_eq (status, ML_ERROR_NONE);
+ g_free (pipeline);
+
return 0;
}
*/
int utc_nnstreamer_scenario_construct_pipeline_error_case_n1 (void)
{
- const char *pipeline = "nonexistsrc ! fakesink";
+ IS_SUPPORT_FEATURE;
+ gchar * pipeline = g_strdup("nonexistsrc ! fakesink");
ml_pipeline_h handle;
int status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
assert_eq (status, ML_ERROR_STREAMS_PIPE);
+ g_free (pipeline);
+
return 0;
}
*/
int utc_nnstreamer_scenario_construct_pipeline_error_case_n2 (void)
{
- const char *pipeline = "videotestsrc num_buffers=2 ! audioconvert ! fakesink";
+ IS_SUPPORT_FEATURE;
+ gchar * pipeline = g_strdup("videotestsrc num_buffers=2 ! audioconvert ! fakesink");
ml_pipeline_h handle;
int status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
assert_eq (status, ML_ERROR_STREAMS_PIPE);
+ g_free (pipeline);
+
return 0;
}
*/
int utc_nnstreamer_scenario_pipeline_state_test_p1 (void)
{
- const char *pipeline = "videotestsrc is-live=true ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=224,height=224,framerate=60/1 ! tensor_converter ! valve name=valvex ! valve name=valvey ! input-selector name=is01 ! tensor_sink name=sinkx";
+ IS_SUPPORT_FEATURE;
+ gchar * pipeline = g_strdup("videotestsrc is-live=true ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=224,height=224,framerate=60/1 ! tensor_converter ! valve name=valvex ! valve name=valvey ! input-selector name=is01 ! tensor_sink name=sinkx");
ml_pipeline_h handle;
ml_pipeline_state_e state;
int status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
status = ml_pipeline_destroy (handle);
assert_eq (status, ML_ERROR_NONE);
+ g_free (pipeline);
+
return 0;
}
*/
int utc_nnstreamer_scenario_pipeline_state_test_p2 (void)
{
- const char *pipeline = "videotestsrc is-live=true ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=224,height=224,framerate=60/1 ! tensor_converter ! valve name=valvex ! valve name=valvey ! input-selector name=is01 ! tensor_sink name=sinkx";
+ IS_SUPPORT_FEATURE;
+ gchar * pipeline = g_strdup("videotestsrc is-live=true ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=224,height=224,framerate=60/1 ! tensor_converter ! valve name=valvex ! valve name=valvey ! input-selector name=is01 ! tensor_sink name=sinkx");
ml_pipeline_h handle;
ml_pipeline_state_e state;
int status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
status = ml_pipeline_destroy (handle);
assert_eq (status, ML_ERROR_NONE);
+ g_free (pipeline);
+
return 0;
}
gchar *fullpath = g_build_path ("/", _tmpdir, _dirname, NULL);
gchar *dir = g_mkdtemp ((gchar *) fullpath);
gchar *file1 = g_build_path ("/", dir, "valve1", NULL);
- gchar *pipeline =
+ gchar * pipeline =
g_strdup_printf
("videotestsrc is-live=true ! videoconvert ! videoscale ! video/x-raw,format=RGBx,width=16,height=16,framerate=10/1 ! tensor_converter ! queue ! valve name=valve1 ! filesink location=\"%s\"",
file1);
g_free (fullpath);
g_free (file1);
+
g_free (pipeline);
return 0;
*/
int utc_nnstreamer_scenario_valve_error_cases_n (void)
{
+ IS_SUPPORT_FEATURE;
ml_pipeline_h handle;
ml_pipeline_valve_h valve_h;
- gchar *pipeline;
int status;
- pipeline = g_strdup ("videotestsrc num-buffers=3 ! videoconvert ! valve name=valvex ! tensor_converter ! tensor_sink name=sinkx");
+ gchar * pipeline = g_strdup ("videotestsrc num-buffers=3 ! videoconvert ! valve name=valvex ! tensor_converter ! tensor_sink name=sinkx");
status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_nnstreamer_scenario_sink_p1 (void)
{
+ IS_SUPPORT_FEATURE;
const gchar *_tmpdir = g_get_tmp_dir ();
const gchar *_dirname = "nns-tizen-XXXXXX";
gchar *fullpath = g_build_path ("/", _tmpdir, _dirname, NULL);
gchar *file1 = g_build_path ("/", dir, "original", NULL);
gchar *file2 = g_build_path ("/", dir, "sink", NULL);
- gchar *pipeline =
+ gchar * pipeline =
g_strdup_printf
("videotestsrc num-buffers=3 ! videoconvert ! video/x-raw,format=BGRx,width=64,height=48,famerate=60/1 ! tee name=t t. ! queue ! filesink location=\"%s\" t. ! queue ! tensor_converter ! tensor_sink name=sinkx",
file1);
status = ml_pipeline_destroy (handle);
assert_eq (status, ML_ERROR_NONE);
- g_free (pipeline);
-
/* File Comparison to check the integrity */
assert_eq (file_cmp (file1, file2), 0);
+ g_free (pipeline);
+
return 0;
}
*/
int utc_nnstreamer_scenario_sink_p2 (void)
{
+ IS_SUPPORT_FEATURE;
ml_pipeline_h handle;
ml_pipeline_state_e state;
ml_pipeline_sink_h sinkhandle;
- gchar *pipeline;
int status;
guint *count_sink;
TestPipeState *pipe_state;
/* pipeline with appsink */
- pipeline = g_strdup ("videotestsrc num-buffers=3 ! videoconvert ! tensor_converter ! appsink name=sinkx");
+ gchar * pipeline = g_strdup ("videotestsrc num-buffers=3 ! videoconvert ! tensor_converter ! appsink name=sinkx");
count_sink = (guint *) g_malloc (sizeof (guint));
*count_sink = 0;
*/
int utc_nnstreamer_scenario_sink_error_cases_n (void)
{
+ IS_SUPPORT_FEATURE;
ml_pipeline_h handle;
ml_pipeline_sink_h sinkhandle;
- gchar *pipeline;
int status;
guint *count_sink;
- pipeline = g_strdup ("videotestsrc num-buffers=3 ! videoconvert ! valve name=valvex ! tensor_converter ! tensor_sink name=sinkx");
+ gchar * pipeline = g_strdup ("videotestsrc num-buffers=3 ! videoconvert ! valve name=valvex ! tensor_converter ! tensor_sink name=sinkx");
count_sink = (guint *) g_malloc (sizeof (guint));
*count_sink = 0;
*/
int utc_nnstreamer_scenario_src_p (void)
{
+ IS_SUPPORT_FEATURE;
const gchar *_tmpdir = g_get_tmp_dir ();
const gchar *_dirname = "nns-tizen-XXXXXX";
gchar *fullpath = g_build_path ("/", _tmpdir, _dirname, NULL);
ml_tensors_info_h info;
ml_tensors_data_h data1, data2;
unsigned int count = 0;
+ uint8_t uintarray1[10][4];
+ uint8_t uintarray2[10][4];
+ uint8_t * content;
ml_tensor_type_e type = ML_TENSOR_TYPE_UNKNOWN;
ml_tensor_dimension dim = { 0, };
int i;
gsize len;
- pipeline =
+ gchar * pipeline =
g_strdup_printf ("appsrc name=srcx ! other/tensor,dimension=(string)4:1:1:1,type=(string)uint8,framerate=(fraction)0/1 ! filesink location=\"%s\"",
file1);
ml_tensors_info_destroy (info);
+ for (i = 0; i < 10; i++) {
+ uintarray1[i][0] = i + 4;
+ uintarray1[i][1] = i + 1;
+ uintarray1[i][2] = i + 3;
+ uintarray1[i][3] = i + 2;
+
+ uintarray2[i][0] = i + 3;
+ uintarray2[i][1] = i + 2;
+ uintarray2[i][2] = i + 1;
+ uintarray2[i][3] = i + 4;
+ /* These will be free'ed by gstreamer (ML_PIPELINE_BUF_POLICY_AUTO_FREE) */
+ /** @todo Check whether gstreamer really deallocates this */
+ }
status = ml_tensors_data_set_tensor_data (data1, 0, uintarray1[0], 4);
assert_eq (status, ML_ERROR_NONE);
status = ml_tensors_info_destroy (info);
status = ml_tensors_data_destroy (data1);
+ g_free (pipeline);
+ g_free (content);
return 0;
}
int utc_nnstreamer_scenario_src_error_case_n1 (void)
{
int status;
+ IS_SUPPORT_FEATURE;
ml_pipeline_src_h srchandle;
status = ml_pipeline_src_get_handle (NULL, "dummy", &srchandle);
*/
int utc_nnstreamer_scenario_src_error_case_n2 (void)
{
- const char *pipeline = "appsrc name=mysource ! other/tensor,dimension=(string)4:1:1:1,type=(string)uint8,framerate=(fraction)0/1 ! valve name=valvex ! tensor_sink";
+ IS_SUPPORT_FEATURE;
+ gchar * pipeline = g_strdup("appsrc name=mysource ! other/tensor,dimension=(string)4:1:1:1,type=(string)uint8,framerate=(fraction)0/1 ! valve name=valvex ! tensor_sink");
ml_pipeline_h handle;
ml_pipeline_src_h srchandle;
status = ml_pipeline_destroy (handle);
assert_eq (status, ML_ERROR_NONE);
+ g_free (pipeline);
+
return 0;
}
*/
int utc_nnstreamer_scenario_src_error_case_n3 (void)
{
- const char *pipeline = "appsrc name=srcx ! other/tensor,dimension=(string)4:1:1:1,type=(string)uint8,framerate=(fraction)0/1 ! tensor_sink";
+ IS_SUPPORT_FEATURE;
+ gchar * pipeline = g_strdup("appsrc name=srcx ! other/tensor,dimension=(string)4:1:1:1,type=(string)uint8,framerate=(fraction)0/1 ! tensor_sink");
ml_pipeline_h handle;
ml_pipeline_src_h srchandle;
ml_tensors_data_h data;
status = ml_tensors_data_destroy (data);
assert_eq (status, ML_ERROR_NONE);
+ g_free (pipeline);
+
return 0;
}
*/
int utc_nnstreamer_scenario_switch_pipeline_p1 (void)
{
+ IS_SUPPORT_FEATURE;
ml_pipeline_h handle;
ml_pipeline_switch_h switchhandle;
ml_pipeline_sink_h sinkhandle;
ml_pipeline_switch_e type;
ml_pipeline_state_e state;
- gchar *pipeline;
int status;
guint *count_sink;
TestPipeState *pipe_state;
gchar **node_list = NULL;
- pipeline = g_strdup ("input-selector name=ins ! tensor_converter ! tensor_sink name=sinkx "
+ gchar * pipeline = g_strdup ("input-selector name=ins ! tensor_converter ! tensor_sink name=sinkx "
"videotestsrc is-live=true ! videoconvert ! ins.sink_0 "
"videotestsrc num-buffers=3 is-live=true ! videoconvert ! ins.sink_1");
assert (pipe_state->paused);
assert (pipe_state->playing);
- g_free (pipeline);
g_free (count_sink);
g_free (pipe_state);
+ g_free (pipeline);
return 0;
}
*/
int utc_nnstreamer_scenario_switch_pipeline_p2 (void)
{
+ IS_SUPPORT_FEATURE;
ml_pipeline_h handle;
ml_pipeline_switch_h switchhandle;
ml_pipeline_sink_h sinkhandle0, sinkhandle1;
ml_pipeline_switch_e type;
- gchar *pipeline;
int status;
guint *count_sink0, *count_sink1;
gchar **node_list = NULL;
* For running the test, set async=false in the sink element when using an output selector.
* The pipeline state can be changed to paused after all sink element receive buffer.
*/
- pipeline = g_strdup ("videotestsrc is-live=true ! videoconvert ! tensor_converter ! output-selector name=outs "
+ gchar * pipeline = g_strdup ("videotestsrc is-live=true ! videoconvert ! tensor_converter ! output-selector name=outs "
"outs.src_0 ! tensor_sink name=sink0 async=false "
"outs.src_1 ! tensor_sink name=sink1 async=false");
assert_eq (*count_sink0, 0U);
assert (*count_sink1 > 0U);
- g_free (pipeline);
g_free (count_sink0);
g_free (count_sink1);
+ g_free (pipeline);
return 0;
}
*/
int utc_nnstreamer_scenario_switch_pipeline_error_cases_n (void)
{
+ IS_SUPPORT_FEATURE;
ml_pipeline_h handle;
ml_pipeline_switch_h switchhandle;
ml_pipeline_switch_e type;
- gchar *pipeline;
int status;
- pipeline = g_strdup ("input-selector name=ins ! tensor_converter ! tensor_sink name=sinkx "
+ gchar * pipeline = g_strdup ("input-selector name=ins ! tensor_converter ! tensor_sink name=sinkx "
"videotestsrc is-live=true ! videoconvert ! ins.sink_0 "
"videotestsrc num-buffers=3 ! videoconvert ! ins.sink_1");
int utc_nnstreamer_scenario_check_nnfw_availability_p (void)
{
bool result;
- int status = ml_check_nnfw_availability (ML_NNFW_TYPE_NNFW, ML_NNFW_HW_ANY, &result);
+ int status;
+ IS_SUPPORT_FEATURE;
+
+ status = ml_check_nnfw_availability (ML_NNFW_TYPE_NNFW, ML_NNFW_HW_ANY, &result);
assert_eq (status, ML_ERROR_NONE);
assert_eq (result, false);
*/
int utc_nnstreamer_scenario_check_tensor_info_utilities_p (void)
{
- ml_tensors_info_h info;
- ml_tensor_dimension in_dim, out_dim;
- ml_tensor_type_e out_type;
gchar *out_name;
size_t data_size;
int status;
+ IS_SUPPORT_FEATURE;
+ ml_tensors_info_h info;
+ ml_tensor_dimension in_dim, out_dim;
+ ml_tensor_type_e out_type;
status = ml_tensors_info_create (&info);
assert_eq (status, ML_ERROR_NONE);
*/
int utc_nnstreamer_scenario_filter_tensorflow_lite_p1 (void)
{
+ IS_SUPPORT_FEATURE;
ml_single_h single;
ml_tensors_info_h in_info, out_info;
ml_tensors_info_h in_res, out_res;
*/
int utc_nnstreamer_scenario_filter_tensorflow_lite_p2 (void)
{
+ IS_SUPPORT_FEATURE;
ml_single_h single;
ml_tensors_info_h in_info, out_info;
ml_tensors_data_h input, output;
*/
int utc_nnstreamer_scenario_filter_tensorflow_lite_n (void)
{
+ IS_SUPPORT_FEATURE;
ml_single_h single;
ml_tensors_info_h in_info, out_info;
ml_tensor_dimension in_dim, out_dim;
// limitations under the License.
//
-#include <nnstreamer.h>
-#include <nnstreamer-single.h>
-#include <stdint.h>
-#include <glib.h>
-#include <glib/gstdio.h> /* GStatBuf */
-
-#include "tct_common.h"
-
-#define API_NAMESPACE "nnstreamer"
+#include "utc-nnstreamer-common.h"
static ml_single_h single;
static gchar *test_model;
*/
void utc_nnstreamer_single_startup(void)
{
+ int ret = system_info_get_platform_bool(FEATURE_ML, &feature_ml);
+ if (ret != ML_ERROR_NONE || !feature_ml) {
+ FPRINTF("[%s][%d][%s] feature machine_learning is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+ ret = system_info_get_platform_bool(FEATURE_ML_INFERENCE, &feature_ml_inf);
+ if (ret != ML_ERROR_NONE || !feature_ml_inf) {
+ FPRINTF("[%s][%d][%s] feature machine_learning.inference is not supported!\\n", __FILE__, __LINE__, __FUNCTION__);
+ return;
+ }
+
test_model = NULL;
FPRINTF("[%s][%d][%s] [STARTUP]\\n", __FILE__, __LINE__, __FUNCTION__);
*/
int utc_ml_single_open_p (void)
{
+ IS_SUPPORT_FEATURE;
assert (g_file_test (test_model, G_FILE_TEST_EXISTS));
status = ml_single_open (&single, test_model, NULL, NULL,
*/
int utc_ml_single_open_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_single_open (&single, "wrong_file_name", NULL, NULL,
ML_NNFW_TYPE_TENSORFLOW_LITE, ML_NNFW_TYPE_ANY);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);
*/
int utc_ml_single_close_p (void)
{
+ IS_SUPPORT_FEATURE;
assert (g_file_test (test_model, G_FILE_TEST_EXISTS));
status = ml_single_open (&single, test_model, NULL, NULL,
*/
int utc_ml_single_close_n (void)
{
+ IS_SUPPORT_FEATURE;
assert (g_file_test (test_model, G_FILE_TEST_EXISTS));
status = ml_single_open (&single, test_model, NULL, NULL,
*/
int utc_ml_single_invoke_p (void)
{
+ IS_SUPPORT_FEATURE;
ml_tensors_info_h in_info, out_info;
ml_tensors_data_h input, output;
ml_tensor_dimension in_dim, out_dim;
*/
int utc_ml_single_invoke_n (void)
{
+ IS_SUPPORT_FEATURE;
ml_tensors_data_h input, output;
assert (g_file_test (test_model, G_FILE_TEST_EXISTS));
*/
int utc_ml_single_get_input_info_p (void)
{
+ IS_SUPPORT_FEATURE;
ml_tensors_info_h ts_info;
assert (g_file_test (test_model, G_FILE_TEST_EXISTS));
*/
int utc_ml_single_get_input_info_n (void)
{
+ IS_SUPPORT_FEATURE;
assert (g_file_test (test_model, G_FILE_TEST_EXISTS));
status = ml_single_open (&single, test_model, NULL, NULL,
*/
int utc_ml_single_get_output_info_p (void)
{
+ IS_SUPPORT_FEATURE;
ml_tensors_info_h ts_info;
assert (g_file_test (test_model, G_FILE_TEST_EXISTS));
*/
int utc_ml_single_get_output_info_n (void)
{
+ IS_SUPPORT_FEATURE;
assert (g_file_test (test_model, G_FILE_TEST_EXISTS));
status = ml_single_open (&single, test_model, NULL, NULL,
*/
int utc_ml_single_set_timeout_p (void)
{
+ IS_SUPPORT_FEATURE;
assert (g_file_test (test_model, G_FILE_TEST_EXISTS));
status = ml_single_open (&single, test_model, NULL, NULL,
*/
int utc_ml_single_set_timeout_n (void)
{
+ IS_SUPPORT_FEATURE;
status = ml_single_set_timeout (NULL, 5);
assert_eq (status, ML_ERROR_INVALID_PARAMETER);