sound: Intialize theme id by default value only when it hasn't been initialized
[platform/core/system/libsvi.git] / tests / test.h
1 /*
2  * feedback-test
3  * Copyright (c) 2020 Samsung Electronics Co., Ltd.
4  *
5  * Licensed under the Apache License, Version 2.0 (the License);
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 #ifndef __TEST_H__
19 #define __TEST_H__
20
21 #include <stdio.h>
22 #include <feedback.h>
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28 #ifdef ENABLE_TEST_DLOG
29         #define LOG_TAG "FEEDBACK_TEST"
30     #include <dlog.h>
31     #define _D(fmt, args...)        SLOGD(fmt, ##args)
32     #define _W(fmt, args...)        SLOGW(fmt, ##args)
33     #define _E(fmt, args...)        SLOGE(fmt, ##args)
34 #else
35         #define _D(x, ...)
36     #define _W(x, ...)
37     #define _E(x, ...)
38 #endif
39
40 static inline char * err_to_str(int err)
41 {
42         switch (err) {
43         case FEEDBACK_ERROR_NONE: return "FEEDBACK_ERROR_NONE";
44         case FEEDBACK_ERROR_OPERATION_FAILED: return "FEEDBACK_ERROR_OPERATION_FAILED";
45         case FEEDBACK_ERROR_INVALID_PARAMETER: return "FEEDBACK_ERROR_INVALID_PARAMETER";
46         case FEEDBACK_ERROR_NOT_SUPPORTED: return "FEEDBACK_ERROR_NOT_SUPPORTED";
47         case FEEDBACK_ERROR_PERMISSION_DENIED: return "FEEDBACK_ERROR_PERMISSION_DENIED";
48         case FEEDBACK_ERROR_NOT_INITIALIZED: return "FEEDBACK_ERROR_NOT_INITIALIZED";
49         }
50         return "NULL";
51 }
52
53 #define INIT()  pass=0; fail=0;
54 #define REPORT_AND_RETURN()     \
55         {                                                                               \
56                 if (fail > 0)                                           \
57                         _E("FAILED. (TOTAL: %d, PASS: %d, FAIL: %d)", pass+fail, pass, fail);           \
58                 else                                                            \
59                         _D("SUCCESS. (TOTAL: %d, PASS: %d, FAIL: %d)", pass+fail, pass, fail);          \
60         }       \
61         return (fail > 0)? false: true
62
63 #define RESULT(ret, expected, log)                              \
64         {       \
65                 if (ret == expected) {                                  \
66                         pass++;                                                         \
67                 } else {                                                                        \
68                         _E("FAIL: %s (return: %s) %s", __func__, err_to_str(ret), log); \
69                         fail++;                                                         \
70                 }                                                                               \
71         }                                                                                       \
72
73
74 #define DELAY_TIME      100*1000  //100ms
75 #define ARRAY_SIZE(name) (sizeof(name)/sizeof(name[0]))
76
77 static struct _pattern {
78     feedback_pattern_e pattern;
79     const char *name;
80         const char *path;
81 } test_pattern[] = {
82         { FEEDBACK_PATTERN_TAP, "FEEDBACK_PATTERN_TAP", "/usr/share/feedback/sound/touch/touch.wav" },
83         { FEEDBACK_PATTERN_SIP, "FEEDBACK_PATTERN_SIP", "/usr/share/feedback/sound/touch/sip.wav" },
84         { FEEDBACK_PATTERN_KEY0, "FEEDBACK_PATTERN_KEY0", "/usr/share/feedback/sound/touch/key0.wav" },
85         { FEEDBACK_PATTERN_KEY1, "FEEDBACK_PATTERN_KEY1", "/usr/share/feedback/sound/touch/key1.wav" },
86         { FEEDBACK_PATTERN_KEY2, "FEEDBACK_PATTERN_KEY2", "/usr/share/feedback/sound/touch/key2.wav" },
87         { FEEDBACK_PATTERN_KEY3, "FEEDBACK_PATTERN_KEY3", "/usr/share/feedback/sound/touch/key3.wav" },
88         { FEEDBACK_PATTERN_KEY4, "FEEDBACK_PATTERN_KEY4", "/usr/share/feedback/sound/touch/key4.wav" },
89         { FEEDBACK_PATTERN_KEY5, "FEEDBACK_PATTERN_KEY5", "/usr/share/feedback/sound/touch/key5.wav" },
90         { FEEDBACK_PATTERN_KEY6, "FEEDBACK_PATTERN_KEY6", "/usr/share/feedback/sound/touch/key6.wav" },
91         { FEEDBACK_PATTERN_KEY7, "FEEDBACK_PATTERN_KEY7", "/usr/share/feedback/sound/touch/key7.wav" },
92         { FEEDBACK_PATTERN_KEY8, "FEEDBACK_PATTERN_KEY8", "/usr/share/feedback/sound/touch/key8.wav" },
93         { FEEDBACK_PATTERN_KEY9, "FEEDBACK_PATTERN_KEY9", "/usr/share/feedback/sound/touch/key9.wav" },
94         { FEEDBACK_PATTERN_KEY_STAR, "FEEDBACK_PATTERN_KEY_STAR", "/usr/share/feedback/sound/touch/keyasterisk.wav" },
95         { FEEDBACK_PATTERN_KEY_SHARP, "FEEDBACK_PATTERN_KEY_SHARP", "/usr/share/feedback/sound/touch/keysharp.wav" },
96         { FEEDBACK_PATTERN_KEY_BACK, "FEEDBACK_PATTERN_KEY_BACK", "/usr/share/feedback/sound/touch/touch.wav" },
97         { FEEDBACK_PATTERN_HOLD, "FEEDBACK_PATTERN_HOLD", NULL },
98         { FEEDBACK_PATTERN_HW_TAP, "FEEDBACK_PATTERN_HW_TAP", "/usr/share/feedback/sound/touch/touch.wav" },
99         { FEEDBACK_PATTERN_HW_HOLD, "FEEDBACK_PATTERN_HW_HOLD", NULL },
100         { FEEDBACK_PATTERN_MESSAGE, "FEEDBACK_PATTERN_MESSAGE", NULL },
101         { FEEDBACK_PATTERN_EMAIL, "FEEDBACK_PATTERN_EMAIL", NULL },
102         { FEEDBACK_PATTERN_WAKEUP, "FEEDBACK_PATTERN_WAKEUP", NULL },
103         { FEEDBACK_PATTERN_SCHEDULE, "FEEDBACK_PATTERN_SCHEDULE", NULL },
104         { FEEDBACK_PATTERN_TIMER, "FEEDBACK_PATTERN_TIMER", NULL },
105         { FEEDBACK_PATTERN_GENERAL, "FEEDBACK_PATTERN_GENERAL", NULL },
106         { FEEDBACK_PATTERN_POWERON, "FEEDBACK_PATTERN_POWERON", "/usr/share/feedback/sound/operation/operation.wav" },
107         { FEEDBACK_PATTERN_POWEROFF, "FEEDBACK_PATTERN_POWEROFF", NULL },
108         { FEEDBACK_PATTERN_CHARGERCONN, "FEEDBACK_PATTERN_CHARGERCONN", "/usr/share/feedback/sound/operation/operation.wav" },
109         { FEEDBACK_PATTERN_CHARGING_ERROR, "FEEDBACK_PATTERN_CHARGING_ERROR", NULL },
110         { FEEDBACK_PATTERN_FULLCHARGED, "FEEDBACK_PATTERN_FULLCHARGED", NULL },
111         { FEEDBACK_PATTERN_LOWBATT, "FEEDBACK_PATTERN_LOWBATT", "/usr/share/feedback/sound/operation/operation.wav" },
112         { FEEDBACK_PATTERN_LOCK, "FEEDBACK_PATTERN_LOCK", "/usr/share/feedback/sound/operation/operation.wav" },
113         { FEEDBACK_PATTERN_UNLOCK, "FEEDBACK_PATTERN_UNLOCK", "/usr/share/feedback/sound/operation/operation.wav" },
114         { FEEDBACK_PATTERN_VIBRATION_ON, "FEEDBACK_PATTERN_VIBRATION_ON", NULL },
115         { FEEDBACK_PATTERN_SILENT_OFF, "FEEDBACK_PATTERN_SILENT_OFF", "/usr/share/feedback/sound/operation/operation.wav" },
116         { FEEDBACK_PATTERN_BT_CONNECTED, "FEEDBACK_PATTERN_BT_CONNECTED", NULL },
117         { FEEDBACK_PATTERN_BT_DISCONNECTED, "FEEDBACK_PATTERN_BT_DISCONNECTED", NULL },
118         { FEEDBACK_PATTERN_LIST_REORDER, "FEEDBACK_PATTERN_LIST_REORDER", "/usr/share/feedback/sound/operation/operation.wav" },
119         { FEEDBACK_PATTERN_LIST_SLIDER, "FEEDBACK_PATTERN_LIST_SLIDER", "/usr/share/feedback/sound/operation/operation.wav" },
120         { FEEDBACK_PATTERN_VOLUME_KEY, "FEEDBACK_PATTERN_VOLUME_KEY", "/usr/share/feedback/sound/operation/operation.wav" },
121         { FEEDBACK_PATTERN_SYSTEM_SHORT, "FEEDBACK_PATTERN_SYSTEM_SHORT", NULL },
122         { FEEDBACK_PATTERN_SYSTEM_ERROR, "FEEDBACK_PATTERN_SYSTEM_ERROR", NULL },
123         { FEEDBACK_PATTERN_SYSTEM_LONG, "FEEDBACK_PATTERN_SYSTEM_LONG", NULL },
124         { FEEDBACK_PATTERN_SYSTEM_MID, "FEEDBACK_PATTERN_SYSTEM_MID", NULL },
125         { FEEDBACK_PATTERN_END_EFFECT, "FEEDBACK_PATTERN_END_EFFECT", NULL },
126         { FEEDBACK_PATTERN_GENERAL_STRONG_BUZZ, "FEEDBACK_PATTERN_GENERAL_STRONG_BUZZ", NULL },
127 };
128
129 /**
130  * @}
131  */
132
133
134 #ifdef __cplusplus
135 }
136 #endif
137
138
139 #endif // __TEST_H__