security/nss/coverage/cov.sh

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/security/nss/coverage/cov.sh	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,130 @@
     1.4 +#!/bin/bash
     1.5 +#
     1.6 +# This Source Code Form is subject to the terms of the Mozilla Public
     1.7 +# License, v. 2.0. If a copy of the MPL was not distributed with this
     1.8 +# file, You can obtain one at http://mozilla.org/MPL/2.0/.
     1.9 +
    1.10 +OS=`uname -s`
    1.11 +ARCH=`uname -p`
    1.12 +SCRIPT_DIR=`pwd`
    1.13 +DATE=`date +%Y%m%d`
    1.14 +
    1.15 +if [ $# -ne 1 ]; then
    1.16 +    echo "Usage: $0 [securitytip|securityjes5]"
    1.17 +    exit 1
    1.18 +fi
    1.19 +
    1.20 +BRANCH="$1"
    1.21 +
    1.22 +if [ "${BRANCH}" != "securitytip" -a "${BRANCH}" != "securityjes5" ]; then
    1.23 +    echo "Usage: $0 [securitytip|securityjes5]"
    1.24 +    exit 1
    1.25 +fi
    1.26 +
    1.27 +COV_DIR="/share/builds/mccrel3/security/coverage"
    1.28 +BRANCH_DIR="${COV_DIR}/${BRANCH}"
    1.29 +DATE_DIR="${BRANCH_DIR}/${DATE}-${ARCH}"
    1.30 +CVS_DIR="${DATE_DIR}/cvs_mozilla"
    1.31 +TCOV_DIR="${DATE_DIR}/tcov_mozilla"
    1.32 +
    1.33 +CVS_CHECKOUT_BRANCH="cvs_checkout_${BRANCH}"
    1.34 +
    1.35 +export HOST=`hostname`
    1.36 +export DOMSUF=red.iplanet.com
    1.37 +
    1.38 +export NSS_ECC_MORE_THAN_SUITE_B=1
    1.39 +export IOPR_HOSTADDR_LIST="dochinups.red.iplanet.com"
    1.40 +export NSS_AIA_PATH="/share/builds/mccrel3/security/aia_certs"
    1.41 +export NSS_AIA_HTTP="http://cindercone.red.iplanet.com/share/builds/mccrel3/security/aia_certs"
    1.42 +
    1.43 +export USE_TCOV=1
    1.44 +export SUN_PROFDATA_DIR="${DATE_DIR}"
    1.45 +export SUN_PROFDATA="tcov_data"
    1.46 +
    1.47 +if [ "${OS}" != "SunOS" ]; then
    1.48 +    echo "OS not supported"
    1.49 +    exit 1
    1.50 +fi
    1.51 +
    1.52 +case "${ARCH}" in 
    1.53 +"sparc")
    1.54 +    export PATH="/usr/dist/share/sunstudio_sparc,v12.0/SUNWspro/prod/bin:/usr/sfw/bin:/usr/bin:/usr/ccs/bin:/usr/ucb:/tools/ns/bin:/usr/local/bin"
    1.55 +    ;;
    1.56 +"i386")
    1.57 +    export PATH="/usr/dist/share/sunstudio_i386,v12.0/SUNWspro/bin:/usr/sfw/bin:/usr/bin:/usr/ccs/bin:/usr/ucb:/tools/ns/bin:/usr/local/bin"
    1.58 +    ;;
    1.59 +*)
    1.60 +    echo "Platform not supported"
    1.61 +    exit 1
    1.62 +    ;;
    1.63 +esac
    1.64 +
    1.65 +cvs_checkout_securitytip()
    1.66 +{
    1.67 +    cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/nsprpub
    1.68 +    cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/dbm
    1.69 +    cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/security/dbm
    1.70 +    cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/security/coreconf
    1.71 +    cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/security/nss
    1.72 +    cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/security/jss
    1.73 +    cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_1_RTM mozilla/security/nss/lib/freebl/ecl/ecl-curve.h
    1.74 +}
    1.75 +
    1.76 +cvs_checkout_securityjes5()
    1.77 +{
    1.78 +    cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSPR_4_6_BRANCH mozilla/nsprpub
    1.79 +    cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_BRANCH mozilla/dbm
    1.80 +    cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_BRANCH mozilla/security/dbm
    1.81 +    cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_BRANCH mozilla/security/coreconf
    1.82 +    cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_BRANCH mozilla/security/nss
    1.83 +    cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r JSS_4_2_BRANCH mozilla/security/jss
    1.84 +    cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_1_RTM mozilla/security/nss/lib/freebl/ecl/ecl-curve.h
    1.85 +}
    1.86 +
    1.87 +cvs_checkout()
    1.88 +{
    1.89 +    rm -rf "${DATE_DIR}"
    1.90 +    mkdir -p "${CVS_DIR}"
    1.91 +    cd "${CVS_DIR}"
    1.92 +
    1.93 +    ${CVS_CHECKOUT_BRANCH}
    1.94 +}
    1.95 +
    1.96 +run_build()
    1.97 +{
    1.98 +    cd "${CVS_DIR}/mozilla/security/nss"
    1.99 +    gmake nss_build_all
   1.100 +}
   1.101 +
   1.102 +run_tests()
   1.103 +{
   1.104 +    cd "${CVS_DIR}/mozilla/security/nss/tests"
   1.105 +    ./all.sh
   1.106 +}
   1.107 +
   1.108 +process_results()
   1.109 +{
   1.110 +    rm -rf "${TCOV_DIR}"
   1.111 +    mkdir -p "${TCOV_DIR}"
   1.112 +
   1.113 +    cat "${SUN_PROFDATA_DIR}/${SUN_PROFDATA}/tcovd" | grep SRCFILE | grep "${CVS_DIR}/.*.c$" | sed "s:[^/]*\(.*\):\1:" | sort -u |
   1.114 +    while read line
   1.115 +    do
   1.116 +	DIR=`echo "${line}" | sed "s:${CVS_DIR}/\(.*\)/.*:\1:"`
   1.117 +	FILE=`echo "${line}" | sed "s:.*/\(.*\):\1:"`
   1.118 +
   1.119 +	mkdir -p "${TCOV_DIR}/${DIR}"
   1.120 +	tcov -o "${TCOV_DIR}/${DIR}/$FILE" -x "${SUN_PROFDATA}" $line >/dev/null 2>&1
   1.121 +    done
   1.122 +}
   1.123 +
   1.124 +cvs_checkout
   1.125 +run_build
   1.126 +run_tests
   1.127 +process_results
   1.128 +
   1.129 +cd "${SCRIPT_DIR}"
   1.130 +./report.sh "${BRANCH}" "${DATE}" "${ARCH}"  
   1.131 +
   1.132 +exit 0
   1.133 +

mercurial