1<?xml version='1.0' encoding='UTF-8'?>
2<project>
3 <actions/>
4 <description>Run static and functional tests against a CHART-EPS source code repository</description>
5 <keepDependencies>false</keepDependencies>
6 <properties>
7 <hudson.plugins.trac.TracProjectProperty plugin="trac@1.13">
8 <tracWebsite>http://tctrac/projects/chart/</tracWebsite>
9 </hudson.plugins.trac.TracProjectProperty>
10 <hudson.model.ParametersDefinitionProperty>
11 <parameterDefinitions>
12 <hudson.model.BooleanParameterDefinition>
13 <name>BUILD</name>
14 <description>Initial preparation step</description>
15 <defaultValue>true</defaultValue>
16 </hudson.model.BooleanParameterDefinition>
17 <hudson.model.BooleanParameterDefinition>
18 <name>STATIC</name>
19 <description>Run static tests (pep8, pylint, jslint, csslint) and LoC counts against source code.</description>
20 <defaultValue>true</defaultValue>
21 </hudson.model.BooleanParameterDefinition>
22 <hudson.model.BooleanParameterDefinition>
23 <name>FUNCTIONAL</name>
24 <description>Run functional tests.</description>
25 <defaultValue>true</defaultValue>
26 </hudson.model.BooleanParameterDefinition>
27 </parameterDefinitions>
28 </hudson.model.ParametersDefinitionProperty>
29 </properties>
30 <scm class="org.jenkinsci.plugins.multiplescms.MultiSCM" plugin="multiple-scms@0.3">
31 <scms>
32 <hudson.plugins.mercurial.MercurialSCM plugin="mercurial@1.50.1">
33 <source>/tcc1/home/elson/chart</source>
34 <modules></modules>
35 <revisionType>BRANCH</revisionType>
36 <revision>default</revision>
37 <subdir>chart</subdir>
38 <clean>false</clean>
39 <credentialsId></credentialsId>
40 <disableChangeLog>false</disableChangeLog>
41 </hudson.plugins.mercurial.MercurialSCM>
42 <hudson.plugins.mercurial.MercurialSCM plugin="mercurial@1.50.1">
43 <source>/tcc1/home/elson/charteps</source>
44 <modules></modules>
45 <revisionType>BRANCH</revisionType>
46 <revision>default</revision>
47 <subdir>charteps</subdir>
48 <clean>false</clean>
49 <credentialsId></credentialsId>
50 <disableChangeLog>false</disableChangeLog>
51 </hudson.plugins.mercurial.MercurialSCM>
52 </scms>
53 </scm>
54 <canRoam>true</canRoam>
55 <disabled>false</disabled>
56 <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
57 <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
58 <triggers>
59 <hudson.triggers.TimerTrigger>
60 <spec>H 0 * * *</spec>
61 </hudson.triggers.TimerTrigger>
62 </triggers>
63 <concurrentBuild>false</concurrentBuild>
64 <builders>
65 <hudson.tasks.Shell>
66 <command>if [ "$BUILD" = "true" ]; then
67 #cp charteps/dist/jenkins/$JOB_NAME/settings_*.py charteps/charteps
68 mkdir -p statefiles
69 chart/chart/cmd/build.sh
70 PATH=$PWD/charteps/bin:$PATH PYTHONPATH=$PWD/chart charteps/charteps/cmd/build.sh
71fi
72</command>
73 </hudson.tasks.Shell>
74 <hudson.tasks.Shell>
75 <command>rm -f sloccount.sc
76touch sloccount.sc
77rm -f pylint.out
78touch pylint.out
79rm -f pep8.out
80touch pep8.out
81rm -f csslint.out
82touch csslint.out
83rm -f jslint.out
84echo -e "\n" > jslint.out
85if [ "$STATIC" = "true" ]; then
86 CHART_SETTINGS_MODULE=charteps.settings PYTHONPATH=$PWD/chart charteps/bin/charteps chart/dist/cloc/cloc.py charteps/bin charteps/charteps charteps/dist
87 pep8 --repeat --config chart/dist/pep8/pep8.conf --exclude rdr.py charteps/charteps | tee pep8.out || :
88 PYTHONPATH=$PWD/chart:$PWD/charteps pylint --ignore peps,rdr.py --rcfile chart/dist/pylint/pylintrc charteps/charteps | grep -v "site-packages/matplotlib" | tee pylint.out || :
89 PYTHONPATH=$PWD/chart find charteps/charteps -name '*.css' -type f | PYTHONPATH=$PWD/chart xargs charteps/bin/charteps check | chart/dist/csslint/toxml.py | tee csslint.out || :
90 find charteps/charteps -name '*.js' -type f | xargs -r jslint --report xml > jslint.out || :
91fi
92</command>
93 </hudson.tasks.Shell>
94 <hudson.tasks.Shell>
95 <command>rm -f pytest-functional.xml
96touch pytest-functional.xml
97rm -f pytest-fulldb.xml
98touch pytest-fulldb.xml
99rm -f pytest-write.xml
100touch pytest-write.xml
101if [ "$FUNCTIONAL" = "true" ]; then
102 # set CHART_DEBUG to disable notifications
103 PATH=$PWD/charteps/bin:$PATH PYTHONPATH=$PWD/chart:$PWD/charteps CHART_DEBUG=1 py.test -v --junitxml=pytest-functional.xml charteps/charteps/tests/functional/test_*.py || :
104 PATH=$PWD/charteps/bin:$PATH PYTHONPATH=$PWD/chart:$PWD/charteps CHART_DEBUG=1 py.test -v --junitxml=pytest-fulldb.xml charteps/charteps/tests/functional_fulldb/test_*.py || :
105 PATH=$PWD/charteps/bin:$PATH PYTHONPATH=$PWD/chart:$PWD/charteps CHART_DEBUG=1 CHART_DB=argus-val-ingester py.test -v --junitxml=pytest-write.xml charteps/charteps/tests/functional_fulldb_write/test_*.py || :
106fi
107</command>
108 </hudson.tasks.Shell>
109 </builders>
110 <publishers>
111 <hudson.tasks.junit.JUnitResultArchiver plugin="junit@1.2-beta-4">
112 <testResults>pytest-functional.xml,pytest-fulldb.xml,pytest-write.xml</testResults>
113 <keepLongStdio>false</keepLongStdio>
114 <testDataPublishers/>
115 <healthScaleFactor>1.0</healthScaleFactor>
116 </hudson.tasks.junit.JUnitResultArchiver>
117 <hudson.plugins.sloccount.SloccountPublisher plugin="sloccount@1.20">
118 <pattern>sloccount.sc</pattern>
119 <encoding></encoding>
120 <commentIsCode>false</commentIsCode>
121 <numBuildsInGraph>0</numBuildsInGraph>
122 <ignoreBuildFailure>false</ignoreBuildFailure>
123 </hudson.plugins.sloccount.SloccountPublisher>
124 <hudson.plugins.violations.ViolationsPublisher plugin="violations@0.7.11">
125 <config>
126 <suppressions class="sorted-set"/>
127 <typeConfigs>
128 <entry>
129 <string>checkstyle</string>
130 <hudson.plugins.violations.TypeConfig>
131 <type>checkstyle</type>
132 <min>100</min>
133 <max>999</max>
134 <unstable>999</unstable>
135 <usePattern>false</usePattern>
136 <pattern></pattern>
137 </hudson.plugins.violations.TypeConfig>
138 </entry>
139 <entry>
140 <string>codenarc</string>
141 <hudson.plugins.violations.TypeConfig>
142 <type>codenarc</type>
143 <min>100</min>
144 <max>999</max>
145 <unstable>999</unstable>
146 <usePattern>false</usePattern>
147 <pattern></pattern>
148 </hudson.plugins.violations.TypeConfig>
149 </entry>
150 <entry>
151 <string>cpd</string>
152 <hudson.plugins.violations.TypeConfig>
153 <type>cpd</type>
154 <min>100</min>
155 <max>999</max>
156 <unstable>999</unstable>
157 <usePattern>false</usePattern>
158 <pattern></pattern>
159 </hudson.plugins.violations.TypeConfig>
160 </entry>
161 <entry>
162 <string>cpplint</string>
163 <hudson.plugins.violations.TypeConfig>
164 <type>cpplint</type>
165 <min>100</min>
166 <max>999</max>
167 <unstable>999</unstable>
168 <usePattern>false</usePattern>
169 <pattern></pattern>
170 </hudson.plugins.violations.TypeConfig>
171 </entry>
172 <entry>
173 <string>csslint</string>
174 <hudson.plugins.violations.TypeConfig>
175 <type>csslint</type>
176 <min>100</min>
177 <max>999</max>
178 <unstable>999</unstable>
179 <usePattern>false</usePattern>
180 <pattern></pattern>
181 </hudson.plugins.violations.TypeConfig>
182 </entry>
183 <entry>
184 <string>findbugs</string>
185 <hudson.plugins.violations.TypeConfig>
186 <type>findbugs</type>
187 <min>100</min>
188 <max>999</max>
189 <unstable>999</unstable>
190 <usePattern>false</usePattern>
191 <pattern></pattern>
192 </hudson.plugins.violations.TypeConfig>
193 </entry>
194 <entry>
195 <string>fxcop</string>
196 <hudson.plugins.violations.TypeConfig>
197 <type>fxcop</type>
198 <min>100</min>
199 <max>999</max>
200 <unstable>999</unstable>
201 <usePattern>false</usePattern>
202 <pattern></pattern>
203 </hudson.plugins.violations.TypeConfig>
204 </entry>
205 <entry>
206 <string>gendarme</string>
207 <hudson.plugins.violations.TypeConfig>
208 <type>gendarme</type>
209 <min>100</min>
210 <max>999</max>
211 <unstable>999</unstable>
212 <usePattern>false</usePattern>
213 <pattern></pattern>
214 </hudson.plugins.violations.TypeConfig>
215 </entry>
216 <entry>
217 <string>jcreport</string>
218 <hudson.plugins.violations.TypeConfig>
219 <type>jcreport</type>
220 <min>100</min>
221 <max>999</max>
222 <unstable>999</unstable>
223 <usePattern>false</usePattern>
224 <pattern></pattern>
225 </hudson.plugins.violations.TypeConfig>
226 </entry>
227 <entry>
228 <string>jslint</string>
229 <hudson.plugins.violations.TypeConfig>
230 <type>jslint</type>
231 <min>100</min>
232 <max>999</max>
233 <unstable>999</unstable>
234 <usePattern>false</usePattern>
235 <pattern></pattern>
236 </hudson.plugins.violations.TypeConfig>
237 </entry>
238 <entry>
239 <string>pep8</string>
240 <hudson.plugins.violations.TypeConfig>
241 <type>pep8</type>
242 <min>100</min>
243 <max>999</max>
244 <unstable>999</unstable>
245 <usePattern>false</usePattern>
246 <pattern>pep8.out</pattern>
247 </hudson.plugins.violations.TypeConfig>
248 </entry>
249 <entry>
250 <string>perlcritic</string>
251 <hudson.plugins.violations.TypeConfig>
252 <type>perlcritic</type>
253 <min>10</min>
254 <max>999</max>
255 <unstable>999</unstable>
256 <usePattern>false</usePattern>
257 <pattern></pattern>
258 </hudson.plugins.violations.TypeConfig>
259 </entry>
260 <entry>
261 <string>pmd</string>
262 <hudson.plugins.violations.TypeConfig>
263 <type>pmd</type>
264 <min>100</min>
265 <max>999</max>
266 <unstable>999</unstable>
267 <usePattern>false</usePattern>
268 <pattern></pattern>
269 </hudson.plugins.violations.TypeConfig>
270 </entry>
271 <entry>
272 <string>pylint</string>
273 <hudson.plugins.violations.TypeConfig>
274 <type>pylint</type>
275 <min>100</min>
276 <max>999</max>
277 <unstable>999</unstable>
278 <usePattern>false</usePattern>
279 <pattern>pylint.out</pattern>
280 </hudson.plugins.violations.TypeConfig>
281 </entry>
282 <entry>
283 <string>simian</string>
284 <hudson.plugins.violations.TypeConfig>
285 <type>simian</type>
286 <min>100</min>
287 <max>999</max>
288 <unstable>999</unstable>
289 <usePattern>false</usePattern>
290 <pattern></pattern>
291 </hudson.plugins.violations.TypeConfig>
292 </entry>
293 <entry>
294 <string>stylecop</string>
295 <hudson.plugins.violations.TypeConfig>
296 <type>stylecop</type>
297 <min>100</min>
298 <max>999</max>
299 <unstable>999</unstable>
300 <usePattern>false</usePattern>
301 <pattern></pattern>
302 </hudson.plugins.violations.TypeConfig>
303 </entry>
304 </typeConfigs>
305 <limit>100</limit>
306 <sourcePathPattern></sourcePathPattern>
307 <fauxProjectPath></fauxProjectPath>
308 <encoding>default</encoding>
309 </config>
310 </hudson.plugins.violations.ViolationsPublisher>
311 </publishers>
312 <buildWrappers>
313 <hudson.plugins.ansicolor.AnsiColorBuildWrapper plugin="ansicolor@0.4.1">
314 <colorMapName>xterm</colorMapName>
315 </hudson.plugins.ansicolor.AnsiColorBuildWrapper>
316 </buildWrappers>
317</project>