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