4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Venkatesha Sarpangala <sarpangala.v@samsung.com>, Jayoun Lee <airjany@samsung.com>,
7 * Sewook Park <sewook7.park@samsung.com>, Jaeho Lee <jaeho81.lee@samsung.com>
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
30 int callback(alarm_id_t alarm_id)
36 printf("Alarm[%d] has expired at %s\n", alarm_id, ctime(¤t_time));
42 void test_alarm_update_fail_case_normal()
46 alarm_info_t alarm_info;
54 localtime_r(¤t_time, ¤t_tm);
56 alarm_info.start.year = 0;
57 alarm_info.start.month = 0;
58 alarm_info.start.day = 0;
60 alarm_info.end.year = 0;
61 alarm_info.end.month = 0;
62 alarm_info.end.day = 0;
64 alarm_info.start.hour = 0;
65 alarm_info.start.min = 0;
67 alarm_info.mode.day_of_week = 0;
68 alarm_info.mode.repeat = 1;
70 alarm_info.activation = true;
71 alarm_info.auto_powerup = false;
73 result = alarm_create(&alarm_info, &alarm_id, &error_code);
74 // result must be false
77 result = alarm_update(alarm_id, &alarm_info, &error_code);
81 printf("Test Success: %s\n", __FUNCTION__);
82 alarm_delete(alarm_id, &error_code);
86 printf("Test Failed: %s: error(%d)\n", __FUNCTION__, error_code);
92 printf("Test Failed: %s\n", __FUNCTION__);
96 void test_alarm_update_fail_case_invalid_id()
100 alarm_info_t alarm_info;
108 localtime_r(¤t_time, ¤t_tm);
110 result = alarm_update(1234, &alarm_info, &error_code);
111 // result must be false
113 if ( result == false )
115 printf("Test Success: %s\n", __FUNCTION__);
119 printf("Test Failed: %s: error(%d)\n", __FUNCTION__, error_code);
127 void test_alarm_delete_fail_case_normal()
130 struct tm current_tm;
131 alarm_info_t alarm_info;
139 localtime_r(¤t_time, ¤t_tm);
141 alarm_info.start.year = 0;
142 alarm_info.start.month = 0;
143 alarm_info.start.day = 0;
145 alarm_info.end.year = 0;
146 alarm_info.end.month = 0;
147 alarm_info.end.day = 0;
149 alarm_info.start.hour = 0;
150 alarm_info.start.min = 0;
152 alarm_info.mode.day_of_week = 0;
153 alarm_info.mode.repeat = 1;
155 alarm_info.activation = true;
156 alarm_info.auto_powerup = false;
158 result = alarm_create(&alarm_info, &alarm_id, &error_code);
159 // result must be false
160 if ( result == true )
162 result = alarm_delete(alarm_id, &error_code);
164 if ( result == true )
166 printf("Test Success: %s\n", __FUNCTION__);
170 printf("Test Failed: %s: error(%d)\n", __FUNCTION__, error_code);
176 printf("Test Failed: %s\n", __FUNCTION__);
180 void test_alarm_delete_fail_case_invalid_id()
183 struct tm current_tm;
184 alarm_info_t alarm_info;
190 result = alarm_delete(1234, &error_code);
192 if ( result == false)
194 printf("Test Success: %s\n", __FUNCTION__);
198 printf("Test Failed: %s\n", __FUNCTION__);
206 void test_alarm_create_fail_case_start_start_1()
209 struct tm current_tm;
210 alarm_info_t alarm_info;
218 localtime_r(¤t_time, ¤t_tm);
220 alarm_info.start.year = 0;
221 alarm_info.start.month = 0;
222 alarm_info.start.day = 0;
224 alarm_info.end.year = 0;
225 alarm_info.end.month = 0;
226 alarm_info.end.day = 0;
228 alarm_info.start.hour = 24;
229 alarm_info.start.min = 1;
231 alarm_info.mode.day_of_week = 0;
232 alarm_info.mode.repeat = 1;
234 alarm_info.activation = true;
235 alarm_info.auto_powerup = false;
237 result = alarm_create(&alarm_info, &alarm_id, &error_code);
238 // result must be false
239 if ( result == false )
240 printf("Test Success: %s\n", __FUNCTION__);
243 printf("Test Failed: %s\n", __FUNCTION__);
244 alarm_delete(alarm_id, &error_code);
248 void test_alarm_create_fail_case_start_start_2()
251 struct tm current_tm;
252 alarm_info_t alarm_info;
260 localtime_r(¤t_time, ¤t_tm);
262 alarm_info.start.year = 0;
263 alarm_info.start.month = 0;
264 alarm_info.start.day = 0;
266 alarm_info.end.year = 0;
267 alarm_info.end.month = 0;
268 alarm_info.end.day = 0;
270 alarm_info.start.hour = -1;
271 alarm_info.start.min = 1;
273 alarm_info.mode.day_of_week = 0;
274 alarm_info.mode.repeat = 1;
276 alarm_info.activation = true;
277 alarm_info.auto_powerup = false;
279 result = alarm_create(&alarm_info, &alarm_id, &error_code);
280 // result must be false
281 if ( result == false )
282 printf("Test Success: %s\n", __FUNCTION__);
285 printf("Test Failed: %s\n", __FUNCTION__);
286 alarm_delete(alarm_id, &error_code);
290 void test_alarm_create_fail_case_start_start_3()
293 struct tm current_tm;
294 alarm_info_t alarm_info;
302 localtime_r(¤t_time, ¤t_tm);
304 alarm_info.start.year = 0;
305 alarm_info.start.month = 0;
306 alarm_info.start.day = 0;
308 alarm_info.end.year = 0;
309 alarm_info.end.month = 0;
310 alarm_info.end.day = 0;
312 alarm_info.start.hour = 0;
313 alarm_info.start.min = 60;
315 alarm_info.mode.day_of_week = 0;
316 alarm_info.mode.repeat = 1;
318 alarm_info.activation = true;
319 alarm_info.auto_powerup = false;
321 result = alarm_create(&alarm_info, &alarm_id, &error_code);
322 // result must be false
323 if ( result == false )
324 printf("Test Success: %s\n", __FUNCTION__);
327 printf("Test Failed: %s\n", __FUNCTION__);
328 alarm_delete(alarm_id, &error_code);
332 void test_alarm_create_fail_case_start_start_4()
335 struct tm current_tm;
336 alarm_info_t alarm_info;
344 localtime_r(¤t_time, ¤t_tm);
346 alarm_info.start.year = 0;
347 alarm_info.start.month = 0;
348 alarm_info.start.day = 0;
350 alarm_info.end.year = 0;
351 alarm_info.end.month = 0;
352 alarm_info.end.day = 0;
354 alarm_info.start.hour = 0;
355 alarm_info.start.min = -1;
357 alarm_info.mode.day_of_week = 0;
358 alarm_info.mode.repeat = 1;
360 alarm_info.activation = true;
361 alarm_info.auto_powerup = false;
363 result = alarm_create(&alarm_info, &alarm_id, &error_code);
364 // result must be false
365 if ( result == false )
366 printf("Test Success: %s\n", __FUNCTION__);
369 printf("Test Failed: %s\n", __FUNCTION__);
370 alarm_delete(alarm_id, &error_code);
376 void test_alarm_create_fail_case_start_day_1()
379 struct tm current_tm;
380 alarm_info_t alarm_info;
388 localtime_r(¤t_time, ¤t_tm);
390 alarm_info.start.year = 0;
391 alarm_info.start.month = 2;
392 alarm_info.start.day = 31;
394 alarm_info.end.year = 0;
395 alarm_info.end.month = 0;
396 alarm_info.end.day = 0;
398 alarm_info.start.hour = current_tm.tm_hour;
399 alarm_info.start.min = current_tm.tm_min+1;
401 alarm_info.mode.day_of_week = 0;
402 alarm_info.mode.repeat = 1;
404 alarm_info.activation = true;
405 alarm_info.auto_powerup = false;
407 result = alarm_create(&alarm_info, &alarm_id, &error_code);
408 // result must be false
409 if ( result == false )
410 printf("Test Success: %s\n", __FUNCTION__);
413 printf("Test Failed: %s\n", __FUNCTION__);
414 alarm_delete(alarm_id, &error_code);
418 void test_alarm_create_fail_case_start_day_2()
421 struct tm current_tm;
422 alarm_info_t alarm_info;
430 localtime_r(¤t_time, ¤t_tm);
432 alarm_info.start.year = 0;
433 alarm_info.start.month = 2;
434 alarm_info.start.day = 30;
436 alarm_info.end.year = 0;
437 alarm_info.end.month = 0;
438 alarm_info.end.day = 0;
440 alarm_info.start.hour = current_tm.tm_hour;
441 alarm_info.start.min = current_tm.tm_min+1;
443 alarm_info.mode.day_of_week = 0;
444 alarm_info.mode.repeat = 1;
446 alarm_info.activation = true;
447 alarm_info.auto_powerup = false;
449 result = alarm_create(&alarm_info, &alarm_id, &error_code);
450 // result must be false
451 if ( result == false )
452 printf("Test Success: %s\n", __FUNCTION__);
455 printf("Test Failed: %s\n", __FUNCTION__);
456 alarm_delete(alarm_id, &error_code);
460 void test_alarm_create_fail_case_start_day_3()
463 struct tm current_tm;
464 alarm_info_t alarm_info;
472 localtime_r(¤t_time, ¤t_tm);
474 alarm_info.start.year = 2000;
475 alarm_info.start.month = 2;
476 alarm_info.start.day = 29;
478 alarm_info.end.year = 0;
479 alarm_info.end.month = 0;
480 alarm_info.end.day = 0;
482 alarm_info.start.hour = current_tm.tm_hour;
483 alarm_info.start.min = current_tm.tm_min+1;
485 alarm_info.mode.day_of_week = 0;
486 alarm_info.mode.repeat = 1;
488 alarm_info.activation = true;
489 alarm_info.auto_powerup = false;
491 result = alarm_create(&alarm_info, &alarm_id, &error_code);
492 // result must be false
493 if ( result == false )
494 printf("Test Failed: %s\n", __FUNCTION__);
497 printf("Test Success: %s\n", __FUNCTION__);
498 alarm_delete(alarm_id, &error_code);
502 void test_alarm_create_fail_case_start_day_4()
505 struct tm current_tm;
506 alarm_info_t alarm_info;
514 localtime_r(¤t_time, ¤t_tm);
516 alarm_info.start.year = 1900;
517 alarm_info.start.month = 2;
518 alarm_info.start.day = 29;
520 alarm_info.end.year = 0;
521 alarm_info.end.month = 0;
522 alarm_info.end.day = 0;
524 alarm_info.start.hour = current_tm.tm_hour;
525 alarm_info.start.min = current_tm.tm_min+1;
527 alarm_info.mode.day_of_week = 0;
528 alarm_info.mode.repeat = 1;
530 alarm_info.activation = true;
531 alarm_info.auto_powerup = false;
533 result = alarm_create(&alarm_info, &alarm_id, &error_code);
534 // result must be false
535 if ( result == false )
537 printf("Test Success: %s\n", __FUNCTION__);
541 printf("Test Failed: %s\n", __FUNCTION__);
542 alarm_delete(alarm_id, &error_code);
546 void test_alarm_create_fail_case_start_day_5()
549 struct tm current_tm;
550 alarm_info_t alarm_info;
558 localtime_r(¤t_time, ¤t_tm);
560 alarm_info.start.year = 1900;
561 alarm_info.start.month = 1;
562 alarm_info.start.day = 32;
564 alarm_info.end.year = 0;
565 alarm_info.end.month = 0;
566 alarm_info.end.day = 0;
568 alarm_info.start.hour = current_tm.tm_hour;
569 alarm_info.start.min = current_tm.tm_min+1;
571 alarm_info.mode.day_of_week = 0;
572 alarm_info.mode.repeat = 1;
574 alarm_info.activation = true;
575 alarm_info.auto_powerup = false;
577 result = alarm_create(&alarm_info, &alarm_id, &error_code);
578 // result must be false
579 if ( result == false )
581 printf("Test Success: %s\n", __FUNCTION__);
585 printf("Test Failed: %s\n", __FUNCTION__);
586 alarm_delete(alarm_id, &error_code);
590 void test_alarm_create_fail_case_start_day_6()
593 struct tm current_tm;
594 alarm_info_t alarm_info;
602 localtime_r(¤t_time, ¤t_tm);
604 alarm_info.start.year = 1900;
605 alarm_info.start.month = 4;
606 alarm_info.start.day = 31;
608 alarm_info.end.year = 0;
609 alarm_info.end.month = 0;
610 alarm_info.end.day = 0;
612 alarm_info.start.hour = current_tm.tm_hour;
613 alarm_info.start.min = current_tm.tm_min+1;
615 alarm_info.mode.day_of_week = 0;
616 alarm_info.mode.repeat = 1;
618 alarm_info.activation = true;
619 alarm_info.auto_powerup = false;
621 result = alarm_create(&alarm_info, &alarm_id, &error_code);
622 // result must be false
623 if ( result == false )
625 printf("Test Success: %s\n", __FUNCTION__);
629 printf("Test Failed: %s\n", __FUNCTION__);
630 alarm_delete(alarm_id, &error_code);
636 void test_alarm_create_fail_case_start_month_1()
639 struct tm current_tm;
640 alarm_info_t alarm_info;
648 localtime_r(¤t_time, ¤t_tm);
650 alarm_info.start.year = 0;
651 alarm_info.start.month = -1;
652 alarm_info.start.day = 0;
654 alarm_info.end.year = 0;
655 alarm_info.end.month = 0;
656 alarm_info.end.day = 0;
658 alarm_info.start.hour = current_tm.tm_hour;
659 alarm_info.start.min = current_tm.tm_min+1;
661 alarm_info.mode.day_of_week = 0;
662 alarm_info.mode.repeat = 1;
664 alarm_info.activation = true;
665 alarm_info.auto_powerup = false;
667 result = alarm_create(&alarm_info, &alarm_id, &error_code);
668 // result must be false
669 if ( result == false )
670 printf("Test Success: %s\n", __FUNCTION__);
673 printf("Test Failed: %s\n", __FUNCTION__);
674 alarm_delete(alarm_id, &error_code);
678 void test_alarm_create_fail_case_start_month_2()
681 struct tm current_tm;
682 alarm_info_t alarm_info;
690 localtime_r(¤t_time, ¤t_tm);
692 alarm_info.start.year = 0;
693 alarm_info.start.month = 13;
694 alarm_info.start.day = 0;
696 alarm_info.end.year = 0;
697 alarm_info.end.month = 0;
698 alarm_info.end.day = 0;
700 alarm_info.start.hour = current_tm.tm_hour;
701 alarm_info.start.min = current_tm.tm_min+1;
703 alarm_info.mode.day_of_week = 0;
704 alarm_info.mode.repeat = 1;
706 alarm_info.activation = true;
707 alarm_info.auto_powerup = false;
709 result = alarm_create(&alarm_info, &alarm_id, &error_code);
710 // result must be false
711 if ( result == false )
712 printf("Test Success: %s\n", __FUNCTION__);
715 printf("Test Failed: %s\n", __FUNCTION__);
716 alarm_delete(alarm_id, &error_code);
720 // Invalid day of week
721 void test_alarm_create_fail_case_day_of_week()
724 struct tm current_tm;
725 alarm_info_t alarm_info;
733 localtime_r(¤t_time, ¤t_tm);
735 alarm_info.start.year = 0;
736 alarm_info.start.month = 0;
737 alarm_info.start.day = 0;
739 alarm_info.end.year = 0;
740 alarm_info.end.month = 0;
741 alarm_info.end.day = 0;
743 alarm_info.start.hour = current_tm.tm_hour;
744 alarm_info.start.min = current_tm.tm_min+1;
746 alarm_info.mode.day_of_week = ALARM_WDAY_SATURDAY << 1;
747 alarm_info.mode.repeat = ALARM_REPEAT_MODE_ANNUALLY;
749 alarm_info.activation = true;
750 alarm_info.auto_powerup = false;
752 result = alarm_create(&alarm_info, &alarm_id, &error_code);
754 // result must be false
755 if ( result == false )
756 printf("Test Success: %s\n", __FUNCTION__);
759 printf("Test Failed: %s\n", __FUNCTION__);
760 alarm_delete(alarm_id, &error_code);
765 /* Invalid repeat mode */
766 void test_alarm_create_fail_case_repeat_mode()
769 struct tm current_tm;
770 alarm_info_t alarm_info;
779 localtime_r(¤t_time, ¤t_tm);
781 alarm_info.start.year = 0;
782 alarm_info.start.month = 0;
783 alarm_info.start.day = 0;
785 alarm_info.end.year = 0;
786 alarm_info.end.month = 0;
787 alarm_info.end.day = 0;
789 alarm_info.start.hour = current_tm.tm_hour;
790 alarm_info.start.min = current_tm.tm_min+1;
792 alarm_info.mode.day_of_week = 0;
793 alarm_info.mode.repeat = ALARM_REPEAT_MODE_ANNUALLY + 1;
795 alarm_info.activation = true;
796 alarm_info.auto_powerup = false;
798 result = alarm_create(&alarm_info, &alarm_id, &error_code);
800 // result must be false
801 if ( result == false )
802 printf("Test Success: %s\n", __FUNCTION__);
805 printf("Test Failed: %s\n", __FUNCTION__);
806 alarm_delete(alarm_id, &error_code);
811 int main(int argc, char** argv)
815 mainloop = g_main_loop_new(NULL, FALSE);
816 noti_init(&error_code);
818 alarm_init(&error_code);
819 alarm_set_cb(callback, &error_code);
821 test_alarm_create_fail_case_repeat_mode();
822 test_alarm_create_fail_case_day_of_week();
823 test_alarm_create_fail_case_start_month_1();
824 test_alarm_create_fail_case_start_month_2();
825 test_alarm_create_fail_case_start_day_1();
826 test_alarm_create_fail_case_start_day_2();
827 test_alarm_create_fail_case_start_day_3();
828 test_alarm_create_fail_case_start_day_4();
829 test_alarm_create_fail_case_start_day_5();
830 test_alarm_create_fail_case_start_day_6();
831 test_alarm_create_fail_case_start_start_1();
832 test_alarm_create_fail_case_start_start_2();
833 test_alarm_create_fail_case_start_start_3();
834 test_alarm_create_fail_case_start_start_4();
835 test_alarm_delete_fail_case_normal();
836 test_alarm_delete_fail_case_invalid_id();
837 test_alarm_update_fail_case_normal();
838 test_alarm_update_fail_case_invalid_id();
840 // g_main_loop_run(mainloop);
842 noti_finish(&error_code);
843 alarm_fini(&error_code);