test_all.sa
Generated by gen_html_sa_files from ICSI. Contact gomes@icsi.berkeley.edu for details
class TEST_ALL
class TEST_ALL is
-- This class is the one which carries out all of the individual class
-- tests. These are carried out in the order most likely to reveal faults
-- which will affect following class tests before that class is actually
-- tested. This necessarily depends on the library implementation and may
-- need to be revised if major implementation changes are made.
-- IMPORTANT The test classes TEST_IN and TEST_PROGRAM_ARGS require user
-- interaction and must therefore be tested separately!
-- >>>>>>>>>>>>>>>>> SEE THE WARNING FOR TESTS 50 & 51! <<<<<<<<<<<<<<<<
-- Version 1.1 Mar 00. Copyright K Hopper, U of Waikato
-- Development History
-- -------------------
-- Date Who By Detail
-- ---- ------ ------
-- 7 Jan 00 kh Original
-- 24 Mar 00 kh Added test timing.
-- 4 Mar 01 kh Revised presentation of times.
attr counter : CARD ; -- initialised to zero!
attr test_count : CARD ; -- initialised to zero!
attr total_time : ELAPSED ;
attr ticker : TIMER ;
emit_tally( name : STR ) is
-- This routine increments both counter and tally before sending the
-- class test number to the standard error channel. To avoid this merely
-- comment out the last line!
duration : ELAPSED := ticker.elapsed ;
counter := counter + 1 ;
test_count := test_count + 1 ;
total_time := total_time + duration ;
#OUT+"\nTest No. "+counter.str+" - "+name+" took "+duration.full_str+"\n\n" ;
-- duration.total_milliseconds.str+"msec\n\n"
#OUT.flush;
ticker.clear;
end ;
omit_tally( name : STR ) is
-- This routine keeps the tally straight by silently incrementing the
-- count for omitted (either for speed reasons or because some test has not
-- yet been implemented).
counter := counter + 1 ;
#OUT + "\nTest No. " + counter.str + " - " + name + " OMITTED!\n" ;
#OUT.flush;
ticker.clear
end ;
final_tally is
-- This routine reports the total time for all the tests to the error channel.
#ERR + " " + test_count.str + " class tests completed in " +total_time.full_str + "\n"
end ;
main is
ticker := TIMER::create ;
ticker.start ;
TEST_STD_CHANS::main ; -- 1
emit_tally("STD_CHANS") ;
TEST_OUT::main ; -- initial IO tests -- 2
emit_tally("OUT") ;
TEST_FILE_PATH::main ; -- FileSys used later -- 3
emit_tally("FILE_PATH") ;
TEST_DIRECTORY::main ; -- 4
emit_tally("DIRECTORY") ;
TEST_BIN_FILE::main ; -- from IO -- 5
emit_tally("BIN_FILE") ;
TEST_LIBCHARS::main ; -- from Cultural -- 6
emit_tally("LIBCHARS") ;
TEST_AREF::main ; -- Basic -- 7
emit_tally("AREF") ;
TEST_AVAL::main ; -- 8
emit_tally("AVAL") ;
TEST_BIT::main ; -- most of Binary -- 9
emit_tally("BIT") ;
TEST_OCTET::main ; -- 10
emit_tally("OCTET") ;
TEST_HEXTET::main ; -- 11
emit_tally("HEXTET") ;
TEST_QUADBITS::main ; -- 12
emit_tally("QUADBITS") ;
TEST_BOOL::main ; -- from NonNumeric -- 13
emit_tally("BOOL") ;
TEST_ENUMS::main ; -- 14
emit_tally("ENUMS") ;
TEST_CARD::main ; -- from Numeric -- 15
emit_tally("CARD") ;
TEST_CONTROL_CODES::main ; -- from Codes -- 16
emit_tally("CONTROL_CODES") ;
TEST_CHAR_CODE::main ; -- 17
emit_tally("CHAR_CODE") ;
TEST_FLIST::main ; -- from Container/Lists -- 18
emit_tally("FLIST") ;
TEST_TUP::main ; -- Container/General -- 19
emit_tally("TUP") ;
TEST_FMAP::main ; -- from Container/Maps -- 20
emit_tally("FMAP") ;
TEST_CULTURE::main ; -- from Cultural -- 21
emit_tally("CULTURE") ;
TEST_CODE::main ; -- 22
emit_tally("CODE") ;
TEST_TOKEN::main ; -- 23
emit_tally("TOKEN") ;
TEST_REP_MAP::main ; -- 24
emit_tally("REP_MAP") ;
TEST_CHAR_GROUP::main ; -- 25
emit_tally("CHAR_GROUP") ;
TEST_CASE_MAPLET::main ; -- from Codes -- 26
emit_tally("CASE_MAPLET") ;
TEST_CHAR_MAP::main ; -- from Cultural -- 27
emit_tally("CHAR_MAP") ;
TEST_CHAR::main ; -- initial Text classes -- 28
emit_tally("CHAR") ;
TEST_RUNE::main ; -- 29
emit_tally("RUNE") ;
TEST_CHARCLASS::main ; -- 30
emit_tally("CHARCLASS") ;
TEST_STR::main ; -- 31
emit_tally("STR") ;
TEST_FSTR::main ; -- 32
emit_tally("FSTR") ;
TEST_STR_CURSOR::main ; -- 33
emit_tally("STR_CURSOR") ;
TEST_TEXT_FILE::main ; -- IO text file -- 34
emit_tally("TEXT_FILE") ;
TEST_SEARCH_PATH::main ; -- from File System -- 35
emit_tally("SEARCH_PATH") ;
TEST_INT::main ; -- two important Numeric -- 36
emit_tally("INT") ;
TEST_FIELD::main ; -- 37
emit_tally("FIELD") ;
TEST_NUMBER_FMT::main ; -- most of Cultural -- 38
emit_tally("NUMBER_FMT") ;
TEST_MONEY_FMT::main ; -- 39
emit_tally("MONEY_FMT") ;
TEST_TIME::main ; -- 40
emit_tally("TIME") ;
TEST_ORDER_RULE::main ; -- 41
emit_tally("ORDER_RULE") ;
TEST_ORDER_WEIGHT::main ; -- 42
emit_tally("ORDER_WEIGHT") ;
TEST_ORDERING::main ; -- 43
emit_tally("ORDERING") ;
TEST_RANGE_ORDERING::main ; -- 44
emit_tally("RANGE_ORDERING") ;
TEST_REPERTOIRE::main ; -- 45
emit_tally("REPERTOIRE") ;
TEST_RESOURCES::main ; -- 46
emit_tally("RESOURCES") ;
TEST_BINSTR::main ; -- remaining Binary -- 47
emit_tally("BINSTR") ;
TEST_FBINSTR::main ; -- 48
emit_tally("FBINSTR") ;
TEST_BIN_CURSOR::main ; -- 49
emit_tally("BIN_CURSOR") ;
-- WARNING EACH OF THE FOLLOWING TWO TESTS (50 & 51) CAN TAKE
-- UP TO HALF AN HOUR OR MORE, DEPENDING ON THE
-- PROCESSOR SPEED! THEY ARE STRESS TESTS FOR FILE
-- WINDOWING (AND GARBAGE COLLECTION)!
TEST_BIN_FILE_CURSOR::main ; -- remaining IO tests -- 50
emit_tally("BIN_FILE_CURSOR") ;
TEST_TEXT_FILE_CURSOR::main ; -- 51
emit_tally("TEXT_FILE_CURSOR") ;
TEST_UNICODE::main ; -- remaining Codes -- 52
emit_tally("UNICODE") ;
-- TEST_UCS2::main ; -- SAME as unicode -- --
-- TEST_UCS4::main ; -- SAME as unicode -- --
TEST_UTF7::main ; -- 53
emit_tally("UTF7") ;
TEST_MAP_HEADER::main ; -- 54
emit_tally("MAP_HEADER") ;
TEST_MAPPING::main ; -- 55
emit_tally("MAPPING") ;
TEST_FSET::main ; -- from Container/Sets -- 56
emit_tally("FSET") ;
TEST_FGAP_LIST::main ; -- Container/Lists -- 57
emit_tally("FGAP_LIST") ;
TEST_LIST::main ; -- 58
emit_tally("LIST") ;
TEST_LLIST::main ; -- 59
emit_tally("LLIST") ;
TEST_FMULTIMAP::main ; -- Container/Maps -- 60
emit_tally("FMULTIMAP") ;
TEST_MAP::main ; -- 61
emit_tally("MAP") ;
TEST_MULTIMAP::main ; -- 62
emit_tally("MULTIMAP") ;
TEST_ARRAY::main ; -- Container/Arrays -- 63
emit_tally("ARRAY") ;
TEST_ARRAY2::main ; -- 64
emit_tally("ARRAY2") ;
TEST_ARRAY3::main ; -- 65
emit_tally("ARRAY3") ;
TEST_BAG::main ; -- Container/Bags -- 66
emit_tally("BAG") ;
TEST_QUEUE::main ; -- Container/Queues -- 67
emit_tally("QUEUE") ;
TEST_PQ::main ; -- 68
emit_tally("PQ") ;
TEST_SET::main ; -- Container/Sets (last) -- 69
emit_tally("SET") ;
TEST_STACK::main ; -- Container/Stacks -- 70
emit_tally("STACK") ;
TEST_BTREE::main ; -- Container/Trees -- 71
emit_tally("BTREE") ;
TEST_DATES::main ; -- Date-Time -- 72
emit_tally("DATES") ;
TEST_ELAPSED::main ; -- 73
emit_tally("ELAPSED") ;
TEST_TIMER::main ; -- 74
emit_tally("TIMER") ;
TEST_TIMES::main ; -- 75
emit_tally("TIMES") ;
TEST_TIME_STAMP::main ; -- 76
emit_tally("TIME_STAMP") ;
-- TEST_ERA_DATES::main ; -- TO BE DONE!!! -- 77
omit_tally("ERA_DATES") ;
TEST_FILE_LABEL::main ; -- last FileSystem tests -- 78
emit_tally("FILE_LABEL") ;
-- TEST_FILE_TYPES::main ; -- TO BE DONE!!!! -- 79
omit_tally("FILE_TYPES") ;
TEST_GROUP::main ; -- 80
emit_tally("GROUP") ;
TEST_USER::main ; -- 81
emit_tally("USER") ;
TEST_FLT::main ; -- Rest of Numeric -- 82
emit_tally("FLT") ;
TEST_FLTD::main ; -- 83
emit_tally("FLTD") ;
TEST_FLTD_OUTPUT::main ; -- 84
emit_tally("FLTD_OUTPUT") ;
TEST_CPX::main ; -- 85
emit_tally("CPX") ;
TEST_CPXD::main ; -- 86
emit_tally("CPXD") ;
TEST_INTI::main ; -- 87
emit_tally("INTI") ;
TEST_RANGE::main ; -- 88
emit_tally("RANGE") ;
TEST_MONEY::main ; -- 89
emit_tally("MONEY") ;
TEST_ENUM_SET::main ; -- remaining Non-Numeric -- 90
emit_tally("ENUM_SET") ;
TEST_ANSWERS::main ; -- 91
emit_tally("ANSWERS") ;
TEST_RUNES::main ; -- last Text tests -- 92
emit_tally("RUNES") ;
-- TEST_FMT::main ; -- TO BE DONE! -- 93
omit_tally("FMT") ;
TEST_REG_EXP::main ; -- 94
emit_tally("REG_EXP") ;
TEST_RECTANGLE::main ; -- Geometric -- 95
emit_tally("RECTANGLE") ;
TEST_ANGLE::main ; -- 96
emit_tally("ANGLE") ;
TEST_ANGLED::main ; -- 97
emit_tally("ANGLED") ;
-- TEST_LL_LOCK::main ; -- ALL Concurrent -- 98
omit_tally("LL_LOCK") ;
-- TEST_SPINLOCK::main ; -- 99
omit_tally("SPINLOCK") ;
-- TEST_PAR::main ; --100
omit_tally("PAR") ;
-- TEST_LOCKS::main ; --101
omit_tally("LOCKS") ;
-- TEST_MUTEX::main ; --102
omit_tally("MUTEX") ;
-- TEST_FMUTEX::main ; --103
omit_tally("FMUTEX") ;
-- TEST_GATES::main ; --104
omit_tally("GATES") ;
-- TEST_COPY::main ; --105
omit_tally("COPY") ;
-- TEST_FUTURE::main ; --106
omit_tally("FUTURE") ;
-- TEST_RW::main ; --107
omit_tally("RW") ;
-- TEST_DOOR::main ; --108
omit_tally("DOOR") ;
-- TEST_RV::main ; --109
omit_tally("RV") ;
-- TEST_SHARED::main ; --110
omit_tally("SHARED") ;
-- TEST_REMOTE::main ; --111
omit_tally("REMOTE") ;
-- TEST_CLUSTER::main ; --112
omit_tally("CLUSTER") ;
-- TEST_YIELD::main --113
omit_tally("YIELD") ;
final_tally ;
end ;
end ; -- TEST_ALL