[ITC][nnstreamer][Non-ACR] Add TC for tensor_src_tizensensor 73/240873/3
authorYongjoo Ahn <yongjoo1.ahn@samsung.com>
Wed, 12 Aug 2020 08:47:58 +0000 (17:47 +0900)
committerYongjoo Ahn <yongjoo1.ahn@samsung.com>
Fri, 14 Aug 2020 00:01:53 +0000 (09:01 +0900)
- Add a TC to test the tensor_src_tizensensor element, which integrates Tizen sensor framework to NNStreamer tensor-source filter

Change-Id: I41434ec1e6f93da2b4914bf2f568fbbae2c2cc85
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
src/itc/nnstreamer/ITs-nnstreamer.c
src/itc/nnstreamer/tct-nnstreamer-native_mobile.h
src/itc/nnstreamer/tct-nnstreamer-native_tizeniot.h
src/itc/nnstreamer/tct-nnstreamer-native_wearable.h

index cbcd55766da4915e23b2f27ef2eb92f597e892ee..51e733b0a0e03fa7cd39061c639a0b997163e2c5 100755 (executable)
@@ -408,5 +408,56 @@ int ITc_nnstreamer_pipeline_ml_pipeline_valve_set_open_p(void)
        return 0;
 }
 
+/**
+* @testcase                    ITc_nnstreamer_pipeline_tizensensor_p
+* @since_tizen                 6.0
+* @author                              SR(yongjoo1.ahn)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 Test the tensor_src_tizensensor element which integrates Tizen sensor framework to NNStreamer tensor-source filter
+* @scenario                            Test pipeline with tensor_src_tizensensor element
+* @apicovered                  ml_pipline_construct, ml_pipeline_start, ml_pipeline_stop, ml_pipeline_destroy
+* @passcase                            When the pipeline is successfully launched or the accelerometer sensor is not supported.
+* @failcase                            If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: API to test tensor_src_tizensensor element
+//& type: auto
+int ITc_nnstreamer_pipeline_tizensensor_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       ml_pipeline_h hMlPipeline = NULL;
+       bool isAccelerometerAvailable = false;
+       char *pszPipeLine = "tensor_src_tizensensor type=accelerometer framerate=100/1 ! tensor_sink sync=true";
+
+       isAccelerometerAvailable = TCTCheckSystemInfoFeatureSupported("http://tizen.org/feature/sensor.accelerometer", API_NAMESPACE);
+
+       if (!isAccelerometerAvailable) {
+               /* Do not run this test if the accelerometer sensor is not supported  */
+               FPRINTF("[Line : %d][%s] sensor.accelerometer is NOT supported\\n", __LINE__, API_NAMESPACE);
+               dlog_print(DLOG_INFO, "NativeTCT", "[Line:%d][%s] sensor.accelerometer is NOT supported", __LINE__, API_NAMESPACE);
+               return 0;
+       }
+
+       nRet = ml_pipeline_construct (pszPipeLine, NULL, NULL, &hMlPipeline);
+       PRINT_RESULT(ML_ERROR_NONE, nRet, "ml_pipeline_construct", NnStreamerGetError(nRet));
+       CHECK_HANDLE(hMlPipeline, "ml_pipeline_construct");
+
+       nRet = ml_pipeline_start (hMlPipeline);
+       PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_pipeline_start", NnStreamerGetError (nRet), ml_pipeline_destroy (hMlPipeline));
+
+       sleep (1);
+
+       nRet = ml_pipeline_stop (hMlPipeline);
+       PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_pipeline_stop", NnStreamerGetError (nRet), ml_pipeline_destroy (hMlPipeline));
+
+       nRet = ml_pipeline_destroy (hMlPipeline);
+       PRINT_RESULT(ML_ERROR_NONE, nRet, "ml_pipeline_destroy", NnStreamerGetError(nRet));
+
+       return 0;
+}
+
 /** @} */
 /** @} */
index 253b466545cfd9709de6df0b10e1fe51298e3696..7794895a1dedb7d631a01f5c29aac82a3ec1f106 100755 (executable)
@@ -45,6 +45,7 @@ extern int ITc_nnstreamer_pipeline_ml_pipeline_switch_select_p (void);
 extern int ITc_nnstreamer_pipeline_ml_pipeline_switch_get_pad_list_p (void);
 extern int ITc_nnstreamer_pipeline_ml_pipeline_valve_get_release_handle_p (void);
 extern int ITc_nnstreamer_pipeline_ml_pipeline_valve_set_open_p (void);
