security/nss/coverage/cov.sh

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rwxr-xr-x

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 #!/bin/bash
     2 #
     3 # This Source Code Form is subject to the terms of the Mozilla Public
     4 # License, v. 2.0. If a copy of the MPL was not distributed with this
     5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
     7 OS=`uname -s`
     8 ARCH=`uname -p`
     9 SCRIPT_DIR=`pwd`
    10 DATE=`date +%Y%m%d`
    12 if [ $# -ne 1 ]; then
    13     echo "Usage: $0 [securitytip|securityjes5]"
    14     exit 1
    15 fi
    17 BRANCH="$1"
    19 if [ "${BRANCH}" != "securitytip" -a "${BRANCH}" != "securityjes5" ]; then
    20     echo "Usage: $0 [securitytip|securityjes5]"
    21     exit 1
    22 fi
    24 COV_DIR="/share/builds/mccrel3/security/coverage"
    25 BRANCH_DIR="${COV_DIR}/${BRANCH}"
    26 DATE_DIR="${BRANCH_DIR}/${DATE}-${ARCH}"
    27 CVS_DIR="${DATE_DIR}/cvs_mozilla"
    28 TCOV_DIR="${DATE_DIR}/tcov_mozilla"
    30 CVS_CHECKOUT_BRANCH="cvs_checkout_${BRANCH}"
    32 export HOST=`hostname`
    33 export DOMSUF=red.iplanet.com
    35 export NSS_ECC_MORE_THAN_SUITE_B=1
    36 export IOPR_HOSTADDR_LIST="dochinups.red.iplanet.com"
    37 export NSS_AIA_PATH="/share/builds/mccrel3/security/aia_certs"
    38 export NSS_AIA_HTTP="http://cindercone.red.iplanet.com/share/builds/mccrel3/security/aia_certs"
    40 export USE_TCOV=1
    41 export SUN_PROFDATA_DIR="${DATE_DIR}"
    42 export SUN_PROFDATA="tcov_data"
    44 if [ "${OS}" != "SunOS" ]; then
    45     echo "OS not supported"
    46     exit 1
    47 fi
    49 case "${ARCH}" in 
    50 "sparc")
    51     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"
    52     ;;
    53 "i386")
    54     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"
    55     ;;
    56 *)
    57     echo "Platform not supported"
    58     exit 1
    59     ;;
    60 esac
    62 cvs_checkout_securitytip()
    63 {
    64     cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/nsprpub
    65     cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/dbm
    66     cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/security/dbm
    67     cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/security/coreconf
    68     cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/security/nss
    69     cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A mozilla/security/jss
    70     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
    71 }
    73 cvs_checkout_securityjes5()
    74 {
    75     cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSPR_4_6_BRANCH mozilla/nsprpub
    76     cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_BRANCH mozilla/dbm
    77     cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_BRANCH mozilla/security/dbm
    78     cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_BRANCH mozilla/security/coreconf
    79     cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r NSS_3_11_BRANCH mozilla/security/nss
    80     cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -A -r JSS_4_2_BRANCH mozilla/security/jss
    81     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
    82 }
    84 cvs_checkout()
    85 {
    86     rm -rf "${DATE_DIR}"
    87     mkdir -p "${CVS_DIR}"
    88     cd "${CVS_DIR}"
    90     ${CVS_CHECKOUT_BRANCH}
    91 }
    93 run_build()
    94 {
    95     cd "${CVS_DIR}/mozilla/security/nss"
    96     gmake nss_build_all
    97 }
    99 run_tests()
   100 {
   101     cd "${CVS_DIR}/mozilla/security/nss/tests"
   102     ./all.sh
   103 }
   105 process_results()
   106 {
   107     rm -rf "${TCOV_DIR}"
   108     mkdir -p "${TCOV_DIR}"
   110     cat "${SUN_PROFDATA_DIR}/${SUN_PROFDATA}/tcovd" | grep SRCFILE | grep "${CVS_DIR}/.*.c$" | sed "s:[^/]*\(.*\):\1:" | sort -u |
   111     while read line
   112     do
   113 	DIR=`echo "${line}" | sed "s:${CVS_DIR}/\(.*\)/.*:\1:"`
   114 	FILE=`echo "${line}" | sed "s:.*/\(.*\):\1:"`
   116 	mkdir -p "${TCOV_DIR}/${DIR}"
   117 	tcov -o "${TCOV_DIR}/${DIR}/$FILE" -x "${SUN_PROFDATA}" $line >/dev/null 2>&1
   118     done
   119 }
   121 cvs_checkout
   122 run_build
   123 run_tests
   124 process_results
   126 cd "${SCRIPT_DIR}"
   127 ./report.sh "${BRANCH}" "${DATE}" "${ARCH}"  
   129 exit 0

mercurial