utils/coverity-report.sh
author Tom Henderson <tomh@tomh.org>
Mon, 14 Sep 2015 13:34:07 -0700
changeset 11665 bb52e7eaaf33
parent 9812 69671bec393b
permissions -rwxr-xr-x
clarify Wi-Fi short slot time implementation status
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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