207 # special objects representing the main scripts thread and frame |
210 # special objects representing the main scripts thread and frame |
208 self.mainThread = self |
211 self.mainThread = self |
209 self.framenr = 0 |
212 self.framenr = 0 |
210 |
213 |
211 # The context to run the debugged program in. |
214 # The context to run the debugged program in. |
212 self.debugMod = imp.new_module('__main__') |
215 if sys.version_info >= (3, 4): |
|
216 self.debugMod = types.ModuleType("__main__") |
|
217 else: |
|
218 self.debugMod = imp.new_module('__main__') |
213 self.debugMod.__dict__['__builtins__'] = __builtins__ |
219 self.debugMod.__dict__['__builtins__'] = __builtins__ |
214 |
220 |
215 # The list of complete lines to execute. |
221 # The list of complete lines to execute. |
216 self.buffer = '' |
222 self.buffer = '' |
217 |
223 |
905 else: |
911 else: |
906 self.test = testLoader.discover( |
912 self.test = testLoader.discover( |
907 discoveryStart, top_level_dir=top_level_dir) |
913 discoveryStart, top_level_dir=top_level_dir) |
908 else: |
914 else: |
909 if params["filename"]: |
915 if params["filename"]: |
910 utModule = imp.load_source( |
916 if sys.version_info >= (3, 4): |
911 params["testname"], params["filename"]) |
917 import importlib |
|
918 spec = importlib.util.spec_from_file_location( |
|
919 params["testname"], params["filename"]) |
|
920 utModule = importlib.util.module_from_spec(spec) |
|
921 else: |
|
922 utModule = imp.load_source( |
|
923 params["testname"], params["filename"]) |
912 else: |
924 else: |
913 utModule = None |
925 utModule = None |
914 if params["failed"]: |
926 if params["failed"]: |
915 if utModule: |
927 if utModule: |
916 failed = [t.split(".", 1)[1] |
928 failed = [t.split(".", 1)[1] |