Sun, 14 Jul 2019 16:33:33 -0400
Fix unittest discovery, allow discovery start in project subdirectory.
eric6/DebugClients/Python/DebugClientBase.py | file | annotate | diff | comparison | revisions | |
eric6/PyUnit/UnittestDialog.py | file | annotate | diff | comparison | revisions |
--- a/eric6/DebugClients/Python/DebugClientBase.py Fri Jul 12 18:11:54 2019 +0200 +++ b/eric6/DebugClients/Python/DebugClientBase.py Sun Jul 14 16:33:33 2019 -0400 @@ -811,6 +811,8 @@ if not discoveryStart: discoveryStart = params["workdir"] + top_level_dir = params["workdir"] + os.chdir(params["discoverystart"]) # set the system exception handling function to ensure, that @@ -821,7 +823,7 @@ try: import unittest testLoader = unittest.TestLoader() - test = testLoader.discover(discoveryStart) + test = testLoader.discover(discoveryStart, top_level_dir=top_level_dir) if hasattr(testLoader, "errors") and \ bool(testLoader.errors): self.sendJsonCommand("ResponseUTDiscover", { @@ -850,8 +852,10 @@ sys.path = params["syspath"] + sys.path sys.path.insert( 0, os.path.dirname(os.path.abspath(params["filename"]))) + top_level_dir = None if params["workdir"]: os.chdir(params["workdir"]) + top_level_dir = params["workdir"] else: os.chdir(sys.path[0]) @@ -871,7 +875,7 @@ self.test = testLoader.loadTestsFromNames( params["testcases"]) else: - self.test = testLoader.discover(discoveryStart) + self.test = testLoader.discover(discoveryStart, top_level_dir=top_level_dir) else: if params["filename"]: utModule = imp.load_source(
--- a/eric6/PyUnit/UnittestDialog.py Fri Jul 12 18:11:54 2019 +0200 +++ b/eric6/PyUnit/UnittestDialog.py Sun Jul 14 16:33:33 2019 -0400 @@ -411,7 +411,7 @@ clientType = "Python3" sysPath = [] self.__dbs.remoteUTDiscover(clientType, self.__forProject, - workdir, venvName, sysPath, + venvName, sysPath, workdir, discoveryStart) else: # we are running as an application