6.23.10.2.1.1. Implementation

Comienzo python section to interscript/frames/inputf.py[6 /41 ] Siguiente Previo Primero Ăšltimo
   235: #line 288 "input_frame.ipk"
   236:   def interscript_from_options(self,*args):
   237:     from interscript  import run_from_options
   238:     svdin  = sys.stdin
   239:     try:
   240:       try:
   241:         run_from_options(args)
   242:       except KeyboardInterrupt: raise
   243:       except SystemExit: raise
   244:       except:
   245:         print 'Error running embedded interscript from options'
   246:         print 'options were', args
   247:         traceback.print_exc()
   248:     finally:
   249:       sys.stdin  = svdin
   250: 
   251:   # Note: this routine is ONLY useful for testing interscript itself,
   252:   # because it always puts the test code into the interscript directory!
   253:   # This needs to be fixed!!!
   254: 
   255:   def test_interscript(self, description, source_terminator, *args, **kwds):
   256:     testno = self.register_test(description, 'interscript')
   257:     testlabel = 'test_'+str(testno)
   258:     self.set_anchor(testlabel)
   259:     self.current_weaver.writeline(
   260:       'On-the-fly interscript for test '+str(testno)+' follows.')
   261:     source_origin_line = self.original_count
   262:     source_origin_file = self.original_filename
   263:     test_code = self.collect_lines_upto(source_terminator)
   264:     self.current_weaver.script_head('interscript',source_origin_file)
   265:     for i in range(len(test_code)):
   266:       self.current_weaver.echotangle(source_origin_line+i+1,test_code[i])
   267:     self.current_weaver.script_foot('interscript',source_origin_file)
   268: 
   269:     try:
   270:       os.mkdir('interscript/tests')
   271:     except:
   272:       pass
   273:     our_source_filename = 'interscript/tests/test_'+str(testno)+'.tpk'
   274:     f = open(our_source_filename,'w')
   275:     f.write(string.join(test_code,'\n')+'\n')
   276:     f.close()
   277: 
   278:     logfile='interscript/tests/output/test_'+str(testno)+'.log'
   279: 
   280:     kargs =  []
   281:     for key in kwds.keys():
   282:       if key not in ['description','source_terminator']:
   283:         kargs.append('--' + key + '=' + repr(kwds[key]))
   284: 
   285:     newargs = args + tuple(kargs) + (
   286:       '--weaver=html',
   287:       '--weaver-prefix=interscript/tests/output/',
   288:       '--new-logfile='+logfile,
   289:       '--title=Test '+str(testno)+': '+description,
   290:       our_source_filename)
   291:     apply(self.interscript_from_options, newargs)
   292:     self.set_test_result(testno,'inspect')
   293:     self.current_weaver.doc()
   294:     self.current_weaver.writeline('Test output at')
   295:     self.current_weaver.cite_url('../tests/output/test_'+str(testno)+'.html')
   296:     self.current_weaver.writeline('. Logfile at')
   297:     self.current_weaver.cite_url('../tests/output/test_'+str(testno)+'.log')
   298:     self.current_weaver.writeline('.')
   299:     self.current_weaver.par()
   300: 
End python section to interscript/frames/inputf.py[6]