summaryrefslogtreecommitdiff
path: root/TC/testcase/utc_media_camera_lifecycle.c
diff options
context:
space:
mode:
authorJeongmo Yang <jm80.yang@samsung.com>2012-08-21 19:29:36 +0900
committerJeongmo Yang <jm80.yang@samsung.com>2012-08-21 20:46:44 +0900
commit2357c630035983888d9b698579016fcf033a1917 (patch)
tree29c1ec1beca2acfb93fc0dd0545517da5556e35f /TC/testcase/utc_media_camera_lifecycle.c
parentca684cb8262fa8c57a4a0bc95f501d04d1804f05 (diff)
downloadcamera-master.tar.gz
camera-master.tar.bz2
camera-master.zip
Change-Id: Ic2e7bdadbaefd1e5dd222f8f9197e4bf9b6601ab
Diffstat (limited to 'TC/testcase/utc_media_camera_lifecycle.c')
-rwxr-xr-xTC/testcase/utc_media_camera_lifecycle.c351
1 files changed, 351 insertions, 0 deletions
diff --git a/TC/testcase/utc_media_camera_lifecycle.c b/TC/testcase/utc_media_camera_lifecycle.c
new file mode 100755
index 0000000..f2ee9a7
--- /dev/null
+++ b/TC/testcase/utc_media_camera_lifecycle.c
@@ -0,0 +1,351 @@
+/*
+* Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+
+#include <tet_api.h>
+#include <media/camera.h>
+#include <stdio.h>
+#include <glib.h>
+#include <pthread.h>
+
+
+#define MY_ASSERT( fun , test , msg ) \
+{\
+ if( !test ) \
+ dts_fail(fun , msg ); \
+}
+
+static GMainLoop *g_mainloop = NULL;
+static GThread *event_thread;
+
+
+
+static void startup(void);
+static void cleanup(void);
+
+void (*tet_startup)(void) = startup;
+void (*tet_cleanup)(void) = cleanup;
+
+static void utc_media_camera_create_negative(void);
+static void utc_media_camera_create_positive(void);
+
+static void utc_media_camera_destroy_negative(void);
+static void utc_media_camera_destroy_positive(void);
+
+static void utc_media_camera_start_preview_negative(void);
+static void utc_media_camera_start_preview_positive(void);
+
+static void utc_media_camera_stop_preview_negative(void);
+static void utc_media_camera_stop_preview_positive(void);
+
+static void utc_media_camera_start_capture_negative(void);
+static void utc_media_camera_start_capture_positive(void);
+
+static void utc_media_camera_get_state_negative(void);
+static void utc_media_camera_get_state_positive(void);
+
+static void utc_media_camera_start_focusing_negative(void);
+static void utc_media_camera_start_focusing_positive(void);
+
+static void utc_media_camera_cancel_focusing_negative(void);
+static void utc_media_camera_cancel_focusing_positive(void);
+
+struct tet_testlist tet_testlist[] = {
+
+ {utc_media_camera_create_negative , 1},
+ {utc_media_camera_create_positive , 2},
+ {utc_media_camera_destroy_negative , 3},
+ {utc_media_camera_destroy_positive , 4},
+ {utc_media_camera_start_preview_negative , 5},
+ {utc_media_camera_start_preview_positive , 6},
+ {utc_media_camera_stop_preview_negative , 7},
+ {utc_media_camera_stop_preview_positive , 8},
+ {utc_media_camera_get_state_negative , 9},
+ {utc_media_camera_get_state_positive , 10},
+ {utc_media_camera_start_focusing_negative ,11},
+ {utc_media_camera_start_focusing_positive , 12},
+ {utc_media_camera_cancel_focusing_negative , 13},
+ {utc_media_camera_cancel_focusing_positive , 14},
+ {utc_media_camera_start_capture_negative , 15},
+ {utc_media_camera_start_capture_positive , 16},
+
+ { NULL, 0 },
+};
+
+
+gpointer GmainThread(gpointer data){
+ g_mainloop = g_main_loop_new (NULL, 0);
+ g_main_loop_run (g_mainloop);
+
+ return NULL;
+}
+
+
+static void startup(void)
+{
+ if( !g_thread_supported() )
+ {
+ g_thread_init(NULL);
+ }
+
+ GError *gerr = NULL;
+ event_thread = g_thread_create(GmainThread, NULL, 1, &gerr);
+}
+
+static void cleanup(void)
+{
+ g_main_loop_quit (g_mainloop);
+ g_thread_join(event_thread);
+}
+
+static void utc_media_camera_create_negative(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+
+ int ret ;
+ ret = camera_create(CAMERA_DEVICE_CAMERA0, NULL);
+
+ MY_ASSERT(__func__ , ret != 0 , "NULL is not allowed");
+
+ dts_pass(__func__, "PASS");
+}
+static void utc_media_camera_create_positive(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+ int ret ;
+ camera_h camera;
+ ret = camera_create(CAMERA_DEVICE_CAMERA0, &camera);
+
+ MY_ASSERT(__func__ , ret == 0 , "create fail");
+
+ camera_destroy(camera);
+ dts_pass(__func__, "PASS");
+}
+
+static void utc_media_camera_destroy_negative(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+ int ret;
+ ret = camera_destroy(NULL);
+ MY_ASSERT(__func__ , ret != 0 , "NULL is not allowed");
+ dts_pass(__func__, "PASS");
+}
+static void utc_media_camera_destroy_positive(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+ int ret ;
+ camera_h camera;
+ ret = camera_create(CAMERA_DEVICE_CAMERA0, &camera);
+ MY_ASSERT(__func__ , ret == 0 , "camera create fail");
+ ret = camera_destroy(camera);
+ MY_ASSERT(__func__ , ret == 0 , "camera destroy is faild");
+
+ dts_pass(__func__, "PASS");
+}
+
+static void utc_media_camera_start_preview_negative(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+ int ret ;
+ ret = camera_start_preview(NULL);
+ dts_check_ne(__func__, ret, CAMERA_ERROR_NONE, "NULL is not allowed");
+}
+
+static void utc_media_camera_start_preview_positive(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+ int ret;
+ camera_h camera;
+ ret = camera_create(CAMERA_DEVICE_CAMERA0, &camera);
+ MY_ASSERT(__func__, ret == CAMERA_ERROR_NONE, "camera create is faild");
+ ret = camera_start_preview(camera);
+ MY_ASSERT(__func__, ret == CAMERA_ERROR_NONE, "camera start preview is faild");
+ camera_stop_preview(camera);
+ camera_destroy(camera);
+
+ dts_pass(__func__, "PASS");
+}
+
+static void utc_media_camera_stop_preview_negative(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+ int ret;
+ camera_h camera;
+ ret = camera_create(CAMERA_DEVICE_CAMERA0, &camera);
+ MY_ASSERT(__func__, ret == CAMERA_ERROR_NONE, "camera create is faild");
+
+ ret = camera_stop_preview(camera);
+ MY_ASSERT(__func__, ret != CAMERA_ERROR_NONE, "invalid state");
+
+ camera_destroy(camera);
+
+ dts_pass(__func__, "PASS");
+}
+
+static void utc_media_camera_stop_preview_positive(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+ int ret;
+ camera_h camera;
+ ret = camera_create(CAMERA_DEVICE_CAMERA0, &camera);
+ ret = camera_start_preview(camera);
+ printf("------------ camera_start_preview %x\n", ret);
+ MY_ASSERT(__func__ , ret == CAMERA_ERROR_NONE, "camera start preview is faild");
+
+ ret = camera_stop_preview(camera);
+ MY_ASSERT(__func__, ret == CAMERA_ERROR_NONE, "camera_stop_preview is faild");
+
+ camera_destroy(camera);
+ dts_pass(__func__, "PASS");
+}
+
+static void utc_media_camera_start_capture_negative(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+
+ int ret;
+ camera_h camera;
+ ret = camera_create(CAMERA_DEVICE_CAMERA0, &camera);
+ MY_ASSERT(__func__, ret == CAMERA_ERROR_NONE, "camera create is faild");
+ ret = camera_start_capture(camera, NULL, NULL, NULL);
+ MY_ASSERT(__func__, ret !=CAMERA_ERROR_NONE, "invalid state");
+ ret = camera_destroy(camera);
+ printf("---------------utc_media_camera_start_capture_negative-------------camera_destroy ret = %x\n", ret);
+ dts_pass(__func__, "PASS");
+}
+
+static void utc_media_camera_start_capture_positive(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+
+ int ret;
+ camera_h camera;
+ ret = camera_create(CAMERA_DEVICE_CAMERA0, &camera);
+ camera_set_display(camera, CAMERA_DISPLAY_TYPE_X11,0);
+ ret = camera_start_preview(camera);
+ printf("------------ camera_start_preview %x\n", ret);
+ MY_ASSERT(__func__, ret == CAMERA_ERROR_NONE, "camera start preview is faild");
+ ret = camera_start_capture(camera, NULL, NULL, NULL);
+ MY_ASSERT(__func__, ret==CAMERA_ERROR_NONE, "camera_start_capture is faild");
+ sleep(10);
+ camera_state_e state;
+ camera_get_state(camera, &state);
+ printf("----------camera state = %d\n", state);
+ ret = camera_start_preview(camera);
+ printf(" ---camera_start_preview %x\n", ret);
+ ret = camera_stop_preview(camera);
+ printf(" ---camera_stop_preview %x\n", ret);
+ ret = camera_destroy(camera);
+ printf(" ---camera_destroy %x\n", ret);
+ printf("---------------%s- end---------------------\n", __func__);
+
+ dts_pass(__func__, "PASS");
+}
+
+static void utc_media_camera_get_state_negative(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+ int ret;
+ camera_h camera;
+ ret = camera_create(CAMERA_DEVICE_CAMERA0, &camera);
+ ret = camera_get_state(camera, NULL);
+ MY_ASSERT(__func__, ret!=CAMERA_ERROR_NONE, "invalid state");
+ camera_destroy(camera);
+ dts_pass(__func__, "PASS");
+}
+
+static void utc_media_camera_get_state_positive(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+ int ret;
+ camera_h camera;
+ camera_state_e state;
+ ret = camera_create(CAMERA_DEVICE_CAMERA0, &camera);
+ ret = camera_get_state(camera, &state);
+ MY_ASSERT(__func__, ret==CAMERA_ERROR_NONE, "camera_get_state fail");
+ camera_destroy(camera);
+ dts_pass(__func__, "PASS");
+}
+
+static void utc_media_camera_start_focusing_negative(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+ int ret;
+ camera_h camera;
+ camera_create(CAMERA_DEVICE_CAMERA0, &camera);
+ ret = camera_start_focusing(camera, false);
+ MY_ASSERT(__func__, ret != CAMERA_ERROR_NONE, "invalid state");
+ printf("-------------camera_start_focusing %x\n", ret);
+ ret = camera_destroy(camera);
+ printf("-------------camera_destroy %x\n", ret);
+ dts_pass(__func__, "PASS");
+
+}
+
+static void utc_media_camera_start_focusing_positive(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+ int ret;
+ camera_h camera;
+ ret = camera_create(CAMERA_DEVICE_CAMERA0, &camera);
+ ret = camera_start_preview(camera);
+ printf("-------------------------- camera_start_preview ret = %x\n", ret);
+
+ MY_ASSERT(__func__, ret == CAMERA_ERROR_NONE, "create camera fail");
+ ret = camera_start_focusing(camera, false);
+ printf("-------------------------- camera_start_focusing ret = %x\n", ret);
+ MY_ASSERT(__func__, ret==CAMERA_ERROR_NONE, "fail focusing");
+ ret = camera_stop_preview(camera);
+ printf("--------- camera_stop_preview %x\n", ret);
+ ret = camera_destroy(camera);
+ printf("--------- camera_destroy %x\n", ret);
+ dts_pass(__func__, "PASS");
+}
+
+static void utc_media_camera_cancel_focusing_negative(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+ int ret;
+ camera_h camera;
+ ret = camera_create(CAMERA_DEVICE_CAMERA0, &camera);
+ MY_ASSERT(__func__, ret == CAMERA_ERROR_NONE, "create camera fail");
+ ret = camera_cancel_focusing(camera);
+ printf("---- camera_cancel_focusing %x\n", ret);
+ MY_ASSERT(__func__, ret != CAMERA_ERROR_NONE, "invalid state");
+ camera_destroy(camera);
+ dts_pass(__func__, "PASS");
+}
+
+static void utc_media_camera_cancel_focusing_positive(void)
+{
+ fprintf(stderr, "--------------- %s - START --------------\n", __func__);
+ int ret;
+ camera_h camera;
+ ret = camera_create(CAMERA_DEVICE_CAMERA0, &camera);
+ printf("------ camera_create %x\n", ret);
+ ret = camera_start_preview(camera);
+ printf("------ camera_start_preview %x\n", ret);
+ ret = camera_start_focusing(camera, false);
+ printf("------ camera_start_focusing %x\n", ret);
+ MY_ASSERT(__func__, ret == CAMERA_ERROR_NONE, "prepare fail");
+
+ ret = camera_cancel_focusing(camera);
+ MY_ASSERT(__func__, ret == CAMERA_ERROR_NONE, "cancel focusing fail");
+ camera_stop_preview(camera);
+ camera_destroy(camera);
+ dts_pass(__func__, "PASS");
+}