security/nss/coverage/cov.sh

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rwxr-xr-x

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

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

mercurial