author | Tom Henderson <tomh@tomh.org> |
Mon, 14 Sep 2015 13:34:07 -0700 | |
changeset 11665 | bb52e7eaaf33 |
parent 9812 | 69671bec393b |
permissions | -rwxr-xr-x |
9801
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
1 |
#!/bin/bash |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
2 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
3 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
4 |
# Copyright (c) 2013 Lawrence Livermore National Laboratory |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
5 |
# |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
6 |
# This program is free software; you can redistribute it and/or modify |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
7 |
# it under the terms of the GNU General Public License version 2 as |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
8 |
# published by the Free Software Foundation; |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
9 |
# |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
10 |
# This program is distributed in the hope that it will be useful, |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
11 |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
12 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
13 |
# GNU General Public License for more details. |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
14 |
# |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
15 |
# You should have received a copy of the GNU General Public License |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
16 |
# along with this program; if not, write to the Free Software |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
17 |
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
18 |
# |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
19 |
# Author: Peter D. Barnes, Jr. <pdbarnes@llnl.gov> |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
20 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
21 |
# |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
22 |
# Do a coverity build and submit report |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
23 |
# |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
24 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
25 |
me=`basename $0` |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
26 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
27 |
# echo commands and output to a log file |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
28 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
29 |
logf=coverity/coverity-build.log |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
30 |
echo | tee $logf |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
31 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
32 |
function say () |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
33 |
{ |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
34 |
echo "$me:" $* | tee -a $logf |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
35 |
} |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
36 |
blank () |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
37 |
{ |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
38 |
echo | tee -a $logf |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
39 |
} |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
40 |
function doo () |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
41 |
{ |
9812
69671bec393b
Fix vector index range.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
9801
diff
changeset
|
42 |
say "$ "$* |
9801
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
43 |
$* 2>&1 | tee -a $logf |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
44 |
} |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
45 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
46 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
47 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
48 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
49 |
say $(date) |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
50 |
blank |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
51 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
52 |
doo ./waf clean |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
53 |
blank |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
54 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
55 |
doo ./waf configure $NS3CONFIG |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
56 |
blank |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
57 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
58 |
cov=coverity/cov-int |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
59 |
doo cov-build --dir $cov ./waf build |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
60 |
blank |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
61 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
62 |
tarf=coverity/ns-3.tgz |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
63 |
doo tar cvzf $tarf -C coverity cov-int |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
64 |
blank |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
65 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
66 |
useremail=$(hg showconfig ui.username | \ |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
67 |
egrep -o "\b[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9.-]+\b") |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
68 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
69 |
repoversion="$(basename $(dirname $PWD))@$(hg id -i)" |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
70 |
|
9812
69671bec393b
Fix vector index range.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
9801
diff
changeset
|
71 |
# curl complains if this contains white space |
69671bec393b
Fix vector index range.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
9801
diff
changeset
|
72 |
description="Coverity-mods" |
9801
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
73 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
74 |
doo curl \ |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
75 |
--form file=@$tarf \ |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
76 |
--form project=ns-3 \ |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
77 |
--form password=4jk2BVX9 \ |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
78 |
--form email="$useremail" \ |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
79 |
--form version="$repoversion" \ |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
80 |
--form description="$description" \ |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
81 |
http://scan5.coverity.com/cgi-bin/upload.py |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
82 |
blank |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
83 |
|
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
84 |
say $(date) |
d1dc77afbd27
Coverity static checking script
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff
changeset
|
85 |
blank |