summaryrefslogtreecommitdiff
path: root/security/nss/tests/all.sh
diff options
context:
space:
mode:
Diffstat (limited to 'security/nss/tests/all.sh')
-rwxr-xr-xsecurity/nss/tests/all.sh359
1 files changed, 0 insertions, 359 deletions
diff --git a/security/nss/tests/all.sh b/security/nss/tests/all.sh
deleted file mode 100755
index 4de519b40..000000000
--- a/security/nss/tests/all.sh
+++ /dev/null
@@ -1,359 +0,0 @@
-#!/bin/bash
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-# Slavomir Katuscak <slavomir.katuscak@sun.com>, Sun Microsystems
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-########################################################################
-#
-# mozilla/security/nss/tests/all.sh
-#
-# Script to start selected available NSS QA suites on one machine
-# this script is called or sourced by NSS QA which runs on all required
-# platforms
-#
-# Needs to work on all Unix and Windows platforms
-#
-# Currently available NSS QA suites:
-# ----------------------------------
-# cipher.sh - tests NSS ciphers
-# libpkix.sh - tests PKIX functionality
-# cert.sh - exercises certutil and creates certs necessary for
-# all other tests
-# dbtests.sh - tests related to certificate databases
-# tools.sh - tests the majority of the NSS tools
-# fips.sh - tests basic functionallity of NSS in FIPS-compliant
-# - mode
-# sdr.sh - tests NSS SDR
-# crmf.sh - CRMF/CMMF testing
-# smime.sh - S/MIME testing
-# ssl.sh - tests SSL V2 SSL V3 and TLS
-# ocsp.sh - OCSP testing
-# merge.sh - tests merging old and new shareable databases
-# pkits.sh - NIST/PKITS tests
-# chains.sh - PKIX cert chains tests
-# dbupgrade.sh - upgrade databases to new shareable version (used
-# only in upgrade test cycle)
-# memleak.sh - memory leak testing (optional)
-#
-# NSS testing is now devided to 4 cycles:
-# ---------------------------------------
-# standard - run test suites with defaults settings
-# pkix - run test suites with PKIX enabled
-# upgradedb - upgrade existing certificate databases to shareable
-# format (creates them if doesn't exist yet) and run
-# test suites with those databases
-# sharedb - run test suites with shareable database format
-# enabled (databases are created directly to this
-# format)
-#
-# Mandatory environment variables (to be set before testing):
-# -----------------------------------------------------------
-# HOST - test machine host name
-# DOMSUF - test machine domain name
-#
-# Optional environment variables to specify build to use:
-# -------------------------------------------------------
-# BUILT_OPT - use optimized/debug build
-# USE_64 - use 64bit/32bit build
-#
-# Optional environment variables to enable specific NSS features:
-# ---------------------------------------------------------------
-# NSS_ENABLE_ECC - enable ECC
-# NSS_ECC_MORE_THAN_SUITE_B - enable extended ECC
-#
-# Optional environment variables to select which cycles/suites to test:
-# ---------------------------------------------------------------------
-# NSS_CYCLES - list of cycles to run (separated by space
-# character)
-# - by default all cycles are tested
-#
-# NSS_TESTS - list of all test suites to run (separated by space
-# character, without trailing .sh)
-# - this list can be reduced for individual test cycles
-#
-# NSS_SSL_TESTS - list of ssl tests to run (see ssl.sh)
-# NSS_SSL_RUN - list of sss sub-tests to run (see ssl.sh)
-#
-# Testing schema:
-# ---------------
-# all.sh ~ (main)
-# | |
-# +------------+------------+-----------+ ~ run_cycles
-# | | | | |
-# standard pkix upgradedb sharedb ~ run_cycle_*
-# | |
-# +------+------+------+-----> ~ run_tests
-# | | | | |
-# cert tools fips ssl ... ~ . *.sh
-#
-# Special strings:
-# ----------------
-# FIXME ... known problems, search for this string
-# NOTE .... unexpected behavior
-#
-# NOTE:
-# -----
-# Unlike the old QA this is based on files sourcing each other
-# This is done to save time, since a great portion of time is lost
-# in calling and sourcing the same things multiple times over the
-# network. Also, this way all scripts have all shell function
-# available and a completely common environment
-#
-########################################################################
-
-############################## run_tests ###############################
-# run test suites defined in TESTS variable, skip scripts defined in
-# TESTS_SKIP variable
-########################################################################
-run_tests()
-{
- for TEST in ${TESTS}
- do
- echo "${TESTS_SKIP}" | grep "${TEST}" > /dev/null
- if [ $? -eq 0 ]; then
- continue
- fi
-
- SCRIPTNAME=${TEST}.sh
- echo "Running tests for ${TEST}"
- echo "TIMESTAMP ${TEST} BEGIN: `date`"
- (cd ${QADIR}/${TEST}; . ./${SCRIPTNAME} 2>&1)
- echo "TIMESTAMP ${TEST} END: `date`"
- done
-}
-
-########################## run_cycle_standard ##########################
-# run test suites with defaults settings (no PKIX, no sharedb)
-########################################################################
-run_cycle_standard()
-{
- TEST_MODE=STANDARD
-
- TESTS="${ALL_TESTS}"
- TESTS_SKIP=
-
- run_tests
-}
-
-############################ run_cycle_pkix ############################
-# run test suites with PKIX enabled
-########################################################################
-run_cycle_pkix()
-{
- TEST_MODE=PKIX
-
- TABLE_ARGS="bgcolor=cyan"
- html_head "Testing with PKIX"
- html "</TABLE><BR>"
-
- HOSTDIR="${HOSTDIR}/pkix"
- mkdir -p "${HOSTDIR}"
- init_directories
-
- NSS_ENABLE_PKIX_VERIFY="1"
- export NSS_ENABLE_PKIX_VERIFY
-
- TESTS="${ALL_TESTS}"
- TESTS_SKIP="cipher dbtests sdr crmf smime merge"
-
- echo "${NSS_SSL_TESTS}" | grep "_" > /dev/null
- RET=$?
- NSS_SSL_TESTS=`echo "${NSS_SSL_TESTS}" | sed -e "s/normal//g" -e "s/bypass//g" -e "s/fips//g" -e "s/_//g"`
- [ ${RET} -eq 0 ] && NSS_SSL_TESTS="${NSS_SSL_TESTS} bypass_bypass"
-
- run_tests
-}
-
-######################### run_cycle_upgrade_db #########################
-# upgrades certificate database to shareable format and run test suites
-# with those databases
-########################################################################
-run_cycle_upgrade_db()
-{
- TEST_MODE=UPGRADE_DB
-
- TABLE_ARGS="bgcolor=pink"
- html_head "Testing with upgraded library"
- html "</TABLE><BR>"
-
- OLDHOSTDIR="${HOSTDIR}"
- HOSTDIR="${HOSTDIR}/upgradedb"
- mkdir -p "${HOSTDIR}"
- init_directories
-
- if [ -r "${OLDHOSTDIR}/cert.log" ]; then
- DIRS="alicedir bobdir CA cert_extensions client clientCA dave eccurves eve ext_client ext_server fips SDR server serverCA tools/copydir cert.log cert.done tests.*"
- for i in $DIRS
- do
- cp -r ${OLDHOSTDIR}/${i} ${HOSTDIR} #2> /dev/null
- done
- fi
-
- # upgrade certs dbs to shared db
- TESTS="dbupgrade"
- TESTS_SKIP=
-
- run_tests
-
- NSS_DEFAULT_DB_TYPE="sql"
- export NSS_DEFAULT_DB_TYPE
-
- # run the subset of tests with the upgraded database
- TESTS="${ALL_TESTS}"
- TESTS_SKIP="cipher libpkix cert dbtests sdr ocsp pkits chains"
-
- echo "${NSS_SSL_TESTS}" | grep "_" > /dev/null
- RET=$?
- NSS_SSL_TESTS=`echo "${NSS_SSL_TESTS}" | sed -e "s/normal//g" -e "s/bypass//g" -e "s/fips//g" -e "s/_//g"`
- [ ${RET} -eq 0 ] && NSS_SSL_TESTS="${NSS_SSL_TESTS} bypass_bypass"
- NSS_SSL_RUN=`echo "${NSS_SSL_RUN}" | sed -e "s/cov//g" -e "s/auth//g"`
-
- run_tests
-}
-
-########################## run_cycle_shared_db #########################
-# run test suites with certificate databases set to shareable format
-########################################################################
-run_cycle_shared_db()
-{
- TEST_MODE=SHARED_DB
-
- TABLE_ARGS="bgcolor=yellow"
- html_head "Testing with shared library"
- html "</TABLE><BR>"
-
- HOSTDIR="${HOSTDIR}/sharedb"
- mkdir -p "${HOSTDIR}"
- init_directories
-
- NSS_DEFAULT_DB_TYPE="sql"
- export NSS_DEFAULT_DB_TYPE
-
- # run the tests for native sharedb support
- TESTS="${ALL_TESTS}"
- TESTS_SKIP="cipher libpkix dbupgrade sdr ocsp pkits"
-
- echo "${NSS_SSL_TESTS}" | grep "_" > /dev/null
- RET=$?
- NSS_SSL_TESTS=`echo "${NSS_SSL_TESTS}" | sed -e "s/normal//g" -e "s/bypass//g" -e "s/fips//g" -e "s/_//g"`
- [ ${RET} -eq 0 ] && NSS_SSL_TESTS="${NSS_SSL_TESTS} bypass_bypass"
- NSS_SSL_RUN=`echo "${NSS_SSL_RUN}" | sed -e "s/cov//g" -e "s/auth//g"`
-
- run_tests
-}
-
-############################# run_cycles ###############################
-# run test cycles defined in CYCLES variable
-########################################################################
-run_cycles()
-{
- for CYCLE in ${CYCLES}
- do
- case "${CYCLE}" in
- "standard")
- run_cycle_standard
- ;;
- "pkix")
- run_cycle_pkix
- ;;
- "upgradedb")
- run_cycle_upgrade_db
- ;;
- "sharedb")
- run_cycle_shared_db
- ;;
- esac
- . ${ENV_BACKUP}
- done
-}
-
-############################## main code ###############################
-
-cycles="standard pkix upgradedb sharedb"
-CYCLES=${NSS_CYCLES:-$cycles}
-
-tests="cipher libpkix cert dbtests tools fips sdr crmf smime ssl ocsp merge pkits chains"
-TESTS=${NSS_TESTS:-$tests}
-
-ALL_TESTS=${TESTS}
-
-nss_ssl_tests="crl bypass_normal normal_bypass fips_normal normal_fips iopr"
-NSS_SSL_TESTS="${NSS_SSL_TESTS:-$nss_ssl_tests}"
-
-nss_ssl_run="cov auth stress"
-NSS_SSL_RUN="${NSS_SSL_RUN:-$nss_ssl_run}"
-
-SCRIPTNAME=all.sh
-CLEANUP="${SCRIPTNAME}"
-cd `dirname $0`
-
-# all.sh should be the first one to try to source the init
-if [ -z "${INIT_SOURCED}" -o "${INIT_SOURCED}" != "TRUE" ]; then
- cd common
- . ./init.sh
-fi
-
-# NOTE:
-# Since in make at the top level, modutil is the last file
-# created, we check for modutil to know whether the build
-# is complete. If a new file is created after that, the
-# following test for modutil should check for that instead.
-
-if [ ! -f ${DIST}/${OBJDIR}/bin/modutil -a \
- ! -f ${DIST}/${OBJDIR}/bin/modutil.exe ]; then
- echo "Build Incomplete. Aborting test." >> ${LOGFILE}
- html_head "Testing Initialization"
- Exit "Checking for build"
-fi
-
-# NOTE:
-# Lists of enabled tests and other settings are stored to ${ENV_BACKUP}
-# file and are are restored after every test cycle.
-
-ENV_BACKUP=${HOSTDIR}/env.sh
-env_backup > ${ENV_BACKUP}
-
-if [ "${O_CRON}" = "ON" ]; then
- run_cycles >> ${LOGFILE}
-else
- run_cycles | tee -a ${LOGFILE}
-fi
-
-SCRIPTNAME=all.sh
-
-. ${QADIR}/common/cleanup.sh
-