eric6/DebugClients/Python/DebugClientBase.py

branch
multi_processing
changeset 7403
7446a7eacfc3
parent 7392
b6674724612a
child 7405
bf6be3cff6cf
equal deleted inserted replaced
7402:bc62b4e1aed4 7403:7446a7eacfc3
13 import codeop 13 import codeop
14 import codecs 14 import codecs
15 import traceback 15 import traceback
16 import os 16 import os
17 import json 17 import json
18 import imp
19 import re 18 import re
20 import atexit 19 import atexit
21 import signal 20 import signal
22 import time 21 import time
22 if sys.version_info >= (3, 4):
23 import types
24 else:
25 import imp
23 26
24 27
25 import DebugClientCapabilities 28 import DebugClientCapabilities
26 import DebugVariables 29 import DebugVariables
27 from DebugBase import setRecursionLimit, printerr # __IGNORE_WARNING__ 30 from DebugBase import setRecursionLimit, printerr # __IGNORE_WARNING__
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]

eric ide

mercurial