1 # cmake <http://www.cmake.org> test file for Gammu
2 # Copyright (c) 2007 - 2010 Michal Cihar
3 # vim: expandtab sw=4 ts=4 sts=4 ft=cmake:
5 include(SetupDummyPhone)
7 file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/.gammu-batch" "
14 # Basic functionality tests
16 add_test(gammu-help "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" help)
17 set_tests_properties(gammu-help PROPERTIES
18 PASS_REGULAR_EXPRESSION "${GAMMU_VERSION}"
20 add_test(gammu-features "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" features)
21 add_test(gammu-version "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" version)
23 add_test(gammu-help-all "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" help all)
24 set_tests_properties(gammu-help-all PROPERTIES
25 PASS_REGULAR_EXPRESSION "batch"
28 add_test(gammu-nets "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" listnetworks)
29 set_tests_properties(gammu-nets PROPERTIES
30 PASS_REGULAR_EXPRESSION "901 29 Telenor"
32 add_test(gammu-nets-230 "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" listnetworks 230)
33 set_tests_properties(gammu-nets-230 PROPERTIES
34 PASS_REGULAR_EXPRESSION "230 03 Vodafone"
39 foreach(EXT nlm ngg nol xpm nsl wbmp bmp)
40 add_test(gammu-copybitmap-${EXT} "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}"
41 copybitmap ${LOGO_TEST_FILE} "${CMAKE_CURRENT_BINARY_DIR}/test-bmp.${EXT}" PICTURE)
42 add_test(gammu-displaybitmap-${EXT} "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}"
43 copybitmap "${CMAKE_CURRENT_BINARY_DIR}/test-bmp.${EXT}")
44 # Reading of xpm is not supported
45 if (${EXT} STREQUAL xpm)
47 gammu-displaybitmap-${EXT}
48 PROPERTIES WILL_FAIL TRUE)
49 endif (${EXT} STREQUAL xpm)
52 add_test(gammu-copyringtone-binary "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}"
53 copyringtone ${RINGTONE_TEST_FILE} "${CMAKE_CURRENT_BINARY_DIR}/test-rng.bin" BINARY)
54 add_test(gammu-copyringtone-binary-binary "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}"
55 copyringtone "${CMAKE_CURRENT_BINARY_DIR}/test-rng.bin" "${CMAKE_CURRENT_BINARY_DIR}/test-rng-bin.bin" BINARY)
57 # Ringtone conversions
59 foreach(EXT ott rng mid imy ime wav rttl)
60 add_test(gammu-copyringtone-${EXT} "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}"
61 copyringtone ${RINGTONE_TEST_FILE} "${CMAKE_CURRENT_BINARY_DIR}/test-rng.${EXT}" RTTL)
62 add_test(gammu-copyringtone-binary-${EXT} "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}"
63 copyringtone "${CMAKE_CURRENT_BINARY_DIR}/test-rng.bin" "${CMAKE_CURRENT_BINARY_DIR}/test-rng-bin.${EXT}" RTTL)
64 add_test(gammu-copyringtone-${EXT}-binary "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}"
65 copyringtone ${RINGTONE_TEST_FILE} "${CMAKE_CURRENT_BINARY_DIR}/test-rng-${EXT}.bin" BINARY)
67 foreach(EXT2 ott rng mid imy ime wav rttl)
68 add_test(gammu-copyringtone-${EXT}-${EXT} "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}"
69 copyringtone "${CMAKE_CURRENT_BINARY_DIR}/test-rng.${EXT}" "${CMAKE_CURRENT_BINARY_DIR}/test-rng-${EXT}.${EXT2}" RTTL)
70 # Reading midi is not supported
71 if (${EXT} STREQUAL mid OR ${EXT} STREQUAL wav)
73 gammu-copyringtone-${EXT}-${EXT}
74 PROPERTIES WILL_FAIL TRUE)
75 endif (${EXT} STREQUAL mid OR ${EXT} STREQUAL wav)
81 file(GLOB VFORMATS "${CMAKE_CURRENT_SOURCE_DIR}/../tests/vcards/*.vcf")
82 foreach(VCF ${VFORMATS})
83 get_filename_component(TESTNAME "${VCF}" NAME_WE)
84 add_test(gammu-savefile-vcf1-${TESTNAME} "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" savefile VCARD10 ${TESTNAME}.1.vcf ${VCF} ME 1)
85 add_test(gammu-savefile-vcf2-${TESTNAME} "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" savefile VCARD21 ${TESTNAME}.2.vcf ${VCF} ME 1)
86 add_test(gammu-convertbackup-${TESTNAME} "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" convertbackup ${VCF} ${TESTNAME}.3.vcf)
89 file(GLOB VFORMATS "${CMAKE_CURRENT_SOURCE_DIR}/../tests/vnote/*.vnt")
90 foreach(VNT ${VFORMATS})
91 get_filename_component(TESTNAME "${VNT}" NAME_WE)
92 add_test(gammu-savefile-vnt-${TESTNAME} "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" savefile NOTE ${TESTNAME}.2.vnt ${VNT} 1)
93 add_test(gammu-convertbackup-${TESTNAME} "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" convertbackup ${VNT} ${TESTNAME}.3.vnt)
97 "${CMAKE_CURRENT_SOURCE_DIR}/../tests/vcal/*.ics"
98 "${CMAKE_CURRENT_SOURCE_DIR}/../tests/vcal/*.vcs")
99 foreach(VCS ${VFORMATS})
100 get_filename_component(TESTNAME "${VCS}" NAME_WE)
101 add_test(gammu-savefile-vcs-cal-${TESTNAME} "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" savefile CALENDAR ${TESTNAME}-cal.vcs ${VCS} 1)
102 if (TESTNAME MATCHES "01|02")
103 set_tests_properties(
104 gammu-savefile-vcs-cal-${TESTNAME}
105 PROPERTIES WILL_FAIL TRUE)
106 endif (TESTNAME MATCHES "01|02")
107 add_test(gammu-savefile-vcs-todo-${TESTNAME} "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" savefile TODO ${TESTNAME}-todo.vcs ${VCS} 1)
108 if (TESTNAME MATCHES "dtstart|rrule|UK32Holidays|badline|rrule-1|p990|k770|outlook")
109 set_tests_properties(
110 gammu-savefile-vcs-todo-${TESTNAME}
111 PROPERTIES WILL_FAIL TRUE)
112 endif (TESTNAME MATCHES "dtstart|rrule|UK32Holidays|badline|rrule-1|p990|k770|outlook")
113 add_test(gammu-convertbackup-${TESTNAME} "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" convertbackup ${VCS} ${TESTNAME}.3.vcs)
118 macro (gammu_test _name _expression)
120 set(_params_list ${ARGN})
121 list(LENGTH _params_list _params_count)
122 if (_params_count GREATER 0)
123 list(GET _params_list 0 __param)
124 get_filename_component(__param ${__param} NAME)
125 string (REPLACE " " "_" __param "${__param}")
126 string (REPLACE "<" "_" __param "${__param}")
127 string (REPLACE ">" "_" __param "${__param}")
128 string (REPLACE "&" "_" __param "${__param}")
129 string (REPLACE "-" "_" __param "${__param}")
130 string (REPLACE "=" "_" __param "${__param}")
131 string (REPLACE "," "_" __param "${__param}")
132 string (REPLACE "#" "_" __param "${__param}")
133 set(__extraname "-${__param}")
134 else (_params_count GREATER 0)
136 endif (_params_count GREATER 0)
137 add_test("gammu-dummy-${_name}${__extraname}" "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" -c "${CMAKE_CURRENT_BINARY_DIR}/.gammurc" "${_name}" ${ARGN})
138 set_tests_properties("gammu-dummy-${_name}${__extraname}" PROPERTIES
139 PASS_REGULAR_EXPRESSION "${_expression}"
141 add_test("gammu-dummy-nonext-${_name}${__extraname}" "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" -s 2 -c "${CMAKE_CURRENT_BINARY_DIR}/.gammurc" "${_name}" ${ARGN})
142 set_tests_properties("gammu-dummy-nonext-${_name}${__extraname}" PROPERTIES
143 PASS_REGULAR_EXPRESSION "${_expression}"
146 endmacro (gammu_test _name _expression)
148 # Tests which require GetNext* working
149 macro (gammu_test_next _name _expression)
151 set(_params_list ${ARGN})
152 list(LENGTH _params_list _params_count)
153 if (_params_count GREATER 0)
154 list(GET _params_list 0 __param)
155 get_filename_component(__param ${__param} NAME)
156 string (REPLACE " " "_" __param "${__param}")
157 string (REPLACE "<" "_" __param "${__param}")
158 string (REPLACE ">" "_" __param "${__param}")
159 string (REPLACE "&" "_" __param "${__param}")
160 string (REPLACE "-" "_" __param "${__param}")
161 string (REPLACE "=" "_" __param "${__param}")
162 string (REPLACE "," "_" __param "${__param}")
163 string (REPLACE "#" "_" __param "${__param}")
164 set(__extraname "-${__param}")
165 else (_params_count GREATER 0)
167 endif (_params_count GREATER 0)
168 add_test("gammu-dummy-${_name}${__extraname}" "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" -c "${CMAKE_CURRENT_BINARY_DIR}/.gammurc" "${_name}" ${ARGN})
169 set_tests_properties("gammu-dummy-${_name}${__extraname}" PROPERTIES
170 PASS_REGULAR_EXPRESSION "${_expression}"
173 endmacro (gammu_test_next _name _expression)
175 macro (gammu_test_fail _name _expression)
177 set(_params_list ${ARGN})
178 list(LENGTH _params_list _params_count)
179 if (${_params_count} GREATER 0)
180 list(GET _params_list 0 __param)
181 get_filename_component(__param ${__param} NAME)
182 string (REPLACE " " "_" __param "${__param}")
183 string (REPLACE "<" "_" __param "${__param}")
184 string (REPLACE ">" "_" __param "${__param}")
185 string (REPLACE "&" "_" __param "${__param}")
186 string (REPLACE "-" "_" __param "${__param}")
187 string (REPLACE "=" "_" __param "${__param}")
188 string (REPLACE "," "_" __param "${__param}")
189 string (REPLACE "#" "_" __param "${__param}")
190 set(__extraname "-${__param}")
191 else (${_params_count} GREATER 0)
193 endif (${_params_count} GREATER 0)
194 add_test("gammu-dummy-fail-${_name}${__extraname}" "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" -c "${CMAKE_CURRENT_BINARY_DIR}/.gammurc" "${_name}" ${ARGN})
195 set_tests_properties("gammu-dummy-fail-${_name}${__extraname}" PROPERTIES
196 FAIL_REGULAR_EXPRESSION "${_expression}"
199 add_test("gammu-dummy-nonext-fail-${_name}${__extraname}" "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" -s 2 -c "${CMAKE_CURRENT_BINARY_DIR}/.gammurc" "${_name}" ${ARGN})
200 set_tests_properties("gammu-dummy-nonext-fail-${_name}${__extraname}" PROPERTIES
201 FAIL_REGULAR_EXPRESSION "${_expression}"
205 endmacro (gammu_test_fail _name _expression)
207 gammu_test_fail(nonsense "Bad option!")
208 gammu_test_fail(identify "Too many parameters" 1)
209 gammu_test_fail(reset "More parameters required")
212 add_test("gammu-dummy-99-identify" "${CMAKE_CURRENT_BINARY_DIR}/gammu${GAMMU_TEST_SUFFIX}" -c "${CMAKE_CURRENT_BINARY_DIR}/.gammurc" -s 99 identify)
213 set_tests_properties("gammu-dummy-99-identify" PROPERTIES
214 PASS_REGULAR_EXPRESSION "DUMMY-001"
218 gammu_test(monitor GammuTel 1)
219 gammu_test(battery "Lithium Polymer")
220 gammu_test(networkinfo "B00B.*FACE")
221 gammu_test(identify DUMMY-001)
222 gammu_test(getdatetime "[0-9][0-9][0-9][0-9]")
223 gammu_test(setdatetime "Updating specified parts of date and time in phone." "9:22")
224 gammu_test(setdatetime "Updating specified parts of date and time in phone." "2009/03/31")
225 gammu_test(setdatetime "Setting time in phone to the same time as is set in computer." )
226 gammu_test_fail(setdatetime "Invalid date or time specified." "fail")
227 gammu_test_fail(setdatetime "Parameter is not a number" "9:xx")
228 gammu_test(getsmsfolders "\\n5.")
229 gammu_test(dialvoice "" 123456)
230 gammu_test(maketerminatedcall "" 123456 10)
231 gammu_test(reset "" HARD)
232 gammu_test(reset "" SOFT)
233 gammu_test(resetphonesettings "" PHONE)
234 gammu_test(senddtmf "" 123465)
235 gammu_test(getdisplaystatus "Keypad locked")
236 #gammu_test(presskeysequence "" "mMnNpPuUdD+-123456789*0#gGrR<>[]hHcCjJfFoOmMdD@") <> cause problems to CTest
237 gammu_test(presskeysequence "" "mMnNpPuUdD+-123456789*0#gGrR[]hHcCjJfFoOmMdD@")
238 gammu_test(displaysms "F4F29C9E769F41F4329E0E" TEXT 132456 -text "testing text")
239 gammu_test(getfilesystemstatus "1010101 bytes")
240 gammu_test(getsecuritystatus "Nothing to enter.")
241 gammu_test(entersecuritycode "" "NETWORK" "1234")
242 gammu_test(entersecuritycode "" "PUK" "123456" "1234")
243 gammu_test_fail(entersecuritycode "Invalid security code type" "XXX" "1234")
244 gammu_test(batch "Batch processed, terminating." "${CMAKE_CURRENT_BINARY_DIR}/.gammu-batch")
246 gammu_test(getussd "Reply for 666" "666")
248 gammu_test(getsmsc "123456" 1)
249 gammu_test(setsmsc "" 1 123456789)
250 gammu_test(getsms "Empty" 1 10)
251 gammu_test(getsms "41761234567" 2 10)
252 gammu_test(getsms "41761234567" 2 10)
253 gammu_test_next(getallsms "6 SMS parts in 6 SMS sequences")
254 gammu_test_next(getallsms "6 SMS parts in 6 SMS sequences" "-pbk")
255 gammu_test(geteachsms "6 SMS parts in 5 SMS sequences")
256 gammu_test(geteachsms "6 SMS parts in 5 SMS sequences" "-pbk")
257 gammu_test_fail(deletesms "Entry is empty" 1 99)
258 gammu_test(addsms "" 1 "${Gammu_SOURCE_DIR}/tests/at-sms-encode/66.backup" "-yes")
259 gammu_test(backupsms "" "${CMAKE_CURRENT_BINARY_DIR}/test.smsbackup" "-all")
260 gammu_test(deletesms "" 1 2)
262 gammu_test(sendsms "" TEXT 132465 -text "Lorem ipsum")
263 gammu_test(savesms "" TEXT -text "Lorem ipsum" -folder 2)
264 gammu_test(deletesms "" 2 20001)
266 gammu_test(getallmemory "Name : \"firstname lastname\"" SM)
267 gammu_test(getallmemory "LUID : \"000200000012\"" ME)
268 gammu_test(getmemory "ISP Ph 019833206" ME 101)
269 gammu_test(deletememory "Entry was empty" ME 99)
270 gammu_test(searchmemory "3899-5174" "3899-1411")
272 gammu_test_next(getallcalendar "C/S/007")
273 gammu_test(getcalendar "Coffee with Jason" 22)
274 gammu_test(getcalendar "" 42)
275 gammu_test(deletecalendar "Entry is empty" 42)
276 gammu_test(getcalendarsettings "Week starts on Monday")
278 gammu_test_fail(getalarm "Alarm .* not set in phone" 42)
279 gammu_test(setalarm "" 12 22)
280 gammu_test(getalarm "Alarm in location 1:" 1)
282 gammu_test_next(getalltodo "Wammu Bug erforschen")
283 gammu_test(gettodo "Gorusme" 3)
284 gammu_test(gettodo "" 99)
285 gammu_test(deletetodo "Entry was empty" 99)
287 gammu_test(backup "" test.backup -yes)
288 gammu_test(backup "" test.vcf -yes)
289 gammu_test(backup "" test.vcs -yes)
290 gammu_test(backup "" test.ics -yes)
291 gammu_test(backup "" test.lmb -yes)
292 gammu_test(backup "" test.ldif -yes)
294 gammu_test(addnew "" ${Gammu_SOURCE_DIR}/tests/vcards/yahoo.vcf -yes)
295 gammu_test(addnew "Add SIM phonebook entries?" ${Gammu_SOURCE_DIR}/tests/vcards/gammu.vcf -yes)
296 gammu_test(addnew "" ${Gammu_SOURCE_DIR}/tests/vcards/photo-2.vcf -memory SM -yes)
297 gammu_test(addnew "Add phone calendar notes?" ${Gammu_SOURCE_DIR}/tests/vcal/UK32Holidays.ics -yes)
298 gammu_test(addnew "Add phone ToDo?" ${Gammu_SOURCE_DIR}/tests/vcal/02.vcs -yes)
300 gammu_test(addnew "Add notes to phone?" ${Gammu_SOURCE_DIR}/tests/vnote/symbian.vnt -yes)
302 gammu_test_next(getallnotes "Teolog")
304 gammu_test(restore "" ${Gammu_SOURCE_DIR}/tests/vcards/yahoo.vcf -yes)
305 gammu_test(restore "" ${Gammu_SOURCE_DIR}/tests/vcal/UK32Holidays.ics -yes)
307 gammu_test(getfilesystem " . .-- Folder \"dir1-2-3\"")
308 gammu_test(getfilesystem "" -flat)
309 gammu_test(getfilesystem "dir2/dir2-5/file4" -flatall)
310 gammu_test(getfilefolder "" "dir2/dir2-5")
311 gammu_test(getfiles "" "file5" "dir2/dir2-5/file2")
312 gammu_test(addfile "ID of new file is \"dir2/dir2-5/file5\"" "dir2/dir2-5" "file5" -type NRT -protected -readonly -hidden -system)
313 gammu_test(sendfile "ID of new file is \"incoming/test.vcf\"" test.vcf)
314 gammu_test(setfileattrib "" incoming/test.vcf -protected -readonly -hidden -system)
315 gammu_test(deletefiles "" incoming/test.vcf dir2/dir2-5/file5)
316 gammu_test(addfolder "" "/" "foobar")
317 gammu_test(deletefolder "" "foobar")
318 gammu_test(getfolderlisting "dir2/dir2-5" "dir2")
320 gammu_test(divert "" get all all)
321 gammu_test(getwapbookmark "wammu.eu" 1 2)
322 gammu_test_fail(getwapbookmark "Entry is empty" 3)
324 if (ONLINE_TESTING AND CURL_FOUND)
325 gammu_test(checkversion "")
326 gammu_test(getlocation "Number of samples;Could not connect to the server;Could not resolve the host name")
327 endif (ONLINE_TESTING AND CURL_FOUND)
330 file(GLOB MMSES "${Gammu_SOURCE_DIR}/tests/mms/*.mms")
333 foreach(TESTMMS ${MMSES})
334 gammu_test(readmmsfile "Message type" "${TESTMMS}")
335 endforeach(TESTMMS ${MMSES})