testlex.py revision 2632
12632Sstever@eecs.umich.edu#!/usr/local/bin 22632Sstever@eecs.umich.edu# ---------------------------------------------------------------------- 32632Sstever@eecs.umich.edu# testlex.py 42632Sstever@eecs.umich.edu# 52632Sstever@eecs.umich.edu# Run tests for the lexing module 62632Sstever@eecs.umich.edu# ---------------------------------------------------------------------- 72632Sstever@eecs.umich.edu 82632Sstever@eecs.umich.eduimport sys,os,glob 92632Sstever@eecs.umich.edu 102632Sstever@eecs.umich.eduif len(sys.argv) < 2: 112632Sstever@eecs.umich.edu print "Usage: python testlex.py directory" 122632Sstever@eecs.umich.edu raise SystemExit 132632Sstever@eecs.umich.edu 142632Sstever@eecs.umich.edudirname = None 152632Sstever@eecs.umich.edumake = 0 162632Sstever@eecs.umich.edu 172632Sstever@eecs.umich.edufor o in sys.argv[1:]: 182632Sstever@eecs.umich.edu if o == '-make': 192632Sstever@eecs.umich.edu make = 1 202632Sstever@eecs.umich.edu else: 212632Sstever@eecs.umich.edu dirname = o 222632Sstever@eecs.umich.edu break 232632Sstever@eecs.umich.edu 242632Sstever@eecs.umich.eduif not dirname: 252632Sstever@eecs.umich.edu print "Usage: python testlex.py [-make] directory" 262632Sstever@eecs.umich.edu raise SystemExit 272632Sstever@eecs.umich.edu 282632Sstever@eecs.umich.eduf = glob.glob("%s/%s" % (dirname,"lex_*.py")) 292632Sstever@eecs.umich.edu 302632Sstever@eecs.umich.eduprint "**** Running tests for lex ****" 312632Sstever@eecs.umich.edu 322632Sstever@eecs.umich.edufor t in f: 332632Sstever@eecs.umich.edu name = t[:-3] 342632Sstever@eecs.umich.edu print "Testing %-32s" % name, 352632Sstever@eecs.umich.edu if make: 362632Sstever@eecs.umich.edu if not os.path.exists("%s.exp" % name): 372632Sstever@eecs.umich.edu os.system("python %s.py >%s.exp 2>&1" % (name,name)) 382632Sstever@eecs.umich.edu passed = 1 392632Sstever@eecs.umich.edu else: 402632Sstever@eecs.umich.edu os.system("python %s.py >%s.out 2>&1" % (name,name)) 412632Sstever@eecs.umich.edu a = os.system("diff %s.out %s.exp >%s.dif" % (name,name,name)) 422632Sstever@eecs.umich.edu if a == 0: 432632Sstever@eecs.umich.edu passed = 1 442632Sstever@eecs.umich.edu else: 452632Sstever@eecs.umich.edu passed = 0 462632Sstever@eecs.umich.edu 472632Sstever@eecs.umich.edu if passed: 482632Sstever@eecs.umich.edu print "Passed" 492632Sstever@eecs.umich.edu else: 502632Sstever@eecs.umich.edu print "Failed. See %s.dif" % name 512632Sstever@eecs.umich.edu 522632Sstever@eecs.umich.edu 532632Sstever@eecs.umich.edu 542632Sstever@eecs.umich.edu 552632Sstever@eecs.umich.edu 562632Sstever@eecs.umich.edu 572632Sstever@eecs.umich.edu 58