#!/bin/ksh # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/.
# # runy2ktests.ksh # Set system clock to Y2K dates of interest and run the Y2K tests. # Needs root/administrator privilege # # WARNING: Because this script needs to be run with root/administrator # privilege, thorough understanding of the script and extreme # caution are urged. #
# # SECTION I # Define variables #
SYSTEM_INFO=`uname -a`
OS_ARCH=`uname -s` if [ $OS_ARCH = "Windows_NT" ] || [ $OS_ARCH = "Windows_95" ] then
NULL_DEVICE=nul else
NULL_DEVICE=/dev/null fi
# # Test dates for NSPR Y2K tests #
Y2KDATES=" 123123591998.55
090923591999.55
123123591999.55
022823592000.55
022923592000.55
123123592000.55"
set_date()
{
case $OS_ARCH in
Windows_NT) # # The date command in MKS Toolkit releases 5.1 and 5.2 # uses the current DST status for the date we want to # set the system clock to. However, the DST status for # that date may be different from the current DST status. # We can work around this problem by invoking the date # command with the same date twice. #
date "$1" > $NULL_DEVICE
date "$1" > $NULL_DEVICE
;;
*)
date "$1" > $NULL_DEVICE
;;
esac
}
set_y2k_test_parameters()
{ # # set dates #
case $OS_ARCH in
AIX)
DATES=$Y2KDATES_AIX
;;
HP-UX)
DATES=$Y2KDATES_HPUX
;;
Windows_NT)
DATES=$Y2KDATES_MKS
;;
Windows_95)
DATES=$Y2KDATES_MKS
;;
*)
DATES=$Y2KDATES
;;
esac
# # set tests #
case $OS_ARCH in
HP-UX)
TESTS=$Y2KTESTS_HPUX
;;
*)
TESTS=$Y2KTESTS
;;
esac
}
# # runtests: # - runs each test in $TESTS after setting the # system clock to each date in $DATES #
runtests()
{ for newdate in ${DATES} do
set_date $newdate echo $newdate echo"BEGIN\t\t\t`date`" echo"Date\t\t\t\t\tTest\t\t\tResult" echo $TESTS | while read prog do echo"`date`\t\t\c" echo"$prog\c"
./$prog >> ${LOGFILE} 2>&1 if [ 0 = $? ] ; then echo"\t\t\tPassed"; else echo"\t\t\tFAILED"; fi; done echo"END\t\t\t`date`\n" done
}
# # SECTION III # Run tests #
LOGFILE=${NSPR_TEST_LOGFILE:-$NULL_DEVICE}
OBJDIR=`basename $PWD` echo"\nNSPR Year 2000 Test Results - $OBJDIR\n" echo"SYSTEM:\t\t\t${SYSTEM_INFO}" echo"NSPR_TEST_LOGFILE:\t${LOGFILE}\n"
save_date
# # Run NSPR Y2k and standard tests #
set_y2k_test_parameters
runtests
restore_date
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.11Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.