9 TEST_MATCH
=";999999999999999;3;9;0;100;42"
11 if [ "x@HAVE_KILL@" = x1
] ; then
12 SMSD_EXTRA_PARAMS
="-p @CMAKE_CURRENT_BINARY_DIR@/smsd-test-$SERVICE/smsd.pid"
15 echo "NOTICE: This test is quite tricky about timing, if you run it on really slow platform, it might fail."
16 echo "NOTICE: Testing service $SERVICE"
19 if [ $SMSD_PID -ne 0 ] ; then
25 trap cleanup INT QUIT EXIT
27 cd @CMAKE_CURRENT_BINARY_DIR@
29 rm -rf smsd-test-
$SERVICE
30 mkdir smsd-test-
$SERVICE
33 # Dummy backend storage
40 port = @CMAKE_CURRENT_BINARY_DIR@/smsd-test-$SERVICE/gammu-dummy
49 runonreceive = @CMAKE_CURRENT_BINARY_DIR@/smsd-test-$SERVICE/received.sh
52 # Add driver specific configuration
59 dbdir = @CMAKE_CURRENT_BINARY_DIR@/smsd-test-$SERVICE/
67 database = @PSQL_DATABASE@
69 password = @PSQL_PASSWORD@
76 database = @PSQL_DATABASE@
78 password = @PSQL_PASSWORD@
86 database = @MYSQL_DATABASE@
88 password = @MYSQL_PASSWORD@
95 database = @MYSQL_DATABASE@
97 password = @MYSQL_PASSWORD@
106 password = @MYSQL_PASSWORD@
110 TEST_MATCH
=";999999999999999;0;9;0;100;42"
116 INBOXF
=`echo $SERVICE | sed 's/.*-//'`
119 inboxpath = @CMAKE_CURRENT_BINARY_DIR@/smsd-test-$SERVICE/inbox/
120 outboxpath = @CMAKE_CURRENT_BINARY_DIR@/smsd-test-$SERVICE/outbox/
121 sentsmspath = @CMAKE_CURRENT_BINARY_DIR@/smsd-test-$SERVICE/sent/
122 errorsmspath = @CMAKE_CURRENT_BINARY_DIR@/smsd-test-$SERVICE/error/
123 inboxformat = $INBOXF
124 transmitformat = auto
129 # Create database structures
132 @SQLITE_BIN@ smsd.db
< @CMAKE_CURRENT_SOURCE_DIR@
/..
/docs
/sql
/sqlite.sql
135 echo "DROP TABLE IF EXISTS daemons, gammu, inbox, outbox, outbox_multipart, pbk, pbk_groups, phones, sentitems;" | PGPASSWORD
=@PSQL_PASSWORD@ @PSQL_BIN@
-h @PSQL_HOST@
-U @PSQL_USER@ @PSQL_DATABASE@
136 PGPASSWORD
=@PSQL_PASSWORD@ @PSQL_BIN@
-h @PSQL_HOST@
-U @PSQL_USER@ @PSQL_DATABASE@
< @CMAKE_CURRENT_SOURCE_DIR@
/..
/docs
/sql
/pgsql.sql
2>&1 |
grep -v 'ERROR.*language "plpgsql" already exists'
139 echo "DROP TABLE IF EXISTS daemons, gammu, inbox, outbox, outbox_multipart, pbk, pbk_groups, phones, sentitems;" | @MYSQL_BIN@
-u@MYSQL_USER@
-h@MYSQL_HOST@
-p@MYSQL_PASSWORD@ @MYSQL_DATABASE@
140 @MYSQL_BIN@
-h@MYSQL_HOST@
-u@MYSQL_USER@
-p@MYSQL_PASSWORD@ @MYSQL_DATABASE@
< @CMAKE_CURRENT_SOURCE_DIR@
/..
/docs
/sql
/mysql.sql
143 mkdir
-p @CMAKE_CURRENT_BINARY_DIR@
/smsd-test-
$SERVICE/inbox
/
144 mkdir
-p @CMAKE_CURRENT_BINARY_DIR@
/smsd-test-
$SERVICE/outbox
/
145 mkdir
-p @CMAKE_CURRENT_BINARY_DIR@
/smsd-test-
$SERVICE/sent
/
146 mkdir
-p @CMAKE_CURRENT_BINARY_DIR@
/smsd-test-
$SERVICE/error
/
150 cat > @CMAKE_CURRENT_BINARY_DIR@
/smsd-test-
$SERVICE/received.sh
<< EOT
152 echo "\$@" >> @CMAKE_CURRENT_BINARY_DIR@/smsd-test-$SERVICE/received.log
153 env >> @CMAKE_CURRENT_BINARY_DIR@/smsd-test-$SERVICE/env.log
156 chmod +x @CMAKE_CURRENT_BINARY_DIR@
/smsd-test-
$SERVICE/received.sh
158 CONFIG_PATH
="@CMAKE_CURRENT_BINARY_DIR@/smsd-test-$SERVICE/.smsdrc"
159 DUMMY_PATH
="@CMAKE_CURRENT_BINARY_DIR@/smsd-test-$SERVICE/gammu-dummy"
161 mkdir
-p $sms $DUMMY_PATH/sms
/1
162 mkdir
-p $sms $DUMMY_PATH/sms
/2
163 mkdir
-p $sms $DUMMY_PATH/sms
/3
164 mkdir
-p $sms $DUMMY_PATH/sms
/4
165 mkdir
-p $sms $DUMMY_PATH/sms
/5
167 for sms
in 62 68 74 ; do
168 cp @CMAKE_CURRENT_SOURCE_DIR@
/..
/tests
/at-sms-encode
/$sms.backup
$DUMMY_PATH/sms
/1/$sms
170 cp @CMAKE_CURRENT_SOURCE_DIR@
/..
/tests
/smsbackups
/mms.smsbackup
$DUMMY_PATH/sms
/1/42
172 # Insert message manually
175 echo "INSERT INTO outbox(DestinationNumber,TextDecoded,CreatorID,Coding) VALUES('800123465', 'This is a SQL test message', 'T3st', 'Default_No_Compression');" | @SQLITE_BIN@ smsd.db
178 echo "INSERT INTO outbox(\"DestinationNumber\",\"TextDecoded\",\"CreatorID\",\"Coding\") VALUES('800123465', 'This is a SQL test message', 'T3st', 'Default_No_Compression');" | PGPASSWORD
=@PSQL_PASSWORD@ @PSQL_BIN@
-h @PSQL_HOST@
-U @PSQL_USER@ @PSQL_DATABASE@
181 echo "INSERT INTO outbox(DestinationNumber,TextDecoded,CreatorID,Coding) VALUES('800123465', 'This is a SQL test message', 'T3st', 'Default_No_Compression');" | @MYSQL_BIN@
-u@MYSQL_USER@
-h@MYSQL_HOST@
-p@MYSQL_PASSWORD@ @MYSQL_DATABASE@
184 cp @CMAKE_CURRENT_SOURCE_DIR@
/tests
/OUT
+4201234567890.txt @CMAKE_CURRENT_BINARY_DIR@
/smsd-test-
$SERVICE/outbox
/
188 @CMAKE_CURRENT_BINARY_DIR@
/gammu-smsd-inject@GAMMU_TEST_SUFFIX@
-c "$CONFIG_PATH" TEXT
123465 -text "Lorem ipsum." &
189 @CMAKE_CURRENT_BINARY_DIR@
/gammu-smsd-inject@GAMMU_TEST_SUFFIX@
-c "$CONFIG_PATH" TEXT
123465 -text "Lorem ipsum."
191 @CMAKE_CURRENT_BINARY_DIR@
/gammu-smsd@GAMMU_TEST_SUFFIX@
-c "$CONFIG_PATH" $SMSD_EXTRA_PARAMS &
196 for sms
in 10 16 26 ; do
197 cp @CMAKE_CURRENT_SOURCE_DIR@
/..
/tests
/at-sms-encode
/$sms.backup
$DUMMY_PATH/sms
/3/$sms
199 cp @CMAKE_CURRENT_SOURCE_DIR@
/..
/tests
/smsbackups
/mms-part.smsbackup
$DUMMY_PATH/sms
/1/666
202 while ! @CMAKE_CURRENT_BINARY_DIR@
/gammu-smsd-monitor@GAMMU_TEST_SUFFIX@
-C -c "$CONFIG_PATH" -n 1 -d 0 |
grep -q "$TEST_MATCH" ; do
203 @CMAKE_CURRENT_BINARY_DIR@
/gammu-smsd-monitor@GAMMU_TEST_SUFFIX@
-C -c "$CONFIG_PATH" -n 1 -d 0
205 TIMEOUT
=$
(($TIMEOUT + 1))
206 if [ $TIMEOUT -gt 60 ] ; then
207 echo "ERROR: Wrong timeout!"
214 @CMAKE_CURRENT_BINARY_DIR@
/gammu-smsd-monitor@GAMMU_TEST_SUFFIX@
-C -c "$CONFIG_PATH" -n 1 -d 0
216 if [ `wc -l < @CMAKE_CURRENT_BINARY_DIR@/smsd-test-$SERVICE/received.log` -ne 8 ] ; then
217 echo "ERROR: Wrong number of messages received!"
221 if ! grep -q -F 'MMS_ADDRESS=http://mmscz/?m=m5da5a9jn210ma56q20' @CMAKE_CURRENT_BINARY_DIR@
/smsd-test-
$SERVICE/env.log
; then
222 echo "ERROR: Wrong MMS message received!"