view contrib/nightly_tests/README @ 1515:8430dabbc637

Add 3GPP TS 29.109 V15.0.0 (2017-06) Add AVPs: - GBA-UserSecSettings, OctetString, code 400, section 6.3.1.1 - Transaction-Identifier, OctetString, code 401, section 6.3.1.2 - NAF-Id, OctetString, code 402, section 6.3.1.3 - GAA-Service-Identifier, OctetString, code 403, section 6.3.1.4 - Key-ExpiryTime, Time, code 404, section 6.3.1.5 - ME-Key-Material, OctetString, code 405, section 6.3.1.6 - UICC-Key-Material, OctetString, code 406, section 6.3.1.7 - GBA-U-Awareness-Indicator, Enumerated, code 407, section 6.3.1.8 - BootstrapInfoCreationTime, Time, code 408, section 6.3.1.9 - GUSS-Timestamp, Time, code 409, section 6.3.1.10 - GBA-Type, Enumerated, code 410, section 6.3.1.11 - UE-Id, OctetString, code 411, section 6.3.1.12 - UE-Id-Type, Enumerated, code 412, section 6.3.1.13 - UICC-App-Label, OctetString, code 413, section 6.3.1.14 - UICC-ME, Enumerated, code 414, section 6.3.1.15 - Requested-Key-Lifetime, Time, code 415, section 6.3.1.16 - Private-Identity-Request, Enumerated, code 416, section 6.3.1.17 - GBA-Push-Info, OctetString, code 417, section 6.3.1.18 - NAF-SA-Identifier, OctetString, code 418, section 6.3.1.19 - Security-Feature-Request, OctetString, code 419, section 6.3.1.20 - Security-Feature-Response, OctetString, code 420, section 6.3.1.21 Note: 3GPP TS 29.109 table 6.1 row GBA_U-Awareness-Indicator (407) has an underscore in the name (contrary to RFC 6733 section 4.1). Fix: GBA_U-Awareness-Indicator (407) renamed to GBA-U-Awareness-Indicator (407).
author Luke Mewburn <luke@mewburn.net>
date Thu, 09 Apr 2020 00:34:15 +1000
parents 506e272ddbba
children
line wrap: on
line source

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
"Welcome to our mercurial repository"