eric6/DebugClients/Python/DebugClientBase.py

changeset 7071
c9ff30a1acbb
parent 7031
6fafe9ed04b5
child 7074
7da5a5a14469
equal deleted inserted replaced
7064:1010f737def2 7071:c9ff30a1acbb
809 809
810 discoveryStart = params["discoverystart"] 810 discoveryStart = params["discoverystart"]
811 if not discoveryStart: 811 if not discoveryStart:
812 discoveryStart = params["workdir"] 812 discoveryStart = params["workdir"]
813 813
814 top_level_dir = params["workdir"]
815
814 os.chdir(params["discoverystart"]) 816 os.chdir(params["discoverystart"])
815 817
816 # set the system exception handling function to ensure, that 818 # set the system exception handling function to ensure, that
817 # we report on all unhandled exceptions 819 # we report on all unhandled exceptions
818 sys.excepthook = self.__unhandled_exception 820 sys.excepthook = self.__unhandled_exception
819 self.__interceptSignals() 821 self.__interceptSignals()
820 822
821 try: 823 try:
822 import unittest 824 import unittest
823 testLoader = unittest.TestLoader() 825 testLoader = unittest.TestLoader()
824 test = testLoader.discover(discoveryStart) 826 test = testLoader.discover(discoveryStart, top_level_dir=top_level_dir)
825 if hasattr(testLoader, "errors") and \ 827 if hasattr(testLoader, "errors") and \
826 bool(testLoader.errors): 828 bool(testLoader.errors):
827 self.sendJsonCommand("ResponseUTDiscover", { 829 self.sendJsonCommand("ResponseUTDiscover", {
828 "testCasesList": [], 830 "testCasesList": [],
829 "exception": "DiscoveryError", 831 "exception": "DiscoveryError",
848 elif method == "RequestUTPrepare": 850 elif method == "RequestUTPrepare":
849 if params["syspath"]: 851 if params["syspath"]:
850 sys.path = params["syspath"] + sys.path 852 sys.path = params["syspath"] + sys.path
851 sys.path.insert( 853 sys.path.insert(
852 0, os.path.dirname(os.path.abspath(params["filename"]))) 854 0, os.path.dirname(os.path.abspath(params["filename"])))
855 top_level_dir = None
853 if params["workdir"]: 856 if params["workdir"]:
854 os.chdir(params["workdir"]) 857 os.chdir(params["workdir"])
858 top_level_dir = params["workdir"]
855 else: 859 else:
856 os.chdir(sys.path[0]) 860 os.chdir(sys.path[0])
857 861
858 # set the system exception handling function to ensure, that 862 # set the system exception handling function to ensure, that
859 # we report on all unhandled exceptions 863 # we report on all unhandled exceptions
869 discoveryStart = params["workdir"] 873 discoveryStart = params["workdir"]
870 if params["testcases"]: 874 if params["testcases"]:
871 self.test = testLoader.loadTestsFromNames( 875 self.test = testLoader.loadTestsFromNames(
872 params["testcases"]) 876 params["testcases"])
873 else: 877 else:
874 self.test = testLoader.discover(discoveryStart) 878 self.test = testLoader.discover(discoveryStart, top_level_dir=top_level_dir)
875 else: 879 else:
876 if params["filename"]: 880 if params["filename"]:
877 utModule = imp.load_source( 881 utModule = imp.load_source(
878 params["testname"], params["filename"]) 882 params["testname"], params["filename"])
879 else: 883 else:

eric ide

mercurial