Release version 1.8.3
[platform/core/appfw/app-core.git] / TC / unit / utc_ApplicationFW_appcore_init_func.c
1 /*
2  *  app-core
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Jayoun Lee <airjany@samsung.com>, Sewook Park <sewook7.park@samsung.com>, Jaeho Lee <jaeho81.lee@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21 #include <tet_api.h>
22 #include <appcore-common.h>
23
24 struct ui_ops {
25         void *data;
26         void (*cb_app)(int, void *, bundle *);
27 };
28
29
30 static void startup(void);
31 static void cleanup(void);
32
33 void (*tet_startup)(void) = startup;
34 void (*tet_cleanup)(void) = cleanup;
35
36 static void utc_ApplicationFW_appcore_init_func_01(void);
37 static void utc_ApplicationFW_appcore_init_func_02(void);
38
39 enum {
40         POSITIVE_TC_IDX = 0x01,
41         NEGATIVE_TC_IDX,
42 };
43
44 struct tet_testlist tet_testlist[] = {
45         { utc_ApplicationFW_appcore_init_func_01, POSITIVE_TC_IDX },
46         { utc_ApplicationFW_appcore_init_func_02, NEGATIVE_TC_IDX },
47         { NULL, 0},
48 };
49
50 static void startup(void)
51 {
52 }
53
54 static void cleanup(void)
55 {
56         appcore_exit();
57 }
58
59 static void ui_cb(int evt, void *data, bundle *b)
60 {
61 }
62
63 /**
64  * @brief Positive test case of appcore_init()
65  */
66 static void utc_ApplicationFW_appcore_init_func_01(void)
67 {
68         int r = 0;
69         int argc = 1;
70         char *argv[] = {
71                 "Testcase",
72                 NULL,
73         };
74         const struct ui_ops ops = {
75                 .cb_app = ui_cb,
76         };
77
78         r = appcore_init("Testcase", &ops, argc, argv);
79         if (r) {
80                 tet_infoline("appcore_init() failed in positive test case");
81                 tet_result(TET_FAIL);
82                 return;
83         }
84         tet_result(TET_PASS);
85 }
86
87 /**
88  * @brief Negative test case of ug_init appcore_init()
89  */
90 static void utc_ApplicationFW_appcore_init_func_02(void)
91 {
92         int r = 0;
93         int argc = 1;
94         char *argv[] = {
95                 "Testcase",
96                 NULL,
97         };
98         const struct ui_ops ops = {
99                 .cb_app = ui_cb,
100         };
101
102         r = appcore_init(NULL, &ops, argc, argv);
103         if (!r) {
104                 tet_infoline("appcore_init() failed in negative test case");
105                 tet_result(TET_FAIL);
106                 return;
107         }
108
109         r = appcore_init("Testcase", NULL, argc, argv);
110         if (!r) {
111                 tet_infoline("appcore_init() failed in negative test case");
112                 tet_result(TET_FAIL);
113                 return;
114         }
115
116         r = appcore_init("Testcase", &ops, -1, argv);
117         if (!r) {
118                 tet_infoline("appcore_init() failed in negative test case");
119                 tet_result(TET_FAIL);
120                 return;
121         }
122
123         r = appcore_init("Testcase", &ops, argc, NULL);
124         if (!r) {
125                 tet_infoline("appcore_init() failed in negative test case");
126                 tet_result(TET_FAIL);
127                 return;
128         }
129
130         tet_result(TET_PASS);
131 }