#!/bin/bash # # @echo off # # Settings and initializations # # Initialize all the AVAILABLE test cases # and collections (all which are). # INIT_ALL_AVAILABLE_CASES() { # Functional test collection FUNC_COLL="arithmetic bfield constant control descriptor" FUNC_COLL="$FUNC_COLL logic manipulation name reference region synchronization" FUNC_COLL="$FUNC_COLL table module" # Complex test collection OPER_TCASES="oarg oconst oconversion olocal onamedglob onamedloc opackageel oreftonamed oreftopackageel oreturn" RES_TCASES="rconversion rcopyobject rexplicitconv rindecrement roptional rstore" CPLX_COLL="misc provoke" CPLX_COLL="$CPLX_COLL $OPER_TCASES" CPLX_COLL="$CPLX_COLL $RES_TCASES" CPLX_COLL="$CPLX_COLL badasl namespace" # Exceptions test collection EXCP_COLL="exc exc_operand1 exc_operand2 exc_ref exc_result1 exc_result2" EXCP_COLL="$EXCP_COLL exc_tbl" # Bug-demo test collection BDEMO_COLL="bdemo bdemof" # Service test collection SERV_COLL="condbranches" # Implementation dependent test collection IMPL_COLL="dynobj" # Tests of multi-threading functionality (mt-tests) MT_COLL="mt_mutex" # Tests to prove identity of ACPICA to MS MS_IDENT_COLL="extra extra_aslts" # All collections of tests ALL_AVAILABLE_COLLS="functional complex exceptions bdemo service mt Identity2MS IMPL" ALL_AVAILABLE_TEST_CASES="$FUNC_COLL $CPLX_COLL $EXCP_COLL $BDEMO_COLL $MT_COLL $SERV_COLL $IMPL_COLL $MS_IDENT_COLL" } # # Initialize all the AVAILABLE test modes # INIT_ALL_AVAILABLE_MODES() { # All test modes ALL_AVAILABLE_TEST_MODES="n32 n64 s32 s64" } # # Report all the available test cases # echo_available_test_cases() { echo "All available test cases:" echo_list "functional" "$FUNC_COLL" echo_list "complex" "$CPLX_COLL" echo_list "exceptions" "$EXCP_COLL" echo_list "bug-demo" "$BDEMO_COLL" echo_list "mt" "$MT_COLL" echo_list "service" "$SERV_COLL" echo_list "implementation dependent" "$IMPL_COLL" echo_list "Identity2MS" "$MS_IDENT_COLL" } # # Return the number of all the available test cases # get_num_of_available_test_cases() { local count=0 for tcase in $ALL_AVAILABLE_TEST_CASES do count=$[ $count + 1 ] done return $count } # # Set up a list of test cases you want # to be processed by run and compare utilities. # Do that here manually. # INIT_SET_OF_TEST_CASES() { local func compl excep bdemo serv impl # Functional test collection func="arithmetic bfield constant control descriptor" func="$func logic manipulation name reference region synchronization" func="$func table" # Complex test collection compl="misc provoke" compl="$compl oarg oconst olocal onamedloc onamedglob opackageel oreftonamed oreftopackageel oreturn" compl="$compl rstore roptional rcopyobject rindecrement rexplicitconv" compl="$compl badasl namespace" # Exceptions test collection excep="exc exc_ref exc_operand2 exc_result2" excep="$excep exc_tbl" # Bug-demo test collection bdemo="bdemo bdemof" # Service test collection serv="condbranches" # Tests of multi-threading functionality (mt-tests) mt="mt_mutex" # Tests to prove identity of ACPICA to MS Identity2MS="extra extra_aslts" # Implementation dependent test collection impl="dynobj" # The test cases to be processed by run and compare utilities: if [ "x$ENABLED_TCASES" = "x" ]; then # ENABLED_TCASES="$func $compl $excep $bdemo $serv" # ENABLED_TCASES="$func $compl $excep $Identity2MS $bdemo $serv" ENABLED_TCASES="$func $compl $excep $mt $Identity2MS $bdemo $serv" # ENABLED_TCASES="extra extra_aslts" # ENABLED_TCASES="control" # ENABLED_TCASES="bdemo" # ENABLED_TCASES="bdemo bdemof" # ENABLED_TCASES="bdemo misc" # ENABLED_TCASES="arithmetic constant" # ENABLED_TCASES="condbranches" # ENABLED_TCASES="exc" # ENABLED_TCASES="arithmetic constant exc condbranches" # ENABLED_TCASES="arithmetic bfield constant control descriptor logic manipulation name reference region synchronization misc provoke exc bdemo" # ENABLED_TCASES="oarg oconst olocal onamedloc onamedglob opackageel oreftonamed oreftopackageel oreturn" # ENABLED_TCASES="rstore roptional rcopyobject rindecrement rexplicitconv exc_ref exc_operand2 exc_result2" # ENABLED_TCASES="condbranches" # ENABLED_TCASES="arithmetic bfield" # ENABLED_TCASES="descriptor" # ENABLED_TCASES="reference" # ENABLED_TCASES="arithmetic misc logic bdemo" # ENABLED_TCASES="misc control manipulation" # ENABLED_TCASES="exc_ref" # ENABLED_TCASES="rstore" # ENABLED_TCASES="bdemo reference" # ENABLED_TCASES="name" # ENABLED_TCASES="badasl" # ENABLED_TCASES="constant" # ENABLED_TCASES="arithmetic constant exc mt_mutex bdemo" # ENABLED_TCASES="mt_mutex" # ENABLED_TCASES="region" fi } # # Set up a list of test modes you want # to be processed by run and compare utilities. # INIT_SET_OF_TEST_MODES() { local m n found for m in $ALL_AVAILABLE_TEST_MODES do found=0 for n in $ENABLED_TMODES do if [ "x$m" = "x$n" ]; then found=1 fi done if [ $found -eq 1 ]; then # 32-bit non-slack (normal): if [ "$m" = "n32" ]; then ENABLENORM32=1 fi # 64-bit non-slack (normal): if [ "$m" = "n64" ]; then ENABLENORM64=1 fi # 32-bit slack: if [ "$m" = "s32" ]; then ENABLESLACK32=1 fi # 64-bit slack: if [ "$m" = "s64" ]; then ENABLESLACK64=1 fi fi done } # # Set it up to zero to exclude the aslts/RESULTS technique at all # INIT_LOG_RESULTS() { ENABLELOG=1 } # # Set it up to the maximal number of bdemo tests (of all bugs of ACPICA) # INIT_MAX_BDEMO() { MAXBDEMO=307 } # # Reset collections involved flags # reset_collections_flags() { FUNC_COLL_FLAG=0 CPLX_COLL_FLAG=0 EXCP_COLL_FLAG=0 BDEMO_COLL_FLAG=0 MT_COLL_FLAG=0 SERV_COLL_FLAG=0 IMPL_COLL_FLAG=0 MS_IDENT_COLL_FLAG=0 } RESET_SETTINGS() { # Log enable flag ENABLELOG=0 # Enabled modes ENABLENORM32=0 ENABLENORM64=0 ENABLESLACK32=0 ENABLESLACK64=0 # Available test collections FUNC_COLL= CPLX_COLL= EXCP_COLL= BDEMO_COLL= MT_COLL= SERV_COLL= MS_IDENT_COLL= IMPL_COLL= ALL_AVAILABLE_COLLS= ALL_AVAILABLE_TEST_CASES= # Particular test cases staff OPER_TCASES= RES_TCASES= # Test collections involved flags reset_collections_flags # Run test error flags HAVE_LARGE_REF_CNT=no } INIT_MEM_STAT() { # If 'yes', eliminates all settings of comparing below DO_ALL_COMPARE=yes DO_COMPARE_TOTAL_ONLY=no # Enable memory statistics processing DO_MEMSTAT=yes # # Enable comparing of memory statistics for the test cases # (not only the total figures related to all the test cases # of mode). # Allows to reduce the time of the comparing utility. # This comparing utility takes too long time on Cygwin # (more than 1 hour 10 minutes, though quickly on Linux - # not more than 1 minute). # DO_COMPARE_OF_TEST_CASES=no DO_COMPARE_OF_EXCEPTIONS=no if [ "$DO_COMPARE_OF_TEST_CASES" != yes -a "$DO_COMPARE_OF_EXCEPTIONS" != yes ]; then DO_COMPARE_TOTAL_ONLY=yes fi if [ "$DO_ALL_COMPARE" == yes ]; then DO_COMPARE_TOTAL_ONLY=no DO_COMPARE_OF_TEST_CASES=yes DO_COMPARE_OF_EXCEPTIONS=yes fi }