]>
Commit | Line | Data |
---|---|---|
997358a6 MW |
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> |