+extern int ITc_nnstreamer_pipeline_tizensensor_p (void);
 extern int ITc_nnstreamer_tensors_ml_tensors_info_create_destroy_p (void);
 extern int ITc_nnstreamer_tensors_ml_tensors_info_clone_p (void);
 extern int ITc_nnstreamer_tensors_ml_tensors_info_validate_p (void);
@@ -87,6 +88,7 @@ testcase tc_array[] = {
 {"ITc_nnstreamer_pipeline_ml_pipeline_switch_get_pad_list_p", ITc_nnstreamer_pipeline_ml_pipeline_switch_get_pad_list_p, ITs_nnstreamer_pipeline_switch_startup, ITs_nnstreamer_pipeline_switch_cleanup},
 {"ITc_nnstreamer_pipeline_ml_pipeline_valve_get_release_handle_p", ITc_nnstreamer_pipeline_ml_pipeline_valve_get_release_handle_p, ITs_nnstreamer_pipeline_startup, ITs_nnstreamer_pipeline_cleanup},
 {"ITc_nnstreamer_pipeline_ml_pipeline_valve_set_open_p", ITc_nnstreamer_pipeline_ml_pipeline_valve_set_open_p, ITs_nnstreamer_pipeline_startup, ITs_nnstreamer_pipeline_cleanup},
+{"ITc_nnstreamer_pipeline_tizensensor_p", ITc_nnstreamer_pipeline_tizensensor_p, ITs_nnstreamer_pipeline_startup, ITs_nnstreamer_pipeline_cleanup},
 {"ITc_nnstreamer_tensors_ml_tensors_info_create_destroy_p", ITc_nnstreamer_tensors_ml_tensors_info_create_destroy_p, ITs_nnstreamer_tensors_startup, ITs_nnstreamer_tensors_cleanup},
 {"ITc_nnstreamer_tensors_ml_tensors_info_clone_p", ITc_nnstreamer_tensors_ml_tensors_info_clone_p, ITs_nnstreamer_tensors_startup, ITs_nnstreamer_tensors_cleanup},
 {"ITc_nnstreamer_tensors_ml_tensors_info_validate_p", ITc_nnstreamer_tensors_ml_tensors_info_validate_p, ITs_nnstreamer_tensors_startup, ITs_nnstreamer_tensors_cleanup},
index 1914a5e1be11b2dd647ecb5735d3c73c2630e86e..1324a4f2a490b62d1adc38347b36abbb60d50157 100755 (executable)
@@ -45,6 +45,7 @@ extern int ITc_nnstreamer_pipeline_ml_pipeline_switch_select_p (void);
 extern int ITc_nnstreamer_pipeline_ml_pipeline_switch_get_pad_list_p (void);
 extern int ITc_nnstreamer_pipeline_ml_pipeline_valve_get_release_handle_p (void);
 extern int ITc_nnstreamer_pipeline_ml_pipeline_valve_set_open_p (void);
+extern int ITc_nnstreamer_pipeline_tizensensor_p (void);
 extern int ITc_nnstreamer_tensors_ml_tensors_info_create_destroy_p (void);
 extern int ITc_nnstreamer_tensors_ml_tensors_info_clone_p (void);
 extern int ITc_nnstreamer_tensors_ml_tensors_info_validate_p (void);
@@ -87,6 +88,7 @@ testcase tc_array[] = {
 {"ITc_nnstreamer_pipeline_ml_pipeline_switch_get_pad_list_p", ITc_nnstreamer_pipeline_ml_pipeline_switch_get_pad_list_p, ITs_nnstreamer_pipeline_switch_startup, ITs_nnstreamer_pipeline_switch_cleanup},
 {"ITc_nnstreamer_pipeline_ml_pipeline_valve_get_release_handle_p", ITc_nnstreamer_pipeline_ml_pipeline_valve_get_release_handle_p, ITs_nnstreamer_pipeline_startup, ITs_nnstreamer_pipeline_cleanup},
 {"ITc_nnstreamer_pipeline_ml_pipeline_valve_set_open_p", ITc_nnstreamer_pipeline_ml_pipeline_valve_set_open_p, ITs_nnstreamer_pipeline_startup, ITs_nnstreamer_pipeline_cleanup},
+{"ITc_nnstreamer_pipeline_tizensensor_p", ITc_nnstreamer_pipeline_tizensensor_p, ITs_nnstreamer_pipeline_startup, ITs_nnstreamer_pipeline_cleanup},
 {"ITc_nnstreamer_tensors_ml_tensors_info_create_destroy_p", ITc_nnstreamer_tensors_ml_tensors_info_create_destroy_p, ITs_nnstreamer_tensors_startup, ITs_nnstreamer_tensors_cleanup},
 {"ITc_nnstreamer_tensors_ml_tensors_info_clone_p", ITc_nnstreamer_tensors_ml_tensors_info_clone_p, ITs_nnstreamer_tensors_startup, ITs_nnstreamer_tensors_cleanup},
 {"ITc_nnstreamer_tensors_ml_tensors_info_validate_p", ITc_nnstreamer_tensors_ml_tensors_info_validate_p, ITs_nnstreamer_tensors_startup, ITs_nnstreamer_tensors_cleanup},
index 1914a5e1be11b2dd647ecb5735d3c73c2630e86e..1324a4f2a490b62d1adc38347b36abbb60d50157 100755 (executable)
@@ -45,6 +45,7 @@ extern int ITc_nnstreamer_pipeline_ml_pipeline_switch_select_p (void);
 extern int ITc_nnstreamer_pipeline_ml_pipeline_switch_get_pad_list_p (void);
 extern int ITc_nnstreamer_pipeline_ml_pipeline_valve_get_release_handle_p (void);
 extern int ITc_nnstreamer_pipeline_ml_pipeline_valve_set_open_p (void);
+extern int ITc_nnstreamer_pipeline_tizensensor_p (void);
 extern int ITc_nnstreamer_tensors_ml_tensors_info_create_destroy_p (void);
 extern int ITc_nnstreamer_tensors_ml_tensors_info_clone_p (void);
 extern int ITc_nnstreamer_tensors_ml_tensors_info_validate_p (void);
@@ -87,6 +88,7 @@ testcase tc_array[] = {
 {"ITc_nnstreamer_pipeline_ml_pipeline_switch_get_pad_list_p", ITc_nnstreamer_pipeline_ml_pipeline_switch_get_pad_list_p, ITs_nnstreamer_pipeline_switch_startup, ITs_nnstreamer_pipeline_switch_cleanup},
 {"ITc_nnstreamer_pipeline_ml_pipeline_valve_get_release_handle_p", ITc_nnstreamer_pipeline_ml_pipeline_valve_get_release_handle_p, ITs_nnstreamer_pipeline_startup, ITs_nnstreamer_pipeline_cleanup},
 {"ITc_nnstreamer_pipeline_ml_pipeline_valve_set_open_p", ITc_nnstreamer_pipeline_ml_pipeline_valve_set_open_p, ITs_nnstreamer_pipeline_startup, ITs_nnstreamer_pipeline_cleanup},
+{"ITc_nnstreamer_pipeline_tizensensor_p", ITc_nnstreamer_pipeline_tizensensor_p, ITs_nnstreamer_pipeline_startup, ITs_nnstreamer_pipeline_cleanup},
 {"ITc_nnstreamer_tensors_ml_tensors_info_create_destroy_p", ITc_nnstreamer_tensors_ml_tensors_info_create_destroy_p, ITs_nnstreamer_tensors_startup, ITs_nnstreamer_tensors_cleanup},
 {"ITc_nnstreamer_tensors_ml_tensors_info_clone_p", ITc_nnstreamer_tensors_ml_tensors_info_clone_p, ITs_nnstreamer_tensors_startup, ITs_nnstreamer_tensors_cleanup},
 {"ITc_nnstreamer_tensors_ml_tensors_info_validate_p", ITc_nnstreamer_tensors_ml_tensors_info_validate_p, ITs_nnstreamer_tensors_startup, ITs_nnstreamer_tensors_cleanup},