related to smsbox_list empty warnings ...
if I do make check then some tests on current cvs head fail
because of the smsbox_list empty warnings.
e.g.
grep WARNING check_fakesmsc*
check_fakesmsc_bb.log:2004-07-07 18:03:05 [23035] [0] WARNING: DLR: using default
'internal' for storage type.
check_fakesmsc_bb.log:2004-07-07 18:03:07 [23035] [6] WARNING: smsbox_list empty!
check_fakesmsc_bb.log:2004-07-07 18:03:07 [23035] [6] WARNING: smsbox_list empty!
check_fakesmsc_bb.log:2004-07-07 18:03:07 [23035] [6] WARNING: smsbox_list empty!
check_fakesmsc_bb.log:2004-07-07 18:03:07 [23035] [6] WARNING: smsbox_list empty!
check_fakesmsc_bb.log:2004-07-07 18:03:07 [23035] [6] WARNING: smsbox_list empty!
check_fakesmsc_bb.log:2004-07-07 18:03:07 [23035] [6] WARNING: smsbox_list empty!
check_fakesmsc_bb.log:2004-07-07 18:03:07 [23035] [6] WARNING: smsbox_list empty!
check_fakesmsc_bb.log:2004-07-07 18:03:07 [23035] [6] WARNING: smsbox_list empty!
check_fakesmsc_bb.log:2004-07-07 18:03:07 [23035] [6] WARNING: smsbox_list empty!
check_fakesmsc_bb.log:2004-07-07 18:03:07 [23035] [6] WARNING: smsbox_list empty!
check_fakesmsc_bb.log:2004-07-07 18:03:10 [23035] [0] WARNING: Killing signal or HTTP
admin command received, shutting down...
so is smsbox_list empty seen here because check_fakesmsc test is misconfigured?
I'm not sure.
but more general to do with test scripts
1. in case of PANIC exit loops and do not wait
if I make changes to kannel source and break something (:-O never
really happens of course!) then some of the check scripts
get stuck. I fixed this for just two scripts by checking for
PANIC as well as successful test completion in while loops
AND by not doing a wait if it looks like processed dies by themselves
already.
2. check for failure using grep with extended regexp never is true (perhaps on some
systems only)
There is a problem with lines like this:
if grep 'WARNING:|ERROR:|PANIC:' check_fakesmsc*.log >/dev/null
I'm on redhat 9.1 and simple grep doesn't do extended regexps
so the if above is never true (for me - it may work elsewhere
where grep is really egrep in disguise)
e.g. changing above line like this fixes the problem:
if egrep 'WARNING:|ERROR:|PANIC:' check_fakesmsc*.log >/dev/null
Anyway I've made a patch just for two of the check scripts.
There are a couple more problems like this in other test scripts but that
is as far as I'm likely to get.
Do ye think this is useful?
patch in directory containing gateway dir.
patch -p0 <checks-fix-egrep.patch
(just two files)
patching file gateway/checks/check_fakesmsc.sh
patching file gateway/checks/check_smpp.sh
After that make check on cvs head will show check_fakesmsc as failing :(
(because of smsbox_list warnings only
[EMAIL PROTECTED] ~/src/kannel/gateway/$ make check
utils/run-checks checks/check_counter checks/check_date checks/check_ipcheck
checks/check_list checks/check_octstr checks/check_compiler.sh
checks/check_fakesmsc.sh checks/check_fakewap.sh checks/check_headers.sh
checks/check_http.sh checks/check_httpsmsc_kannel.sh checks/check_ppg.sh
checks/check_sendsms.sh checks/check_smpp.sh
Check: checks/check_counter... OK.
Check: checks/check_date... OK.
Check: checks/check_ipcheck... OK.
Check: checks/check_list... OK.
Check: checks/check_octstr... OK.
Check: checks/check_compiler.sh... OK.
Check: checks/check_fakesmsc.sh... FAILURE!
Check: checks/check_fakewap.sh... OK.
Check: checks/check_headers.sh... FAILURE!
Check: checks/check_http.sh... FAILURE!
Check: checks/check_httpsmsc_kannel.sh... OK.
Check: checks/check_ppg.sh... FAILURE!
Check: checks/check_sendsms.sh... FAILURE!
Check: checks/check_smpp.sh... FAILURE!
At least one check failed, see `check.log'.
After one test fails others may fail due to processes left running so
only the first FAILURE counts.
headers ... I'm not sure why they fail for me.
http fails as I --disable-ssl and https test fails
ppg test hangs ... other tests not sure ... but anyway ...
James.
On Wed, Jul 07, 2004 at 06:06:05PM +0200, Alexander Malysh wrote:
> Hi,
>
> as this part was written by me, I hope to be able to comment ;)
>
> fred wrote:
>
> > in cvs head bb_boxc.c fn int route_incoming_to_boxc(Msg *msg)
> > {
> >
> > I commented two lines out
> > for(i = 0; i < list_len(smsbox_list); i++) {
> > bc = list_get(smsbox_list, (i+b) % len);
> >
> > // if (bc->boxc_id != NULL || bc->routable == 0)
> > ***
> > // bc = NULL;
> > ***
>
> short: we don't want to route messages to so called "named" boxes or if
> these did not sent identify admin command.
> long: when smsbox connect to bearerbox then as first ident. admin cmd will
> be send with boxc_id. This boxc_id will be used for a routing purposes
> between smsboxes within bearerbox. So if this boxc_id is set then _only_
> messages that have equal boxc_id will be routed to this box.
> routable flag is used to avoid a race conditions between connect and sending
> ident. admin cmd.
> Your problem is just with a configuration. Make sure you don't have boxc-id
> directive for smsbox or define a properly smsbox routing...
>
> >
> > if (bc != NULL && max_incoming_sms_qlength > 0 &&
> > list_len(bc->incoming) > max_incoming_sms_qlength) {
> > full_found = 1;
> > bc = NULL;
> > }
> >
> > if ((bc != NULL && best != NULL && bc->load < best->load) ||
> > (bc != NULL && best == NULL)) {
> > best = bc;
> > }
> > }
> >
> >
> > I was getting smsbox_list empty!
> > those two lines didn't make sense to me, can anyone explain this part of
> > code ?
>
>
diff -Naur gateway-cvshead/checks/check_fakesmsc.sh gateway/checks/check_fakesmsc.sh
--- gateway-cvshead/checks/check_fakesmsc.sh 2004-07-07 17:55:46.000000000 +0100
+++ gateway/checks/check_fakesmsc.sh 2004-07-07 17:32:24.000000000 +0100
@@ -29,12 +29,19 @@
then
running=no
fi
+ if grep "PANIC:" check_fakesmsc.log >/dev/null
+ then
+ running=no
+ fi
done
-kill -INT $bbpid
-wait
+if ! grep "PANIC:" check_fakesmsc.log >/dev/null
+then
+ kill -INT $bbpid
+ wait
+fi
-if grep 'WARNING:|ERROR:|PANIC:' check_fakesmsc*.log >/dev/null
+if egrep 'WARNING:|ERROR:|PANIC:' check_fakesmsc*.log >/dev/null
then
echo check_fakesmsc.sh failed 1>&2
echo See check_fakesmsc*.log for info 1>&2
@@ -43,4 +50,4 @@
rm check_fakesmsc*.log
-exit 0
\ No newline at end of file
+exit 0
diff -Naur gateway-cvshead/checks/check_smpp.sh gateway/checks/check_smpp.sh
--- gateway-cvshead/checks/check_smpp.sh 2003-02-13 10:35:26.000000000 +0000
+++ gateway/checks/check_smpp.sh 2004-07-07 17:31:59.000000000 +0100
@@ -21,6 +21,10 @@
then
running=no
fi
+ if grep "PANIC:" check_smpp*.log >/dev/null
+ then
+ running=no
+ fi
done
sleep 5