diff options
author | Jeongmo Yang <jm80.yang@samsung.com> | 2012-08-21 19:29:36 +0900 |
---|---|---|
committer | Jeongmo Yang <jm80.yang@samsung.com> | 2012-08-21 20:46:44 +0900 |
commit | 2357c630035983888d9b698579016fcf033a1917 (patch) | |
tree | 29c1ec1beca2acfb93fc0dd0545517da5556e35f /TC/testcase/utc_media_camera_lifecycle.c | |
parent | ca684cb8262fa8c57a4a0bc95f501d04d1804f05 (diff) | |
download | camera-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-x | TC/testcase/utc_media_camera_lifecycle.c | 351 |
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"); +} |