]> git.ipfire.org Git - thirdparty/strongswan.git/blob - doc/src/nightly.html
- import of strongswan-2.7.0
[thirdparty/strongswan.git] / doc / src / nightly.html
1 <html>
2 <head>
3 <title>FreeS/WAN nightly testing guide</title>
4 <!-- Changed by: Michael Richardson, 23-Jul-2002 -->
5 <meta name="keywords" content="Linux, IPsec, VPN, security, FreeSWAN, testing, User-Mode-Linux, UML">
6
7 <!--
8
9 Written by Michael Richardson for the Linux FreeS/WAN project
10 Freely distributable under the GNU General Public License
11
12 More information at www.freeswan.org
13 Feedback to users@lists.freeswan.org
14
15 $Id: nightly.html,v 1.1 2004/03/15 20:35:24 as Exp $
16
17 $Log: nightly.html,v $
18 Revision 1.1 2004/03/15 20:35:24 as
19 added files from freeswan-2.04-x509-1.5.3
20
21 Revision 1.3 2002/07/23 18:42:16 mcr
22 added instructions on setup of nightly build.
23
24 Revision 1.2 2002/06/19 10:06:07 mcr
25 added nightly.html to the documentation tree.
26
27 Revision 1.1 2002/05/24 03:33:30 mcr
28 start at document on nightly regression testing.
29
30
31 -->
32 </head>
33
34 <body>
35
36 <h1><a name="nightly">Nightly regression testing</a></h1>
37
38 <p>
39 The nightly regression testing system consists of several shell scripts
40 and some perl scripts. The goal is to check out a fresh tree, run "make check" on it,
41 record the results and summarize the results to the team and to the web site.
42 </p>
43
44 <P>
45 Output can be found on <A HREF="http://bugs.freeswan.org:81/">adams</A>,
46 although the tests are actually run on another project machine.</P>
47
48 <H1><A name="nightlyhowto">How to setup the nightly build</A></h1>
49
50 <P>
51 The best way to do nightly testing is to setup a new account. We call the
52 account "build" - you could call it something else, but there may
53 still be some references to ~build in the scripts.
54 </P>
55
56 <H2> Files you need to know about </H2>
57 <P>
58 As few files as possible need to be extracted from the source tree -
59 files are run from the source tree whenever possible. However, there
60 are some bootstrap and configuration files that are necessary.
61 </P>
62
63 <P>
64 There are 7 files in testing/utils that are involved:
65 <DL>
66 <DT> nightly-sample.sh </DT>
67 <DD> This is the root of the build process. This file should be copied out
68 of the CVS tree, to $HOME/bin/nightly.sh of the build account. This
69 file should be invoked from cron. </DD>
70 <DT> freeswan-regress-env-sample.sh </DT>
71 <DD> This file should be copied to $HOME/freeswan-regress-env.sh. It
72 should be edited to localize the values. See below.</DD>
73 <DT> regress-cleanup.pl </DT>
74 <DD> This file needs to be copied to $HOME/bin/regress-cleanup.pl. It
75 is invoked by the nightly file before doing anything else. It
76 removes previous nights builds in order to free up disk space for
77 the build about to be done.</DD>
78 <DT> teammail-sample.sh </DT>
79 <DD> A script used to send results email to the "team". This sample
80 script could be copied to $HOME/bin/teammail.sh. This version will
81 PGP encrypt all the output to the team members. If this script is used,
82 then PGP will have to be properly setup to have the right keys.</DD>
83 <DT> regress-nightly.sh </DT>
84 <DD> This is the first stage of the nightly build. This stage will
85 call other scripts as appropriate, and will extract the source code
86 from CVS. This script should be copied to $HOME/bin/regress-nightly.sh</DD>
87 <DT> regress-stage2.sh </DT>
88 <DD> This is the second stage of the nightly build. It is called in
89 place. It essentially sets up the UML setup in umlsetup.sh, and
90 calls "make check".</DD>
91 <DT> regress-summarize-results.pl
92 <DD> This script will summarize the results from the tests to a
93 permanent directory set by $REGRESSRESULTS. It is invoked from the
94 stage2 nightly script.
95 <DT> regress-chart.sh </DT>
96 <DD> This script is called at the end of the build process, and will
97 summarize each night's results (as saved into $REGRESSRESULTS by
98 regress-summarize-results.pl) as a chart using gnuplot. Note that
99 this requires at least gnuplot 3.7.2.</DD>
100 </DL>
101
102 <H2>Configuring freeswan-regress-env.sh</H2>
103
104 <P>For more info on KERNPOOL, UMLPATCH, BASICROOT and SHAREDIR, see
105 <A HREF="umltesting.html">User-Mode-Linux testing guide</A>.
106 </P>
107
108 <DL>
109 <DT> KERNPOOL </DT>
110 <DD> Extract copy of some kernel source to be used for UML builds</DD>
111 <DT> UMLPATCH </DT>
112 <DD> matching User-Mode-Linux patch.</DD>
113 <DT> BASICROOT</DT>
114 <DD> the root file system image (see
115 <A HREF="umltesting.html">User-Mode-Linux testing guide</A>).</DD>
116 <DT> SHAREDIR=${BASICROOT}/usr/share</DT>
117 <DD> The /usr/share to use.</DD>
118 <DT> REGRESSTREE</DT>
119 <DD> A directory in which to store the nightly regression
120 results. Directories will be created by date in this tree.</DD>
121
122 <DT> TCPDUMP=tcpdump-3.7.1</DT>
123 <DD> The path to the <A HREF="http://www.tcpdump.org/">tcpdump</A>
124 to use. This must have crypto compiled in, and must be at least 3.7.1</DT>
125
126 <DT> KERNEL_RH7_2_SRC=/a3/kernel_sources/linux-2.4.9-13/</DT>
127 <DD> An extracted copy of the RedHat 7.2. kernel source. If set, then
128 the packaging/rpm-rh72-install-01 test will be run, and an RPM will
129 be built as a test.</DD>
130
131 <DT> KERNEL_RH7_3_SRC=/a3/kernel_sources/rh/linux-2.4.18-5</DT>
132 <DD> An extracted copy of the RedHat 7.3. kernel source. If set, then
133 the packaging/rpm-rh73-install-01 test will be run, and an RPM will
134 be built as a test.</DD>
135
136 <DT> NIGHTLY_WATCHERS="userid,userid,userid"</DT>
137 <DD> The list of people who should receive nightly output. This is
138 used by teammail.sh</DD>
139
140 <DT> FAILLINES=128</DT>
141 <DD> How many lines of failed test output to include in the nightly
142 output</DD>
143
144 <DT> PATH=$PATH:/sandel/bin export PATH</DT>
145 <DD> You can also override the path if necessary here.</DD>
146
147 <DT> CVSROOT=:pserver:anoncvs@ip212.xs4net.freeswan.org:/freeswan/MASTER</DT>
148 <DD> The CVSROOT to use. This example may work for anonymous CVS, but
149 will be 12 hours behind the primary, and is still experimental</DD>
150
151 <DT> SNAPSHOTSIGDIR=$HOME/snapshot-sig</DT>
152 <DD> For the release tools, where to put the generated per-snapshot
153 signature keys</DD>
154
155 <DT> LASTREL=1.97</DT>
156 <DD> the name of the last release branch (to find the right
157 per-snapshot signature</DT>
158
159 <DD>
160
161 </DL>
162
163 </body>
164 </html>