Changeset 625
- Timestamp:
- 09/18/08 11:18:52 (2 months ago)
- Files:
-
- trunk/pysynphot/test/commissioning/basecase.py (modified) (1 diff)
- trunk/pysynphot/test/commissioning/gencases.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/pysynphot/test/commissioning/basecase.py
r621 r625 50 50 'SigThresh':self.sigthresh, 51 51 'SkyLines':self.hasSkyLines()} 52 try: 53 self.tda['Subset']=self.subset 54 except AttributeError: 55 pass 52 56 self.tra={} 53 57 trunk/pysynphot/test/commissioning/gencases.py
r622 r625 2 2 import sys,os 3 3 4 def run(cmdfile ):4 def run(cmdfile,subsetfile=None): 5 5 """ Generate TestCases from cmdfile according to the pattern in patternfile""" 6 #Define the test case pattern 6 7 pattern="""class %sCase%d(basecase.%sCase): 7 8 def setUp(self): 8 9 self.obsmode="%s" 9 10 self.spectrum="%s" 11 self.subset=%s 10 12 self.setglobal(__file__) 11 13 self.runpy()\n""" 14 15 #Process the subsetfile if present 16 subsetflag={} 17 if subsetfile is not None: 18 #Then this file contains a list of case names that should have a 19 #subset flag set. 20 f=open(subsetfile) 21 for line in f: 22 if not line.startswith('#') and len(line.strip())>0: 23 cols=line.strip().split() 24 subsetflag[cols[0]]=True 25 f.close() 26 27 #Open the main input and output files 12 28 f=open(cmdfile) 13 29 out=open(cmdfile.replace('.txt','.py'),'w') … … 17 33 """) 18 34 19 35 #Set up some bookkeeping 20 36 count={'countrate':0,'calcspec':0,'calcphot':0,'SpecSourcerateSpec':0,'thermback':0} 21 37 dupcatcher={} 22 38 dupcounter={'countrate':0,'calcspec':0,'calcphot':0,'SpecSourcerateSpec':0,'thermback':0} 39 40 #Now start the main loop 23 41 for line in f: 24 42 … … 41 59 except KeyError: 42 60 kwd['spectrum']=None 43 44 defn=pattern%(cmd,count[cmd],cmd,obsmode,kwd['spectrum']) 61 62 #Construct the name and pattern 63 casename="%sCase%d"%(cmd,count[cmd]) 45 64 ktuple=(cmd,obsmode,kwd['spectrum']) 65 66 46 67 47 68 if ktuple in dupcatcher: 48 69 dupcounter[cmd]+=1 70 dupcatcher[ktuple].append(casename) 49 71 else: 50 casename="%sCase%d"%(cmd,count[cmd])51 d upcatcher[ktuple]=casename72 dupcatcher[ktuple]=[casename] 73 defn=pattern%(cmd,count[cmd],cmd,obsmode,kwd['spectrum'],subsetflag.get(casename,False)) 52 74 out.write(defn) 53 75 … … 64 86 65 87 for k in count: 66 total= " %s:%d-%d=%d\n"%(k,count[k],dupcounter[k],count[k]-dupcounter[k])88 total= "#%s:%d-%d=%d\n"%(k,count[k],dupcounter[k],count[k]-dupcounter[k]) 67 89 sys.stdout.write(total) 68 90 out.write(total) 69 91 out.close() 92 return dupcatcher 70 93 71 94 if __name__ == '__main__': 72 run(sys.argv[1])95 dups = run(*sys.argv[1:])
