[UTC][machine-learning-service][ACR-1722] Add TCs for ml-service 48/281148/3
authorYongjoo Ahn <yongjoo1.ahn@samsung.com>
Tue, 13 Sep 2022 12:13:09 +0000 (21:13 +0900)
committerYongjoo Ahn <yongjoo1.ahn@samsung.com>
Mon, 19 Sep 2022 06:08:45 +0000 (15:08 +0900)
- Add TCs for newly added APIs by ACR-1722.
  - ml_service_launch_pipeline
  - ml_service_start_pipeline
  - ml_service_stop_pipeline
  - ml_service_destroy
  - ml_service_get_pipeline_state

Change-Id: I38b4ea389c7dc7c445b0624dfac4064e49a4be47
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
src/utc/nnstreamer/tct-nnstreamer-core_mobile.h
src/utc/nnstreamer/tct-nnstreamer-core_tizeniot.h
src/utc/nnstreamer/tct-nnstreamer-core_tv.h
src/utc/nnstreamer/tct-nnstreamer-core_wearable.h
src/utc/nnstreamer/utc-machine-learning-service.c

index a1472394efdf6506de95a16a19f0469ca18f382e..0c2de21ccbee41af72583aadb8c157b13febc6e4 100755 (executable)
@@ -347,6 +347,13 @@ extern int utc_ml_service_delete_pipeline_p1 (void);
 extern int utc_ml_service_delete_pipeline_n1 (void);
 extern int utc_ml_service_delete_pipeline_n2 (void);
 extern int utc_ml_service_delete_pipeline_n3 (void);
