4 * Copyright (c) 2013 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Ankit Jogi <ankit.jogi@samsung.com>
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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.
24 #include <tapi_common.h>
25 #include <ITapiModem.h>
26 #include <TapiUtility.h>
28 #include "util_common.h"
31 enum async_state async_flag;
34 * tel_process_power_command
37 static void on_tel_process_power_command (TapiHandle *handle, int result,
38 void *data, void *user_data)
40 int *value = user_data;
42 async_flag = ASYNC_DONE;
45 if (*value != 0xC0FFEE) {
46 dts_fail("tel_process_power_command", "Callback userdata crashed");
50 static void utc_tel_process_power_command (void)
54 tapi_power_phone_cmd_t cmd;
60 async_flag = ASYNC_READY;
61 ret = tel_process_power_command (handle, cmd, on_tel_process_power_command, &value);
62 if (ret != TAPI_API_SUCCESS) {
63 dts_fail("tel_process_power_command", "Unexpected return");
69 if (async_flag != ASYNC_DONE) {
70 dts_fail("tel_process_power_command", "Callback not invoked");
73 dts_pass("tel_process_power_command");
76 static void utc_fail_tel_process_power_command (void)
80 ret = tel_process_power_command (NULL, 1, NULL, NULL);
81 if (ret == TAPI_API_SUCCESS) {
82 dts_fail("tel_process_power_command", "Parameter check failed");
85 ret = tel_process_power_command (handle, 3, NULL, NULL);
86 if (ret == TAPI_API_SUCCESS) {
87 dts_fail("tel_process_power_command", "Parameter check failed");
90 dts_pass("tel_process_power_command");
97 static void on_tel_set_flight_mode (TapiHandle *handle, int result,
98 void *data, void *user_data)
100 int *value = user_data;
102 async_flag = ASYNC_DONE;
105 if (*value != 0xC0FFEE) {
106 dts_fail("tel_set_flight_mode", "Callback userdata crashed");
110 static void utc_tel_set_flight_mode (void)
113 int value = 0xC0FFEE;
114 tapi_power_flight_mode_type_t mode;
120 async_flag = ASYNC_READY;
121 ret = tel_set_flight_mode (handle, mode, on_tel_set_flight_mode, &value);
122 if (ret != TAPI_API_SUCCESS) {
123 dts_fail("tel_set_flight_mode", "Unexpected return");
129 if (async_flag != ASYNC_DONE) {
130 dts_fail("tel_set_flight_mode", "Callback not invoked");
133 dts_pass("tel_set_flight_mode");
136 static void utc_fail_tel_set_flight_mode (void)
140 ret = tel_set_flight_mode (NULL, 1, NULL, NULL);
141 if (ret == TAPI_API_SUCCESS) {
142 dts_fail("tel_set_flight_mode", "Parameter check failed");
145 ret = tel_set_flight_mode (handle, 3, NULL, NULL);
146 if (ret == TAPI_API_SUCCESS) {
147 dts_fail("tel_set_flight_mode", "Parameter check failed");
150 dts_pass("tel_set_flight_mode");
154 * tel_get_misc_me_version_sync
157 static void utc_tel_get_misc_me_version_sync (void)
159 TelMiscVersionInformation *ret = NULL;
163 async_flag = ASYNC_READY;
164 ret = tel_get_misc_me_version_sync (handle);
166 dts_fail("tel_get_misc_me_version_sync", "Unexpected return");
169 dts_pass("tel_get_misc_me_version_sync");
172 static void utc_fail_tel_get_misc_me_version_sync (void)
174 TelMiscVersionInformation *ret = NULL;
176 ret = tel_get_misc_me_version_sync (NULL);
178 dts_fail("tel_get_misc_me_version_sync", "Unexpected return");
181 dts_pass("tel_get_misc_me_version_sync");
185 * tel_get_misc_me_sn_sync
188 static void utc_tel_get_misc_me_sn_sync (void)
194 ret = tel_get_misc_me_sn_sync (handle);
196 dts_fail("tel_get_misc_me_sn_sync", "Unexpected return");
199 dts_pass("tel_get_misc_me_sn_sync");
202 static void utc_fail_tel_get_misc_me_sn_sync (void)
206 ret = tel_get_misc_me_sn_sync (NULL);
208 dts_fail("tel_get_misc_me_sn_sync", "Unexpected return");
211 dts_pass("tel_get_misc_me_sn_sync");
215 * tel_get_misc_me_sn_sync
218 static void utc_tel_get_misc_me_imei_sync (void)
224 ret = tel_get_misc_me_imei_sync (handle);
226 dts_fail("tel_get_misc_me_imei_sync", "Unexpected return");
229 dts_pass("tel_get_misc_me_imei_sync");
232 static void utc_fail_tel_get_misc_me_imei_sync (void)
236 ret = tel_get_misc_me_imei_sync (NULL);
238 dts_fail("tel_get_misc_me_imei_sync", "Unexpected return");
241 dts_pass("tel_get_misc_me_imei_sync");
245 * tel_check_modem_power_status
248 static void utc_tel_check_modem_power_status (void)
255 ret = tel_check_modem_power_status (handle, &result);
256 if (ret != TAPI_API_SUCCESS) {
257 dts_fail("tel_check_modem_power_status", "Unexpected return");
260 dts_pass("tel_check_modem_power_status");
263 static void utc_fail_tel_check_modem_power_status (void)
268 ret = tel_check_modem_power_status (NULL, &result);
269 if (ret != TAPI_API_SUCCESS) {
270 dts_fail("tel_check_modem_power_status", "Unexpected return");
273 ret = tel_check_modem_power_status (handle, NULL);
274 if (ret != TAPI_API_SUCCESS) {
275 dts_fail("tel_check_modem_power_status", "Unexpected return");
278 dts_pass("tel_check_modem_power_status");
282 * tel_control_modem_dun_pin_ctrl
285 static void on_tel_control_modem_dun_pin_ctrl (TapiHandle *handle, int result,
286 void *data, void *user_data)
288 int *value = user_data;
290 async_flag = ASYNC_DONE;
293 if (*value != 0xC0FFEE) {
294 dts_fail("tel_control_modem_dun_pin_ctrl", "Callback userdata crashed");
298 static void utc_tel_control_modem_dun_pin_ctrl (void)
301 int value = 0xC0FFEE;
302 tapi_ps_btdun_pincontrol pincontrol;
304 pincontrol.signal = GPRS_SIGNAL_DCD;
305 pincontrol.status = GPRS_SIGNAL_STATUS_ON;
309 async_flag = ASYNC_READY;
310 ret = tel_control_modem_dun_pin_ctrl (handle, &pincontrol, on_tel_control_modem_dun_pin_ctrl, &value);
311 if (ret != TAPI_API_SUCCESS) {
312 dts_fail("tel_control_modem_dun_pin_ctrl", "Unexpected return");
318 if (async_flag != ASYNC_DONE) {
319 dts_fail("tel_control_modem_dun_pin_ctrl", "Callback not invoked");
322 dts_pass("tel_control_modem_dun_pin_ctrl");
325 static void utc_fail_tel_control_modem_dun_pin_ctrl (void)
329 ret = tel_control_modem_dun_pin_ctrl (NULL, NULL, NULL, NULL);
330 if (ret == TAPI_API_SUCCESS) {
331 dts_fail("tel_control_modem_dun_pin_ctrl", "Parameter check failed");
334 ret = tel_control_modem_dun_pin_ctrl (handle, NULL, NULL, NULL);
335 if (ret == TAPI_API_SUCCESS) {
336 dts_fail("tel_control_modem_dun_pin_ctrl", "Parameter check failed");
339 dts_pass("tel_control_modem_dun_pin_ctrl");
343 * Generate default TC for no-additional-parameter type API
346 DO(tel_get_flight_mode)
347 DO(tel_get_misc_me_version)
348 DO(tel_get_misc_me_sn)
349 DO(tel_get_misc_me_imei)
351 struct tet_testlist tet_testlist[] = {
353 { utc_tel_get_flight_mode, 1 },
354 { utc_fail_tel_get_flight_mode, 2 },
355 { utc_tel_get_misc_me_version, 1 },
356 { utc_fail_tel_get_misc_me_version, 2 },
357 { utc_tel_get_misc_me_sn, 1 },
358 { utc_fail_tel_get_misc_me_sn, 2 },
359 { utc_tel_get_misc_me_imei, 1 },
360 { utc_fail_tel_get_misc_me_imei, 2 },
362 { utc_tel_process_power_command, 1 },
363 { utc_fail_tel_process_power_command, 2 },
364 { utc_tel_set_flight_mode, 1 },
365 { utc_fail_tel_set_flight_mode, 2 },
366 { utc_tel_get_misc_me_version_sync, 1 },////
367 { utc_fail_tel_get_misc_me_version_sync, 2 },////
368 { utc_tel_get_misc_me_sn_sync, 1 },////
369 { utc_fail_tel_get_misc_me_sn_sync, 2 },////
370 { utc_tel_get_misc_me_imei_sync, 1 },/////////
371 { utc_fail_tel_get_misc_me_imei_sync, 2 },//////////
372 { utc_tel_check_modem_power_status, 1 },
373 { utc_fail_tel_check_modem_power_status, 2 },
374 { utc_tel_control_modem_dun_pin_ctrl, 1 },
375 { utc_fail_tel_control_modem_dun_pin_ctrl, 2 },
379 static void startup (void)
382 tet_printf ("\n TC start");
384 handle = tel_init (NULL);
387 static void cleanup (void)
392 tet_printf ("\n TC end");
395 void (*tet_startup) (void) = startup;
396 void (*tet_cleanup) (void) = cleanup;