[libtdm] Move unit tests from ws-testcase and change test framework
[platform/core/uifw/libtdm.git] / ut / stubs / tdm_display_stubs.h
1 #ifndef _TDM_DISPLAY_STUBS_H
2 #define _TDM_DISPLAY_STUBS_H
3
4 #include "tdm_private.h"
5
6 static int DISPLAY_GET_FD_ERROR;
7 static int TDM_PP_CREATE_INTERNAL_ERROR;
8 static int OUTPUT_SET_PROPERTY_ERROR;
9 static int OUTPUT_GET_PROPERTY_ERROR;
10 static int OUTPUT_WAIT_VBLANK_ERROR;
11 static int OUTPUT_SET_VBLANK_HANDLER;
12 static int OUTPUT_COMMIT_ERROR;
13 static int OUTPUT_SET_COMMIT_HANDLER;
14 static int OUTPUT_SET_MODE_ERROR;
15 static int OUTPUT_SET_DPMS_ERROR;
16 static int OUTPUT_GET_DPMS_ERROR;
17 static int TDM_CAPTURE_CREATE_OUTPUT_INTENAL_ERROR;
18 static int LAYER_SET_PROPERTY_ERROR;
19 static int LAYER_GET_PROPERTY_ERROR;
20 static int LAYER_SET_INFO_ERROR;
21 static int LAYER_SET_BUFFER_ERROR;
22 static int LAYER_UNSET_BUFFER_ERROR;
23 static int LAYER_SET_VIDEO_POS_ERROR;
24 static int CAPTURE_CREATE_LAYER_INTERNAL_ERROR;
25 static int TDM_THREAD_HANDLE_ERROR;
26 static int TDM_EVENT_LOOP_DISPATCH_ERROR;
27
28 static tdm_error display_get_fd(tdm_backend_data * bdata, int *fd)
29 {
30         if (DISPLAY_GET_FD_ERROR) {
31                 return TDM_ERROR_OPERATION_FAILED;
32         }
33
34         return TDM_ERROR_NONE;
35
36 }
37
38 static tdm_private_pp *ut_tdm_pp_create_internal(tdm_private_display *
39                                                                                                  private_display,
40                                                                                                  tdm_error * error)
41 {
42         if (TDM_PP_CREATE_INTERNAL_ERROR) {
43                 if (error) {
44                         *error = TDM_ERROR_OPERATION_FAILED;
45                 }
46                 return NULL;
47         }
48
49         if (error) {
50                 *error = TDM_ERROR_NONE;
51         }
52         return NULL;
53 }
54
55 static tdm_error output_set_property(tdm_output * output, unsigned int id,
56                                                                          tdm_value value)
57 {
58         if (OUTPUT_SET_PROPERTY_ERROR) {
59                 return TDM_ERROR_OPERATION_FAILED;
60         }
61
62         return TDM_ERROR_NONE;
63 }
64
65 static tdm_error output_get_property(tdm_output * output, unsigned int id,
66                                                                          tdm_value * value)
67 {
68         if (OUTPUT_GET_PROPERTY_ERROR) {
69                 return TDM_ERROR_OPERATION_FAILED;
70         }
71
72         return TDM_ERROR_NONE;
73 }
74
75 static void ut_tdm_output_vblank_handler(tdm_output * output,
76                                                                                  unsigned int sequence,
77                                                                                  unsigned int tv_sec,
78                                                                                  unsigned int tv_usec, void *user_data)
79 {
80
81 }
82
83 static tdm_error output_wait_vblank(tdm_output * output, int interval, int sync,
84                                                                         void *user_data)
85 {
86         free(user_data);
87         if (OUTPUT_WAIT_VBLANK_ERROR) {
88                 return TDM_ERROR_OPERATION_FAILED;
89         }
90
91         return TDM_ERROR_NONE;
92 }
93
94 static tdm_error output_set_vblank_handler(tdm_output * output,
95                                                                                    tdm_output_vblank_handler func)
96 {
97         if (OUTPUT_SET_VBLANK_HANDLER) {
98                 return TDM_ERROR_OPERATION_FAILED;
99         }
100
101         return TDM_ERROR_NONE;
102 }
103
104 static tdm_error output_commit(tdm_output * output, int sync, void *user_data)
105 {
106         free(user_data);
107         if (OUTPUT_COMMIT_ERROR) {
108                 return TDM_ERROR_OPERATION_FAILED;
109         }
110
111         return TDM_ERROR_NONE;
112 }
113
114 static tdm_error output_set_commit_handler(tdm_output * output,
115                                                                         tdm_output_commit_handler func)
116 {
117         if (OUTPUT_SET_COMMIT_HANDLER) {
118                 return TDM_ERROR_OPERATION_FAILED;
119         }
120
121         return TDM_ERROR_NONE;
122 }
123
124 static tdm_error output_set_mode(tdm_output * output, const tdm_output_mode * mode)
125 {
126         if (OUTPUT_SET_MODE_ERROR) {
127                 return TDM_ERROR_OPERATION_FAILED;
128         }
129
130         return TDM_ERROR_NONE;
131 }
132
133 static tdm_error output_set_dpms(tdm_output * output, tdm_output_dpms dpms_value)
134 {
135         if (OUTPUT_SET_DPMS_ERROR) {
136                 return TDM_ERROR_OPERATION_FAILED;
137         }
138
139         return TDM_ERROR_NONE;
140 }
141
142 static tdm_error output_get_dpms(tdm_output * output, tdm_output_dpms dpms_value)
143 {
144         if (OUTPUT_GET_DPMS_ERROR) {
145                 return TDM_ERROR_OPERATION_FAILED;
146         }
147
148         return TDM_ERROR_NONE;
149 }
150
151 static tdm_private_capture *ut_tdm_capture_create_output_internal(tdm_private_output
152                                                                                                                 *private_output,
153                                                                                                                 tdm_error *error)
154 {
155         if (TDM_CAPTURE_CREATE_OUTPUT_INTENAL_ERROR) {
156                 *error = TDM_ERROR_OPERATION_FAILED;
157                 return NULL;
158         }
159
160         *error = TDM_ERROR_NONE;
161         return NULL;
162 }
163
164 static tdm_error layer_set_property(tdm_layer *layer, unsigned int id,
165                                                                 tdm_value value)
166 {
167         if (LAYER_SET_PROPERTY_ERROR) {
168                 return TDM_ERROR_OPERATION_FAILED;
169         }
170
171         return TDM_ERROR_NONE;
172 }
173
174 static tdm_error layer_get_property(tdm_layer *layer, unsigned int id,
175                                                                 tdm_value value)
176 {
177         if (LAYER_GET_PROPERTY_ERROR) {
178                 return TDM_ERROR_OPERATION_FAILED;
179         }
180
181         return TDM_ERROR_NONE;
182 }
183
184 static tdm_error layer_set_info(tdm_layer *layer, tdm_info_layer *info)
185 {
186         if (LAYER_SET_INFO_ERROR) {
187                 return TDM_ERROR_OPERATION_FAILED;
188         }
189
190         return TDM_ERROR_NONE;
191 }
192
193 tdm_error layer_set_buffer(tdm_layer *layer, tbm_surface_h buffer)
194 {
195         if (LAYER_SET_BUFFER_ERROR) {
196                 return TDM_ERROR_OPERATION_FAILED;
197         }
198
199         return TDM_ERROR_NONE;
200 }
201
202 tbm_surface_h ut_tdm_buffer_ref_backend(tbm_surface_h buffer)
203 {
204 }
205
206 tdm_error layer_unset_buffer(tdm_layer *layer)
207 {
208         if (LAYER_UNSET_BUFFER_ERROR) {
209                 return TDM_ERROR_OPERATION_FAILED;
210         }
211
212         return TDM_ERROR_NONE;
213 }
214
215 static int ut_tdm_thread_get_fd(tdm_private_loop *private_loop)
216 {
217         return 1;
218 }
219
220 static int ut_tdm_event_loop_get_fd(tdm_private_display *private_display)
221 {
222         return 1;
223 }
224
225 static tdm_error layer_set_video_pos(tdm_layer *layer, int zpos)
226 {
227         if (LAYER_SET_VIDEO_POS_ERROR) {
228                 return TDM_ERROR_OPERATION_FAILED;
229         }
230
231         return TDM_ERROR_NONE;
232 }
233
234 static tdm_private_capture *
235 ut_tdm_capture_create_layer_internal(tdm_private_layer *private_layer,
236                                                                   tdm_error *error)
237 {
238         if (CAPTURE_CREATE_LAYER_INTERNAL_ERROR) {
239                 *error = TDM_ERROR_OPERATION_FAILED;
240                 return NULL;
241         }
242
243         *error = TDM_ERROR_NONE;
244         return NULL;
245 }
246
247 static int ut_poll(struct pollfd *fds, nfds_t nfds, int timeout)
248 {
249         return 1;
250 }
251
252 static tdm_error ut_tdm_thread_handle_cb(tdm_private_loop *private_loop)
253 {
254         if (TDM_THREAD_HANDLE_ERROR) {
255                 return TDM_ERROR_OPERATION_FAILED;
256         }
257
258         return TDM_ERROR_NONE;
259 }
260 static tdm_error ut_tdm_event_loop_dispatch(tdm_private_display *private_display)
261 {
262         if (TDM_EVENT_LOOP_DISPATCH_ERROR) {
263                 return TDM_ERROR_OPERATION_FAILED;
264         }
265
266         return TDM_ERROR_NONE;
267 }
268
269 #endif  /* _TDM_DISPLAY_STUBS_H */