87 lines
3.5 KiB
Plaintext
87 lines
3.5 KiB
Plaintext
This folder contains information and scripts to run a new test configuration for nightly builds
|
|
and reporting the results to freeDiameter dashboard at:
|
|
http://www.freediameter.net/CDash/index.php?project=freeDiameter
|
|
|
|
The information gathered here mostly comes from the following pages:
|
|
http://www.itk.org/Wiki/CMake_Testing_With_CTest
|
|
http://www.itk.org/Wiki/CMake_Scripting_Of_CTest
|
|
http://www.itk.org/Wiki/CTest:Buildserver
|
|
|
|
=============
|
|
|
|
INSTRUCTIONS to setup a new build slave for the freeDiameter buildserver:
|
|
-- note: the build slave should have cmake version 2.8 at least so that ctest will update the source tree properly.
|
|
|
|
1) Install all dependencies for freeDiameter as follow:
|
|
a) Debian / Ubuntu: See the "prereqs.ubuntu" file
|
|
$ sudo aptitude install `wget http://www.freediameter.net/hg/freeDiameter/raw-file/tip/contrib/nightly_tests/prereqs.ubuntu -O - | grep -v -e "^#"`
|
|
|
|
b) FreeBSD: See the "prereqs.freebsd" file
|
|
- install base system and ports
|
|
- install freediameter dependencies as follow:
|
|
# pkg_add -r -v wget
|
|
# pkg_add -r -v `wget http://www.freediameter.net/hg/freeDiameter/raw-file/tip/contrib/nightly_tests/prereqs.freebsd -O - | grep -v -e "^#"`
|
|
|
|
c) OpenSUSE:
|
|
$ sudo zypper install `wget http://www.freediameter.net/hg/freeDiameter/raw-file/tip/contrib/nightly_tests/prereqs.opensuse -O - | grep -v -e "^#"`
|
|
|
|
d) Fedora:
|
|
$ sudo yum install wget
|
|
$ sudo yum install `wget http://www.freediameter.net/hg/freeDiameter/raw-file/tip/contrib/nightly_tests/prereqs.fedora -O - | grep -v -e "^#"`
|
|
|
|
You may also have issues with SELinux later, an easy workaround is to disable it (until better solution)
|
|
# setenforce Permissive
|
|
|
|
|
|
2) Create the "test" database for app_acct test (we assume the tests are run as user "test" here)
|
|
- check INSTALL.FreeBSD file for specific PostgreSQL pre-install instructions.
|
|
- These are the instructions for Debian/Ubuntu/OpenSUSE, adjust as needed:
|
|
# su - postgres
|
|
# createuser --interactive test
|
|
Shall the new role be a superuser? (y/n) n
|
|
Shall the new role be allowed to create databases? (y/n) y
|
|
Shall the new role be allowed to create more new roles? (y/n) n
|
|
# logout
|
|
$ whoami
|
|
test
|
|
$ createdb test
|
|
$ psql test
|
|
psql (8.4.4)
|
|
Type "help" for help.
|
|
|
|
test=>
|
|
CREATE TABLE incoming_test (
|
|
recorded_on timestamp with time zone NOT NULL,
|
|
"Accounting-Record-Type" integer,
|
|
"Session-Id" bytea,
|
|
"Accounting-Record-Number" integer,
|
|
"Route-Record1" bytea,
|
|
"Route-Record2" bytea,
|
|
"Route-Record3" bytea,
|
|
"Route-Record4" bytea );
|
|
\q
|
|
|
|
|
|
3) Create a directory ~/fDtests
|
|
$ cd
|
|
$ mkdir fDtests
|
|
$ cd fDtests
|
|
|
|
4) Retrieve the runtests.sh script and save in this directory
|
|
$ wget http://www.freediameter.net/hg/freeDiameter/raw-file/tip/contrib/nightly_tests/runtests.sh
|
|
$ chmod +x runtests.sh
|
|
|
|
5) Create a file local.cmake defining the name of the build slave in this directory also.
|
|
$ echo "SET(CTEST_SITE \""`hostname`"\")" > local.cmake
|
|
|
|
For FreeBSD, in addition do:
|
|
$ echo "set(CTEST_BUILD_OPTIONS \"\${CTEST_BUILD_OPTIONS} -DFLEX_EXECUTABLE:FILEPATH=/usr/local/bin/flex\")" >> local.cmake
|
|
|
|
6) Run the runtests.sh script once to check it works properly (freeBSD might require: ln -s /usr/local/bin/bash /bin/bash)
|
|
|
|
7) Set up a crontab to run the script
|
|
$ wget http://www.freediameter.net/hg/freeDiameter/raw-file/tip/contrib/nightly_tests/cronjob.sh
|
|
$ chmod +x cronjob.sh
|
|
$ crontab -l
|
|
0 0 * * * /home/test/fDtests/cronjob.sh > /home/test/fDtests/cronjob.log 2>&1
|