Sun, 14 Jul 2019 16:46:46 -0400
Allow unittest for projects without main script.
eric6/PyUnit/UnittestDialog.py | file | annotate | diff | comparison | revisions | |
eric6/UI/UserInterface.py | file | annotate | diff | comparison | revisions |
--- a/eric6/PyUnit/UnittestDialog.py Sun Jul 14 16:33:33 2019 -0400 +++ b/eric6/PyUnit/UnittestDialog.py Sun Jul 14 16:46:46 2019 -0400 @@ -385,10 +385,10 @@ # we are cooperating with the eric6 IDE project = e5App().getObject("Project") if self.__forProject: - mainScript = os.path.abspath(project.getMainScript(True)) + mainScript = project.getMainScript(True) clientType = project.getProjectLanguage() if mainScript: - workdir = os.path.dirname(mainScript) + workdir = os.path.dirname(os.path.abspath(mainScript)) else: workdir = project.getProjectPath() sysPath = [workdir] @@ -712,14 +712,15 @@ # we are cooperating with the eric6 IDE project = e5App().getObject("Project") if self.__forProject: - mainScript = os.path.abspath(project.getMainScript(True)) + mainScript = project.getMainScript(True) clientType = project.getProjectLanguage() if mainScript: - workdir = os.path.dirname(mainScript) + workdir = os.path.dirname(os.path.abspath(mainScript)) + coverageFile = os.path.splitext(mainScript)[0] else: workdir = project.getProjectPath() + coverageFile = os.path.join(discoveryStart, "unittest") sysPath = [workdir] - coverageFile = os.path.splitext(mainScript)[0] if discover and not discoveryStart: discoveryStart = workdir else:
--- a/eric6/UI/UserInterface.py Sun Jul 14 16:33:33 2019 -0400 +++ b/eric6/UI/UserInterface.py Sun Jul 14 16:46:46 2019 -0400 @@ -4714,6 +4714,7 @@ Private slot for displaying the unittest dialog and run the current project. """ + prog = None fn = self.project.getMainScript(True) if fn: tfn = Utilities.getTestFileName(fn) @@ -4721,14 +4722,6 @@ prog = tfn else: prog = fn - else: - E5MessageBox.critical( - self, - self.tr("Unittest Project"), - self.tr( - "There is no main script defined for the" - " current project. Aborting")) - return self.__unittest() self.unittestDialog.setProjectMode(True)