Mailinglist Archive: opensuse-buildservice (219 mails)

< Previous Next >
[opensuse-buildservice] Build fails because unit tests runs daemon
  • From: "John Calcote" <john.calcote@xxxxxxxxx>
  • Date: Thu, 28 Feb 2008 12:48:53 -0700
  • Message-id: <3ee91eb90802281148g7aa7be96x10077d715da5c50f@xxxxxxxxxxxxxx>
Hi list,

I added a unit test to my project at home:jcalcote/dnx

This project built on all flavors of SuSE linux, plus fedora, debian,
and ubuntu 7 before I added this new unit test. Now it fails on all
but the debian and ubuntu builds - probably because these platforms'
hacked up control files don't run "make check".

I can successfully build this package locally - it just won't build on
the obs servers.

DETAILS:

The unit test I added was a shell script to load my client daemon,
ensure that it initialized properly, then send it a kill signal and
wait for it to cleanup its own lock file (dnxClient.pid). Now, before
you jump all over me for trying to write files to system directories
during a build, be aware that I've configured my daemon to use a test
directory for such files. Here's the relevant portion of the test
script:

- - - - - - - - - - - - - - - - - -
# Execute the dnx client as a daemon
./dnxClient -c $PWD/testrun/test.cfg -r $PWD/testrun \
-l $PWD/testrun/test.log -D $PWD/testrun/test.dbg

# Give it time to create its lock file
count=0
while ((count<15)) && [ ! -e $PWD/testrun/dnxClient.pid ]; do
sleep 1; let count++
done

# Ensure we HAVE a lock file now
if [ ! -e $PWD/testrun/dnxClient.pid ]; then
echo "dnxClient.pid NOT found - daemon didn't start!"
exit 1
fi
- - - - - - - - - - - - - - - - - -

Here's a portion of the build log from the openSUSE:10.2 target:

- - - - - - - - - - - - - - - - - -
...
Making check in client
make[1]: Entering directory `/usr/src/packages/BUILD/dnx-0.15.1/client'
/usr/bin/make check-TESTS
make[2]: Entering directory `/usr/src/packages/BUILD/dnx-0.15.1/client'
dnxClient.pid NOT found - daemon didn't start!
FAIL: dnxClientTest.sh
================================================
1 of 1 tests failed
Please report to dnx-devel@xxxxxxxxxxxxxxxxxxxxx
================================================
make[2]: *** [check-TESTS] Error 1
...
- - - - - - - - - - - - - - - - - -

You can see that the script prints this message when the dnxClient
daemon doesn't write its lock file. FYI, the command line options are:

-c - specify configuration file.
-r - specify run path (where the pid file will be created)
-l - specify the log file name.
-D - specify the debug log file name.

I'm guessing there's some rule against running programs on the build
servers that use fork-fork-exec.

Any help would be much appreciated.

Thanks in advance,
John
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups