Changeset 227 for test


Ignore:
Timestamp:
04/09/11 12:31:22 (14 years ago)
Author:
tim
Message:

added a SetLogMask? function to pyregfi as an interface to regfi_log_set_mask
made pyregfi-smoketest.py easier to use

File:
1 edited

Legend:

Unmodified
Added
Removed
  • test/pyregfi-smoketest.py

    r225 r227  
    88
    99
    10 def usage():
    11     sys.stderr.write("USAGE: pyregfi-smoketest.py hive1 [hive2 ...]\n")
    12 
    13 
    14 
     10
     11pyregfi.SetLogMask((pyregfi.LOG_TYPES.INFO, pyregfi.LOG_TYPES.WARN, pyregfi.LOG_TYPES.ERROR))
    1512
    1613# Uses the HiveIterator to walk all keys
     
    192189        pass
    193190
    194    
    195 if len(sys.argv) < 2:
     191tests = {
     192    "iterTallyNames":iterTallyNames,
     193    "iterParentWalk":iterParentWalk,
     194    "iterTallyData":iterTallyData,
     195    "recurseKeyTally":recurseKeyTally,
     196    "iterFetchRelated":iterFetchRelated,
     197    "iterIterWalk":iterIterWalk,
     198    "iterCallbackIO":iterCallbackIO,
     199    }
     200
     201def usage():
     202    sys.stderr.write("USAGE: pyregfi-smoketest.py test1[,test2[,...]] hive1 [hive2 ...]\n")
     203    sys.stderr.write("\tAvailable tests:\n")
     204    for t in tests.keys():
     205        sys.stderr.write("\t\t%s\n" % t)
     206
     207
     208if len(sys.argv) < 3:
    196209    usage()
    197210    sys.exit(1)
    198211
    199 
    200 tests = [("iterTallyNames",iterTallyNames),
    201          ("iterParentWalk",iterParentWalk),
    202          ("iterTallyData",iterTallyData),
    203          ("recurseKeyTally",recurseKeyTally),
    204          ("iterFetchRelated",iterFetchRelated),
    205          ("iterIterWalk",iterIterWalk),]
    206 
    207 tests = [("iterCallbackIO",iterCallbackIO),]
    208 
     212selected_tests = sys.argv[1].split(',')
     213for st in selected_tests:
     214    if st not in tests:
     215        usage()
     216        sys.stderr.write("ERROR: %s not a valid test type" % st)
     217        sys.exit(1)
    209218
    210219files = []
    211 for f in sys.argv[1:]:
     220for f in sys.argv[2:]:
    212221    files.append((f, open(f,"rb")))
    213222
     
    216225for hname,fh in files:
    217226    hive = pyregfi.Hive(fh)
    218     for tname,t in tests:
     227    for tname in selected_tests:
     228        t = tests[tname]
    219229        teststart = time.time()
    220230        tstr = "'%s' on '%s'" % (tname,hname)
Note: See TracChangeset for help on using the changeset viewer.