2 \page inside_autotests Automatic Testing Infrastructure
4 \section xps_dev_guide_pipol How to run test in pipol?
6 In order to use PIPOL you have to create your account here: http://pipol.inria.fr/
8 \subsection inside_autotests_dev_guide_pipol_general What is PIPOL?
10 The PIPOL platform is a porting, testing and compilation cluster. It hosts several hardware and software
11 architectures to perform its work. An user can reserve a resource (a specific hardware, an operating system...)
12 to be used interactively or automatically (with a "Nightly Builds" system) for software testing.
14 \subsection inside_autotests_dev_guide_pipol_frontend From PIPOL frontend
16 You first need to be connected into pipol ssh.
18 user@caraja:~$ ssh pipol.inria.fr
19 Linux pipol-server 2.6.26-2-amd64 #1 SMP Thu Nov 5 02:23:12 UTC 2009 x86_64
20 ***************************************************************************
21 * You are just logged-on the PIPOL platform server *
22 * You can find some documentation about porting works on the platform *
23 * on the PIPOL's web site: http://pipol.inria.fr/docs/ *
24 * To report bugs you can write to: pipol-sysadm@lists.gforge.inria.fr *
25 ***************************************************************************
30 Then you can see pipol images availables for deployment
33 user@pipol:~$ pipol-sub si
34 amd64_2010-linux-centos-5.dd.gz
35 amd64_2010-linux-debian-squeeze.dd.gz
36 amd64_2010-linux-debian-testing.dd.gz
37 amd64_2010-linux-fedora-core13.dd.gz
38 amd64_2010-linux-fedora-core14.dd.gz
39 amd64_2010-linux-fedora-core16.dd.gz
40 amd64_2010-linux-ubuntu-lucid.dd.gz
41 amd64_2010-linux-ubuntu-maverick.dd.gz
42 amd64_2010-linux-ubuntu-natty.dd.gz
43 amd64_kvm-linux-debian-lenny
44 amd64_kvm-linux-debian-testing
46 amd64-linux-centos-5.dd.gz
47 amd64-linux-debian-etch.dd.gz
48 amd64-linux-debian-lenny.dd.gz
50 i386-linux-ubuntu-lucid.dd.gz
51 i386-linux-ubuntu-maverick.dd.gz
52 i386-linux-ubuntu-natty.dd.gz
53 i386-linux-ubuntu-precise.dd.gz
54 i386_mac-mac-osx-server-leopard.dd.gz
55 i386-unix-freebsd-7.dd.gz
56 i386-unix-opensolaris-10.dd.gz
57 i386-unix-opensolaris-11.dd.gz
58 i386-unix-solaris-10.dd.gz
59 ia64-linux-debian-lenny.dd
60 ia64-linux-debian-squeeze.dd
61 ia64-linux-fedora-core9.dd
62 ia64-linux-redhatEL-5.0.dd
63 x86_64_mac-mac-osx-server-snow-leopard.dd.gz
64 x86_mac-mac-osx-server-snow-leopard.dd.gz
67 You can also see available architectures on host name:
69 navarro@pipol:~$ pipol-sub sa
70 =================================================================
71 Availables architectures:
72 =================================================================
75 :i386_2010:amd64_2010:
77 :i386_2010:amd64_2010:
79 :i386_2010:amd64_2010:
114 When you have choose your image and host (not necessary) you deploy with command line:
116 pipol-sub esn \<image name\> \<host-name\> \<deployment-time\>
118 user@pipol:~$pipol-sub esn amd64_2010-linux-ubuntu-maverick.dd.gz pipol20 02:00
119 user@pipol:~$ssh pipol20
122 You can now make all your tests.
124 \subsection inside_autotests_dev_guide_pipol_home From a computer
126 You have to renseign to simgrid configuration your pipol login.
128 $ cmake -Dpipol_user=user .
131 Then you have two kind of command:
132 \li make \<image-name\>
134 $ make amd64_2010-linux-ubuntu-maverick
136 This command copy your local simgrid directory to pipol and execute a configure, make and ctest.
138 \li make \<image_name\>_experimental
140 $ make amd64_2010-linux-ubuntu-maverick_experimental
142 Same as previous but report into cdash
144 You can also see all available images from pipol
146 $ make pipol_test_list_images
149 \section inside_autotests_dev_guide_pipol_nightly How to use nightly builds?
151 All the pipol scripts are located in \"<project/directory>/buildtools/pipol/\".
152 If you modifie them you have to update the pipol home directory by using this command: make sync-pipl.
154 It will copy those files:
156 simgrid@caraja:~/workspace/simgrid/build$ make sync-pipol
157 Update pipol script for user: simgrid
158 rc.debian 100% 1338 1.3KB/s 00:00
159 rc.fedora 100% 1433 1.4KB/s 00:00
160 rc.mac 100% 1129 1.1KB/s 00:00
161 rc.ubuntu 100% 1875 1.8KB/s 00:00
162 rc.windows 100% 494 0.5KB/s 00:00
163 Nightly_simgrid.sh 100% 4004 3.9KB/s 00:00
164 Experimental_bindings.sh 100% 1794 1.8KB/s 00:00
167 \section inside_autotests_dev_guide_cdash How to report tests in cdash?
169 Reporting experiment in cdash is very easy because it is done by ctest.
171 The easier way is to execute command line "ctest -D Experiemntal" in build directory. More option is available by ctest:
174 ctest -D Continuous(Start|Update|Configure|Build)
175 ctest -D Continuous(Test|Coverage|MemCheck|Submit)
176 ctest -D Experimental
177 ctest -D Experimental(Start|Update|Configure|Build)
178 ctest -D Experimental(Test|Coverage|MemCheck|Submit)
180 ctest -D Nightly(Start|Update|Configure|Build)
181 ctest -D Nightly(Test|Coverage|MemCheck|Submit)
182 ctest -D NightlyMemoryCheck
185 If you want to have a code coverage, please add option on simgrid.
187 $ cmake -Denable_coverage=ON .
188 $ ctest -D ExperimentalStart
189 $ ctest -D ExperimentalConfigure
190 $ ctest -D ExperimentalBuild
191 $ ctest -D ExperimentalTest
192 $ ctest -D ExperimentalCoverage
193 $ ctest -D ExperimentalSubmit
196 \section inside_autotests_dev_guide_g5k How to run simgrid scalability xps?
198 \subsection inside_autotests_dev_guide_g5k_campaign How to execute g5k campaign?
200 Quick steps deployment for rennes:
202 \li 1/ Create a G5K account
204 \li 2/ SSH to a frontend (must be rennes, nancy or toulouse for git protocol)
206 \li 3/ Install g5k-campaign
208 $ gem install g5k-campaign --source http://g5k-campaign.gforge.inria.fr/pkg -p http://proxy:3128 --no-ri --no-rdoc --user-install
211 \li 4/ Configure the API
214 $ echo 'base_uri: https://api.grid5000.fr/stable/grid5000' > ~/.restfully/api.grid5000.fr.yml
215 $ chmod 0600 ~/.restfully/api.grid5000.fr.yml
218 \li 5/ Git clone the SimGrid Scalability project
220 $ git clone git://scm.gforge.inria.fr/simgrid/simgrid-scalability-XPs.git
223 \li 6/ Copy the run script into your home
225 $ cp simgrid-scalability-XPs/script-sh/run-g5k-scalab.sh ~/
228 \li 7/ Create the result log directory (must be ~/log/)
233 \li 8/ Execute the g5k campaign on a revision "rev"
235 $ sh run-g5k-scalab.sh "rev"
238 You can also have more parameters
240 \li 1/ -> 5/ Same as before
242 \li 6/ Open simgrid-scalability-XPs
244 \li 7/ Execute SGXP.pl to see parameters
246 $ perl SGXP.pl --help
249 \li 8/ Execute SGXP.pl with your parameters like
251 $ ./SGXP.pl --site=nancy --cluster=graphene --test=chord,goal --rev="09bbc8de,3ca7b9a13"
254 \subsection inside_autotests_dev_guide_g5k_log How to analyze logs?
256 To analyze log from g5k-campaign you must install R tool.
258 \li 0/ You can copy logs from g5k to your computer (recommanded)
262 \li 2/ Execute the perl analyzer for goal log
264 $ ~/simgrid-scalability-XPs/libperl/analyzer.pl goal.log.* > goal.csv
267 \li 3/ Execute the R analyer for goal log
269 $ ~/simgrid-scalability-XPs/script-R/goal.R goal.csv output.goal.pdf
272 Example of generated pdf <a href="./output.goal.pdf">here</a>.