#!/bin/sh # NAME # check-regression.sh # # SYNOPSIS # check-regression.sh # # DESCRIPTION # # This scrip must be run before any major cvs checkins are done. # It will perform a number of regression tests to check that # nothing is broken. # # OPTIONS # # EXAMPLES # # # ENVIRONMENT # NDB_PROJ_HOME Home dir for ndb # verbose verbose printouts # # FILES # $NDB_PROJ_HOME/lib/funcs.sh general shell script functions # # # SEE ALSO # # DIAGNOSTICTS # # # VERSION # 1.0 # # AUTHOR # # . $NDB_PROJ_HOME/lib/funcs.sh # Load some good stuff synopsis="check-regression.sh" progname=`basename $0` numOfTestsOK=0 numOfTestsFailed=0 LOG=check-regression.`date '+%Y-%m-%d'` executeTest() { eval "$@" | tee -a $LOG if [ $? -eq 0 ] then echo "SUCCESS: $@" numOfTestsOK=`expr $numOfTestsOK + 1` else echo "FAILED: $@" numOfTestsFailed=`expr $numOfTestsFailed + 1` fi } # # INFO # trace "Starting: `date`" trace "NDB_PROJ_HOME = $NDB_PROJ_HOME" trace "NDB_TOP = $NDB_TOP" # # THE TESTS TO EXECUTE # # Testsuite: testDataBuffers # Number of tests: 1 executeTest 'drop_tab ' TB00 TB01 TB02 TB03 TB04 TB05 TB06 TB07 TB08 TB09 TB10 TB11 TB12 TB13 TB14 TB15 executeTest 'testDataBuffers' executeTest 'drop_tab ' TB00 TB01 TB02 TB03 TB04 TB05 TB06 TB07 TB08 TB09 TB10 TB11 TB12 TB13 TB14 TB15 TABLES="T9 T13" # Testsuite: testBasic # Number of tests: 16 executeTest 'testBasic -n PkInsert' $TABLES executeTest 'testBasic -n PkRead' $TABLES executeTest 'testBasic -n PkUpdate' $TABLES executeTest 'testBasic -n PkDelete' $TABLES #executeTest 'testBasic -n UpdateAndRead' #executeTest 'testBasic -n PkReadAndLocker' #executeTest 'testBasic -n PkReadAndLocker2' #executeTest 'testBasic -n PkReadUpdateAndLocker' #executeTest 'testBasic -n ReadWithLocksAndInserts' #executeTest 'testBasic -n ReadConsistency' #executeTest 'testBasic -n PkInsertTwice' #executeTest 'testBasic -n Fill' #executeTest 'testBasic -n FillTwice' #executeTest 'testBasic -n NoCommitSleep' #executeTest 'testBasic -n NoCommit626' #executeTest 'testBasic -n NoCommitAndClose' # Testsuite: testBasicAsynch # Number of tests: 4 executeTest 'testBasicAsynch -n PkInsertAsynch' $TABLES executeTest 'testBasicAsynch -n PkReadAsynch' $TABLES executeTest 'testBasicAsynch -n PkUpdateAsynch' $TABLES executeTest 'testBasicAsynch -n PkDeleteAsynch' $TABLES # Testsuite: testDict # Number of tests: 6 #executeTest 'testDict -n CreateAndDrop' #executeTest 'testDict -n CreateAndDropWithData' #executeTest 'testDict -n CreateAndDropDuring' #executeTest 'testDict -n CreateInvalidTables' #executeTest 'testDict -n CreateTableWhenDbIsFull' #executeTest 'testDict -n CreateMaxTables' # Testsuite: testScan # Number of tests: 34 #executeTest 'testScan -n ScanRead' #executeTest 'testScan -n ScanRead16' executeTest 'testScan -n ScanRead240' $TABLES executeTest 'testScan -n ScanUpdate' $TABLES executeTest 'testScan -n ScanUpdate2' $TABLES executeTest 'testScan -n ScanDelete' $TABLES executeTest 'testScan -n ScanDelete2' $TABLES #executeTest 'testScan -n ScanUpdateAndScanRead' #executeTest 'testScan -n ScanReadAndLocker' #executeTest 'testScan -n ScanReadAndPkRead' #executeTest 'testScan -n ScanRead488' #executeTest 'testScan -n ScanWithLocksAndInserts' #executeTest 'testScan -n ScanReadAbort' #executeTest 'testScan -n ScanReadAbort15' #executeTest 'testScan -n ScanReadAbort16' #executeTest 'testScan -n ScanUpdateAbort16' #executeTest 'testScan -n ScanReadAbort240' #executeTest 'testScan -n ScanReadRestart' #executeTest 'testScan -n ScanReadRestart16' #executeTest 'testScan -n ScanReadRestart32' #executeTest 'testScan -n ScanUpdateRestart' #executeTest 'testScan -n ScanUpdateRestart16' #executeTest 'testScan -n CheckGetValue' #executeTest 'testScan -n CloseWithoutStop' #executeTest 'testScan -n NextScanWhenNoMore' #executeTest 'testScan -n ExecuteScanWithoutOpenScan' #executeTest 'testScan -n OnlyOpenScanOnce' #executeTest 'testScan -n OnlyOneOpInScanTrans' #executeTest 'testScan -n OnlyOneOpBeforeOpenScan' #executeTest 'testScan -n OnlyOneScanPerTrans' #executeTest 'testScan -n NoCloseTransaction' #executeTest 'testScan -n CheckInactivityTimeOut' #executeTest 'testScan -n CheckInactivityBeforeClose' #executeTest 'testScan -n CheckAfterTerror' # Testsuite: testScanInterpreter # Number of tests: 1 #executeTest 'testScanInterpreter -n ScanLessThan' TABLES="T6 T13" # Testsuite: testSystemRestart # Number of tests: 4 executeTest 'testSystemRestart -l 1 -n SR1' $TABLES executeTest 'testSystemRestart -l 1 -n SR2' $TABLES #executeTest 'testSystemRestart -n SR_UNDO' #executeTest 'testSystemRestart -n SR_FULLDB' # TESTS FINISHED trace "Finished: `date`" # # TEST SUMMARY # if [ $numOfTestsFailed -eq 0 ] then echo "-- REGRESSION TEST SUCCESSFUL --" else echo "-- REGRESSION TEST FAILED!! --" fi echo "Number of successful tests: $numOfTestsOK" echo "Number of failed tests : $numOfTestsFailed"