336 |
336 |
337 @param filename name of the source file (string) |
337 @param filename name of the source file (string) |
338 @param mode kind of code to be generated (string, exec or eval) |
338 @param mode kind of code to be generated (string, exec or eval) |
339 @return compiled code object (None in case of errors) |
339 @return compiled code object (None in case of errors) |
340 """ |
340 """ |
341 with open(filename) as fp: |
341 with open(filename, encoding = self.__coding) as fp: |
342 statement = fp.read() |
342 statement = fp.read() |
343 |
343 |
344 try: |
344 try: |
345 code = compile(statement + '\n', filename, mode) |
345 code = compile(statement + '\n', filename, mode) |
346 except SyntaxError: |
346 except SyntaxError: |
518 |
518 |
519 self.mainThread.tracePython = False |
519 self.mainThread.tracePython = False |
520 |
520 |
521 self.debugMod.__dict__['__file__'] = sys.argv[0] |
521 self.debugMod.__dict__['__file__'] = sys.argv[0] |
522 sys.modules['__main__'] = self.debugMod |
522 sys.modules['__main__'] = self.debugMod |
523 exec(open(sys.argv[0]).read(), self.debugMod.__dict__) |
523 exec(open(sys.argv[0], encoding = self.__coding).read(), |
|
524 self.debugMod.__dict__) |
524 self.writestream.flush() |
525 self.writestream.flush() |
525 return |
526 return |
526 |
527 |
527 if cmd == RequestProfile: |
528 if cmd == RequestProfile: |
528 sys.setprofile(None) |
529 sys.setprofile(None) |
585 if int(erase): |
586 if int(erase): |
586 self.cover.erase() |
587 self.cover.erase() |
587 sys.modules['__main__'] = self.debugMod |
588 sys.modules['__main__'] = self.debugMod |
588 self.debugMod.__dict__['__file__'] = sys.argv[0] |
589 self.debugMod.__dict__['__file__'] = sys.argv[0] |
589 self.cover.start() |
590 self.cover.start() |
590 exec(open(sys.argv[0]).read(), self.debugMod.__dict__) |
591 exec(open(sys.argv[0], encoding = self.__coding).read(), |
|
592 self.debugMod.__dict__) |
591 self.cover.stop() |
593 self.cover.stop() |
592 self.cover.save() |
594 self.cover.save() |
593 self.writestream.flush() |
595 self.writestream.flush() |
594 return |
596 return |
595 |
597 |