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 +