+extern int utc_ml_service_pipeline_p1 (void);
+extern int utc_ml_service_launch_pipeline_n1 (void);
+extern int utc_ml_service_launch_pipeline_n2 (void);
+extern int utc_ml_service_start_pipeline_n1 (void);
+extern int utc_ml_service_stop_pipeline_n1 (void);
+extern int utc_ml_service_get_pipeline_state_n1 (void);
+extern int utc_ml_service_destroy_n1 (void);
 
 testcase tc_array[] = {
   {"utc_ml_pipeline_construct_p", utc_ml_pipeline_construct_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
@@ -653,6 +660,15 @@ testcase tc_array[] = {
   {"utc_ml_service_delete_pipeline_n1", utc_ml_service_delete_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
   {"utc_ml_service_delete_pipeline_n2", utc_ml_service_delete_pipeline_n2, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
   {"utc_ml_service_delete_pipeline_n3", utc_ml_service_delete_pipeline_n3, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+
+  {"utc_ml_service_pipeline_p1", utc_ml_service_pipeline_p1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_launch_pipeline_n1", utc_ml_service_launch_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_launch_pipeline_n2", utc_ml_service_launch_pipeline_n2, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_start_pipeline_n1", utc_ml_service_start_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_stop_pipeline_n1", utc_ml_service_stop_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_get_pipeline_state_n1", utc_ml_service_get_pipeline_state_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_destroy_n1", utc_ml_service_destroy_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+
   {NULL, NULL}
 };
 
index a1472394efdf6506de95a16a19f0469ca18f382e..0c2de21ccbee41af72583aadb8c157b13febc6e4 100755 (executable)
@@ -347,6 +347,13 @@ extern int utc_ml_service_delete_pipeline_p1 (void);
 extern int utc_ml_service_delete_pipeline_n1 (void);
 extern int utc_ml_service_delete_pipeline_n2 (void);
 extern int utc_ml_service_delete_pipeline_n3 (void);
+extern int utc_ml_service_pipeline_p1 (void);
+extern int utc_ml_service_launch_pipeline_n1 (void);
+extern int utc_ml_service_launch_pipeline_n2 (void);
+extern int utc_ml_service_start_pipeline_n1 (void);
+extern int utc_ml_service_stop_pipeline_n1 (void);
+extern int utc_ml_service_get_pipeline_state_n1 (void);
+extern int utc_ml_service_destroy_n1 (void);
 
 testcase tc_array[] = {
   {"utc_ml_pipeline_construct_p", utc_ml_pipeline_construct_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
@@ -653,6 +660,15 @@ testcase tc_array[] = {
   {"utc_ml_service_delete_pipeline_n1", utc_ml_service_delete_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
   {"utc_ml_service_delete_pipeline_n2", utc_ml_service_delete_pipeline_n2, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
   {"utc_ml_service_delete_pipeline_n3", utc_ml_service_delete_pipeline_n3, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+
+  {"utc_ml_service_pipeline_p1", utc_ml_service_pipeline_p1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_launch_pipeline_n1", utc_ml_service_launch_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_launch_pipeline_n2", utc_ml_service_launch_pipeline_n2, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_start_pipeline_n1", utc_ml_service_start_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_stop_pipeline_n1", utc_ml_service_stop_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_get_pipeline_state_n1", utc_ml_service_get_pipeline_state_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_destroy_n1", utc_ml_service_destroy_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+
   {NULL, NULL}
 };
 
index 13460d264e0c884fb88359e8868f902823459d0e..55f58d92d3082218f3273c12eb732f58ba2a07a5 100755 (executable)
@@ -336,6 +336,13 @@ extern int utc_ml_service_delete_pipeline_p1 (void);
 extern int utc_ml_service_delete_pipeline_n1 (void);
 extern int utc_ml_service_delete_pipeline_n2 (void);
 extern int utc_ml_service_delete_pipeline_n3 (void);
+extern int utc_ml_service_pipeline_p1 (void);
+extern int utc_ml_service_launch_pipeline_n1 (void);
+extern int utc_ml_service_launch_pipeline_n2 (void);
+extern int utc_ml_service_start_pipeline_n1 (void);
+extern int utc_ml_service_stop_pipeline_n1 (void);
+extern int utc_ml_service_get_pipeline_state_n1 (void);
+extern int utc_ml_service_destroy_n1 (void);
 
 testcase tc_array[] = {
   {"utc_ml_pipeline_construct_p", utc_ml_pipeline_construct_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
@@ -633,6 +640,14 @@ testcase tc_array[] = {
   {"utc_ml_service_delete_pipeline_n1", utc_ml_service_delete_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
   {"utc_ml_service_delete_pipeline_n2", utc_ml_service_delete_pipeline_n2, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
   {"utc_ml_service_delete_pipeline_n3", utc_ml_service_delete_pipeline_n3, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_pipeline_p1", utc_ml_service_pipeline_p1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_launch_pipeline_n1", utc_ml_service_launch_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_launch_pipeline_n2", utc_ml_service_launch_pipeline_n2, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_start_pipeline_n1", utc_ml_service_start_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_stop_pipeline_n1", utc_ml_service_stop_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_get_pipeline_state_n1", utc_ml_service_get_pipeline_state_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_destroy_n1", utc_ml_service_destroy_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+
   {NULL, NULL}
 };
 
index a1472394efdf6506de95a16a19f0469ca18f382e..0c2de21ccbee41af72583aadb8c157b13febc6e4 100755 (executable)
@@ -347,6 +347,13 @@ extern int utc_ml_service_delete_pipeline_p1 (void);
 extern int utc_ml_service_delete_pipeline_n1 (void);
 extern int utc_ml_service_delete_pipeline_n2 (void);
 extern int utc_ml_service_delete_pipeline_n3 (void);
+extern int utc_ml_service_pipeline_p1 (void);
+extern int utc_ml_service_launch_pipeline_n1 (void);
+extern int utc_ml_service_launch_pipeline_n2 (void);
+extern int utc_ml_service_start_pipeline_n1 (void);
+extern int utc_ml_service_stop_pipeline_n1 (void);
+extern int utc_ml_service_get_pipeline_state_n1 (void);
+extern int utc_ml_service_destroy_n1 (void);
 
 testcase tc_array[] = {
   {"utc_ml_pipeline_construct_p", utc_ml_pipeline_construct_p, utc_nnstreamer_pipeline_startup, utc_nnstreamer_pipeline_cleanup},
@@ -653,6 +660,15 @@ testcase tc_array[] = {
   {"utc_ml_service_delete_pipeline_n1", utc_ml_service_delete_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
   {"utc_ml_service_delete_pipeline_n2", utc_ml_service_delete_pipeline_n2, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
   {"utc_ml_service_delete_pipeline_n3", utc_ml_service_delete_pipeline_n3, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+
+  {"utc_ml_service_pipeline_p1", utc_ml_service_pipeline_p1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_launch_pipeline_n1", utc_ml_service_launch_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_launch_pipeline_n2", utc_ml_service_launch_pipeline_n2, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_start_pipeline_n1", utc_ml_service_start_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_stop_pipeline_n1", utc_ml_service_stop_pipeline_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_get_pipeline_state_n1", utc_ml_service_get_pipeline_state_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+  {"utc_ml_service_destroy_n1", utc_ml_service_destroy_n1, utc_machine_learning_service_startup, utc_machine_learning_service_cleanup},
+
   {NULL, NULL}
 };
 
index e38c16cc3ce0318960b5364e9b8494f40960dae9..fc6cbbdbf9f25fe6b32e494e52ca87747a353182 100644 (file)
@@ -323,3 +323,145 @@ int utc_ml_service_delete_pipeline_n3 (void)
 
   return 0;
 }
+
+/**
+ * @testcase           utc_ml_service_pipeline_p1
+ * @since_tizen                7.0
+ * @description                Positive test case to use ml_service APIs.
+ */
+int utc_ml_service_pipeline_p1 (void)
+{
+  IS_SUPPORT_ML_SERVICE_FEATURE;
+  const gchar *key = "ServiceName";
+  const gchar *test_pipeline = "videotestsrc ! fakesink";
+  ml_service_h service_handle;
+  ml_pipeline_state_e state;
+
+  /* set simple pipeline */
+  status = ml_service_set_pipeline (key, test_pipeline);
+  assert_eq (ML_ERROR_NONE, status);
+
+  /* launch pipeline and check the state */
+  status = ml_service_launch_pipeline (key, &service_handle);
+  assert_eq (ML_ERROR_NONE, status);
+  status = ml_service_get_pipeline_state (service_handle, &state);
+  assert_eq (ML_ERROR_NONE, status);
+  assert_eq (ML_PIPELINE_STATE_PAUSED, state);
+
+  /* start the pipeline and check the state */
+  status = ml_service_start_pipeline (service_handle);
+  assert_eq (ML_ERROR_NONE, status);
+  status = ml_service_get_pipeline_state (service_handle, &state);
+  assert_eq (ML_ERROR_NONE, status);
+  assert_eq (ML_PIPELINE_STATE_PLAYING, state);
+
+  /* stop the pipeline and check the state */
+  status = ml_service_stop_pipeline (service_handle);
+  assert_eq (ML_ERROR_NONE, status);
+  status = ml_service_get_pipeline_state (service_handle, &state);
+  assert_eq (ML_ERROR_NONE, status);
+  assert_eq (ML_PIPELINE_STATE_PAUSED, state);
+
+  /* destroy the pipeline */
+  status = ml_service_destroy (service_handle);
+  assert_eq (ML_ERROR_NONE, status);
+
+  /* delete finished service */
+  status = ml_service_delete_pipeline (key);
+  assert_eq (ML_ERROR_NONE, status);
+
+  return 0;
+}
+
+/**
+ * @testcase           utc_ml_service_launch_pipeline_n1
+ * @since_tizen                7.0
+ * @description                Negative test case of using ml_service_launch_pipeline
+ */
+int utc_ml_service_launch_pipeline_n1 (void)
+{
+  IS_SUPPORT_ML_SERVICE_FEATURE;
+
+  /* try to launch pipeline with invalid param */
+  status = ml_service_launch_pipeline (NULL, NULL);
+  assert_eq (ML_ERROR_INVALID_PARAMETER, status);
+
+  return 0;
+}
+
+/**
+ * @testcase           utc_ml_service_launch_pipeline_n2
+ * @since_tizen                7.0
+ * @description                Negative test case of using ml_service_launch_pipeline
+ */
+int utc_ml_service_launch_pipeline_n2 (void)
+{
+  IS_SUPPORT_ML_SERVICE_FEATURE;
+
+  ml_service_h service_h;
+  status = ml_service_launch_pipeline (NULL, &service_h);
+  assert_eq (ML_ERROR_INVALID_PARAMETER, status);
+
+  return 0;
+}
+
+/**
+ * @testcase           utc_ml_service_start_pipeline_n1
+ * @since_tizen                7.0
+ * @description                Negative test case of using ml_service_start_pipeline
+ */
+int utc_ml_service_start_pipeline_n1 (void)
+{
+  IS_SUPPORT_ML_SERVICE_FEATURE;
+
+  status = ml_service_start_pipeline (NULL);
+  assert_eq (ML_ERROR_INVALID_PARAMETER, status);
+
+  return 0;
+}
+
+/**
+ * @testcase           utc_ml_service_stop_pipeline_n1
+ * @since_tizen                7.0
+ * @description                Negative test case of using ml_service_stop_pipeline
+ */
+int utc_ml_service_stop_pipeline_n1 (void)
+{
+  IS_SUPPORT_ML_SERVICE_FEATURE;
+
+  status = ml_service_stop_pipeline (NULL);
+  assert_eq (ML_ERROR_INVALID_PARAMETER, status);
+
+  return 0;
+}
+
+/**
+ * @testcase           utc_ml_service_get_pipeline_state_n1
+ * @since_tizen                7.0
+ * @description                Negative test case of using ml_service_get_pipeline_state
+ */
+int utc_ml_service_get_pipeline_state_n1 (void)
+{
+  IS_SUPPORT_ML_SERVICE_FEATURE;
+
+  status = ml_service_get_pipeline_state (NULL, NULL);
+  assert_eq (ML_ERROR_INVALID_PARAMETER, status);
+
+
+  return 0;
+}
+
+/**
+ * @testcase           utc_ml_service_destroy_n1
+ * @since_tizen                7.0
+ * @description                Negative test case of using ml_service_destroy
+ */
+int utc_ml_service_destroy_n1 (void)
+{
+  IS_SUPPORT_ML_SERVICE_FEATURE;
+
+  status = ml_service_destroy (NULL);
+  assert_eq (ML_ERROR_INVALID_PARAMETER, status);
+
+  return 0;
+}