3 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * PROPRIETARY/CONFIDENTIAL
6 * This software is the confidential and proprietary information of SAMSUNG
7 * ELECTRONICS ("Confidential Information"). You agree and acknowledge that
8 * this software is owned by Samsung and you shall not disclose such
9 * Confidential Information and shall use it only in accordance with the terms
10 * of the license agreement you entered into with SAMSUNG ELECTRONICS. SAMSUNG
11 * make no representations or warranties about the suitability of the software,
12 * either express or implied, including but not limited to the implied
13 * warranties of merchantability, fitness for a particular purpose, or
14 * non-infringement. SAMSUNG shall not be liable for any damages suffered by
15 * licensee arising out of or related to this software.
20 #include <dd-deviced-managed.h>
22 #define API_NAME_DEVICED_GET_PID "deviced_get_pid"
23 #define API_NAME_DEVICED_SET_DATETIME "deviced_set_datetime"
24 #define API_NAME_DEVICED_REQUEST_MOUNT_MMC "deviced_request_mount_mmc"
25 #define API_NAME_DEVICED_REQUEST_UNMOUNT_MMC "deviced_request_unmount_mmc"
26 #define API_NAME_DEVICED_REQUEST_FORMAT_MMC "deviced_request_format_mmc"
27 #define API_NAME_DEVICED_FORMAT_MMC "deviced_format_mmc"
29 static void startup(void);
30 static void cleanup(void);
32 void (*tet_startup)(void) = startup;
33 void (*tet_cleanup)(void) = cleanup;
36 static void utc_system_deviced_deviced_get_pid_p(void);
37 static void utc_system_deviced_deviced_get_pid_n(void);
38 static void utc_system_deviced_deviced_set_datetime_n(void);
39 static void utc_system_deviced_deviced_set_datetime_p(void);
40 static void utc_system_deviced_deviced_request_mount_mmc_p_1(void);
41 static void utc_system_deviced_deviced_request_mount_mmc_p_2(void);
42 static void utc_system_deviced_deviced_request_mount_mmc_p_3(void);
43 static void utc_system_deviced_deviced_request_unmount_mmc_p_1(void);
44 static void utc_system_deviced_deviced_request_unmount_mmc_p_2(void);
45 static void utc_system_deviced_deviced_request_unmount_mmc_p_3(void);
46 static void utc_system_deviced_deviced_request_unmount_mmc_p_4(void);
47 static void utc_system_deviced_deviced_request_unmount_mmc_n(void);
48 static void utc_system_deviced_deviced_request_format_mmc_p_1(void);
49 static void utc_system_deviced_deviced_request_format_mmc_p_2(void);
50 static void utc_system_deviced_deviced_request_format_mmc_p_3(void);
51 static void utc_system_deviced_deviced_format_mmc_p_1(void);
52 static void utc_system_deviced_deviced_format_mmc_p_2(void);
53 static void utc_system_deviced_deviced_format_mmc_p_3(void);
54 static void utc_system_deviced_deviced_format_mmc_p_4(void);
55 static void utc_system_deviced_deviced_format_mmc_n(void);
58 POSITIVE_TC_IDX = 0x01,
62 struct tet_testlist tet_testlist[] = {
63 /* The following TCs are for root application */
64 // { utc_system_deviced_deviced_get_pid_p, POSITIVE_TC_IDX },
65 // { utc_system_deviced_deviced_get_pid_n, NEGATIVE_TC_IDX },
66 { utc_system_deviced_deviced_set_datetime_n, NEGATIVE_TC_IDX },
67 { utc_system_deviced_deviced_set_datetime_p, POSITIVE_TC_IDX },
68 { utc_system_deviced_deviced_request_mount_mmc_p_1, POSITIVE_TC_IDX },
69 { utc_system_deviced_deviced_request_mount_mmc_p_2, POSITIVE_TC_IDX },
70 { utc_system_deviced_deviced_request_mount_mmc_p_3, POSITIVE_TC_IDX },
71 { utc_system_deviced_deviced_request_unmount_mmc_p_1, POSITIVE_TC_IDX },
72 { utc_system_deviced_deviced_request_unmount_mmc_p_2, POSITIVE_TC_IDX },
73 { utc_system_deviced_deviced_request_unmount_mmc_p_3, POSITIVE_TC_IDX },
74 { utc_system_deviced_deviced_request_unmount_mmc_p_4, POSITIVE_TC_IDX },
75 { utc_system_deviced_deviced_request_unmount_mmc_n, NEGATIVE_TC_IDX },
76 { utc_system_deviced_deviced_request_format_mmc_p_1, POSITIVE_TC_IDX },
77 { utc_system_deviced_deviced_request_format_mmc_p_2, POSITIVE_TC_IDX },
78 { utc_system_deviced_deviced_request_format_mmc_p_3, POSITIVE_TC_IDX },
79 { utc_system_deviced_deviced_format_mmc_p_1, POSITIVE_TC_IDX },
80 { utc_system_deviced_deviced_format_mmc_p_2, POSITIVE_TC_IDX },
81 { utc_system_deviced_deviced_format_mmc_p_3, POSITIVE_TC_IDX },
82 { utc_system_deviced_deviced_format_mmc_p_4, POSITIVE_TC_IDX },
83 { utc_system_deviced_deviced_format_mmc_n, NEGATIVE_TC_IDX },
87 static void startup(void)
91 static void cleanup(void)
96 * @brief Positive test case of deviced_get_pid()
98 static void utc_system_deviced_deviced_get_pid_p(void)
102 ret = deviced_get_pid("/usb/bin/deviced");
103 dts_check_ge(API_NAME_DEVICED_GET_PID, ret, 0);
107 * @brief Negative test case of deviced_get_pid()
109 static void utc_system_deviced_deviced_get_pid_n(void)
113 ret = deviced_get_pid(NULL);
114 dts_check_lt(API_NAME_DEVICED_GET_PID, ret, 0);
118 * @brief Negative test case of deviced_set_datetime()
120 static void utc_system_deviced_deviced_set_datetime_n(void)
124 ret = deviced_set_datetime(-1);
125 dts_check_lt(API_NAME_DEVICED_SET_DATETIME, ret, 0);
129 * @brief Positive test case of deviced_set_datetime()
131 static void utc_system_deviced_deviced_set_datetime_p(void)
138 ret = deviced_set_datetime(now);
139 dts_check_ge(API_NAME_DEVICED_SET_DATETIME, ret, 0);
142 static void mount_cb(int result, void *data)
144 dts_message(API_NAME_DEVICED_REQUEST_MOUNT_MMC,
145 "mount callback result : %d", result);
149 * @brief Positive test case of deviced_request_mount_mmc()
151 static void utc_system_deviced_deviced_request_mount_mmc_p_1(void)
154 struct mmc_contents data = {.mmc_cb = mount_cb, .user_data = NULL};
156 dts_message(API_NAME_DEVICED_REQUEST_MOUNT_MMC,
157 "This testcase is only valid when mmc is inserted");
159 ret = deviced_request_mount_mmc(&data);
160 dts_check_eq(API_NAME_DEVICED_REQUEST_MOUNT_MMC, ret, 0);
166 * @brief Positive test case of deviced_request_mount_mmc()
168 static void utc_system_deviced_deviced_request_mount_mmc_p_2(void)
171 struct mmc_contents data = {.mmc_cb = NULL, .user_data = NULL};
173 dts_message(API_NAME_DEVICED_REQUEST_MOUNT_MMC,
174 "This testcase is only valid when mmc is inserted");
176 ret = deviced_request_mount_mmc(&data);
177 dts_check_eq(API_NAME_DEVICED_REQUEST_MOUNT_MMC, ret, 0);
183 * @brief Positive test case of deviced_request_mount_mmc()
185 static void utc_system_deviced_deviced_request_mount_mmc_p_3(void)
189 dts_message(API_NAME_DEVICED_REQUEST_MOUNT_MMC,
190 "This testcase is only valid when mmc is inserted");
192 ret = deviced_request_mount_mmc(NULL);
193 dts_check_eq(API_NAME_DEVICED_REQUEST_MOUNT_MMC, ret, 0);
198 static void unmount_cb(int result, void *data)
200 dts_message(API_NAME_DEVICED_REQUEST_UNMOUNT_MMC,
201 "unmount callback result : %d", result);
205 * @brief Positive test case of deviced_request_unmount_mmc()
207 static void utc_system_deviced_deviced_request_unmount_mmc_p_1(void)
210 struct mmc_contents data = {.mmc_cb = unmount_cb, .user_data = NULL};
212 dts_message(API_NAME_DEVICED_REQUEST_UNMOUNT_MMC,
213 "This testcase is only valid when mmc is inserted");
215 ret = deviced_request_unmount_mmc(&data, 0);
216 dts_check_eq(API_NAME_DEVICED_REQUEST_UNMOUNT_MMC, ret, 0);
222 * @brief Positive test case of deviced_request_unmount_mmc()
224 static void utc_system_deviced_deviced_request_unmount_mmc_p_2(void)
227 struct mmc_contents data = {.mmc_cb = unmount_cb, .user_data = NULL};
229 dts_message(API_NAME_DEVICED_REQUEST_UNMOUNT_MMC,
230 "This testcase is only valid when mmc is inserted");
232 ret = deviced_request_unmount_mmc(&data, 1);
233 dts_check_eq(API_NAME_DEVICED_REQUEST_UNMOUNT_MMC, ret, 0);
239 * @brief Positive test case of deviced_request_unmount_mmc()
241 static void utc_system_deviced_deviced_request_unmount_mmc_p_3(void)
244 struct mmc_contents data = {.mmc_cb = NULL, .user_data = NULL};
246 dts_message(API_NAME_DEVICED_REQUEST_UNMOUNT_MMC,
247 "This testcase is only valid when mmc is inserted");
249 ret = deviced_request_unmount_mmc(&data, 1);
250 dts_check_eq(API_NAME_DEVICED_REQUEST_UNMOUNT_MMC, ret, 0);
256 * @brief Positive test case of deviced_request_unmount_mmc()
258 static void utc_system_deviced_deviced_request_unmount_mmc_p_4(void)
262 dts_message(API_NAME_DEVICED_REQUEST_UNMOUNT_MMC,
263 "This testcase is only valid when mmc is inserted");
265 ret = deviced_request_unmount_mmc(NULL, 0);
266 dts_check_eq(API_NAME_DEVICED_REQUEST_UNMOUNT_MMC, ret, 0);
272 * @brief Negative test case of deviced_request_unmount_mmc()
274 static void utc_system_deviced_deviced_request_unmount_mmc_n(void)
277 struct mmc_contents data = {.mmc_cb = unmount_cb, .user_data = NULL};
279 dts_message(API_NAME_DEVICED_REQUEST_UNMOUNT_MMC,
280 "This testcase is only valid when mmc is inserted");
282 ret = deviced_request_unmount_mmc(&data, -1);
283 dts_check_ne(API_NAME_DEVICED_REQUEST_UNMOUNT_MMC, ret, 0);
286 static void format_cb(int result, void *data)
288 dts_message(API_NAME_DEVICED_REQUEST_FORMAT_MMC,
289 "format callback result : %d", result);
293 * @brief Positive test case of deviced_request_format_mmc()
295 static void utc_system_deviced_deviced_request_format_mmc_p_1(void)
298 struct mmc_contents data = {.mmc_cb = format_cb, .user_data = NULL};
300 dts_message(API_NAME_DEVICED_REQUEST_FORMAT_MMC,
301 "This testcase is only valid when mmc is inserted");
303 ret = deviced_request_format_mmc(&data);
304 dts_check_eq(API_NAME_DEVICED_REQUEST_FORMAT_MMC, ret, 0);
310 * @brief Positive test case of deviced_request_format_mmc()
312 static void utc_system_deviced_deviced_request_format_mmc_p_2(void)
315 struct mmc_contents data = {.mmc_cb = NULL, .user_data = NULL};
317 dts_message(API_NAME_DEVICED_REQUEST_FORMAT_MMC,
318 "This testcase is only valid when mmc is inserted");
320 ret = deviced_request_format_mmc(&data);
321 dts_check_eq(API_NAME_DEVICED_REQUEST_FORMAT_MMC, ret, 0);
327 * @brief Positive test case of deviced_request_format_mmc()
329 static void utc_system_deviced_deviced_request_format_mmc_p_3(void)
333 dts_message(API_NAME_DEVICED_REQUEST_FORMAT_MMC,
334 "This testcase is only valid when mmc is inserted");
336 ret = deviced_request_format_mmc(NULL);
337 dts_check_eq(API_NAME_DEVICED_REQUEST_FORMAT_MMC, ret, 0);
343 * @brief Positive test case of deviced_format_mmc()
345 static void utc_system_deviced_deviced_format_mmc_p_1(void)
348 struct mmc_contents data = {.mmc_cb = format_cb, .user_data = NULL};
350 dts_message(API_NAME_DEVICED_REQUEST_FORMAT_MMC,
351 "This testcase is only valid when mmc is inserted");
353 ret = deviced_format_mmc(&data, 0);
354 dts_check_eq(API_NAME_DEVICED_FORMAT_MMC, ret, 0);
360 * @brief Positive test case of deviced_format_mmc()
362 static void utc_system_deviced_deviced_format_mmc_p_2(void)
365 struct mmc_contents data = {.mmc_cb = format_cb, .user_data = NULL};
367 dts_message(API_NAME_DEVICED_REQUEST_FORMAT_MMC,
368 "This testcase is only valid when mmc is inserted");
370 ret = deviced_format_mmc(&data, 1);
371 dts_check_eq(API_NAME_DEVICED_FORMAT_MMC, ret, 0);
377 * @brief Positive test case of deviced_format_mmc()
379 static void utc_system_deviced_deviced_format_mmc_p_3(void)
382 struct mmc_contents data = {.mmc_cb = NULL, .user_data = NULL};
384 dts_message(API_NAME_DEVICED_REQUEST_FORMAT_MMC,
385 "This testcase is only valid when mmc is inserted");
387 ret = deviced_format_mmc(&data, 1);
388 dts_check_eq(API_NAME_DEVICED_FORMAT_MMC, ret, 0);
394 * @brief Positive test case of deviced_format_mmc()
396 static void utc_system_deviced_deviced_format_mmc_p_4(void)
400 dts_message(API_NAME_DEVICED_REQUEST_FORMAT_MMC,
401 "This testcase is only valid when mmc is inserted");
403 ret = deviced_format_mmc(NULL, 0);
404 dts_check_eq(API_NAME_DEVICED_FORMAT_MMC, ret, 0);
410 * @brief Negative test case of deviced_format_mmc()
412 static void utc_system_deviced_deviced_format_mmc_n(void)
415 struct mmc_contents data = {.mmc_cb = format_cb, .user_data = NULL};
417 dts_message(API_NAME_DEVICED_REQUEST_FORMAT_MMC,
418 "This testcase is only valid when mmc is inserted");
420 ret = deviced_format_mmc(&data, -1);
421 dts_check_ne(API_NAME_DEVICED_FORMAT_MMC, ret, 0);