Allow unittest for projects without main script.

Sun, 14 Jul 2019 16:46:46 -0400

author
Mikhail Terekhov
date
Sun, 14 Jul 2019 16:46:46 -0400
changeset 7072
66ef92f769bf
parent 7071
c9ff30a1acbb
child 7073
e86027967f5c

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)

eric ide

mercurial