286 def on_testsuitePicker_aboutToShowPathPickerDialog(self): |
285 def on_testsuitePicker_aboutToShowPathPickerDialog(self): |
287 """ |
286 """ |
288 Private slot called before the test suite selection dialog is shown. |
287 Private slot called before the test suite selection dialog is shown. |
289 """ |
288 """ |
290 if self.__dbs: |
289 if self.__dbs: |
291 py2Extensions = ' '.join( |
|
292 ["*{0}".format(ext) |
|
293 for ext in self.__dbs.getExtensions('Python2')] |
|
294 ) |
|
295 py3Extensions = ' '.join( |
290 py3Extensions = ' '.join( |
296 ["*{0}".format(ext) |
291 ["*{0}".format(ext) |
297 for ext in self.__dbs.getExtensions('Python3')] |
292 for ext in self.__dbs.getExtensions('Python3')] |
298 ) |
293 ) |
299 fileFilter = self.tr( |
294 fileFilter = self.tr( |
300 "Python3 Files ({1});;Python2 Files ({0});;All Files (*)" |
295 "Python3 Files ({0});;All Files (*)" |
301 ).format(py2Extensions, py3Extensions) |
296 ).format(py3Extensions) |
302 else: |
297 else: |
303 fileFilter = self.tr("Python Files (*.py);;All Files (*)") |
298 fileFilter = self.tr("Python Files (*.py);;All Files (*)") |
304 self.testsuitePicker.setFilters(fileFilter) |
299 self.testsuitePicker.setFilters(fileFilter) |
305 |
300 |
306 defaultDirectory = Preferences.getMultiProject("Workspace") |
301 defaultDirectory = Preferences.getMultiProject("Workspace") |
405 self.tr("You must enter a start directory for" |
400 self.tr("You must enter a start directory for" |
406 " auto-discovery.")) |
401 " auto-discovery.")) |
407 return |
402 return |
408 |
403 |
409 workdir = "" |
404 workdir = "" |
410 clientType = self.__venvManager.getVirtualenvVariant(venvName) |
405 clientType = "Python3" |
411 if not clientType: |
|
412 # assume Python 3 |
|
413 clientType = "Python3" |
|
414 sysPath = [] |
406 sysPath = [] |
415 self.__dbs.remoteUTDiscover(clientType, self.__forProject, |
407 self.__dbs.remoteUTDiscover(clientType, self.__forProject, |
416 venvName, sysPath, workdir, |
408 venvName, sysPath, workdir, |
417 discoveryStart) |
409 discoveryStart) |
418 else: |
410 else: |
754 " auto-discovery.")) |
746 " auto-discovery.")) |
755 return |
747 return |
756 |
748 |
757 coverageFile = os.path.join(discoveryStart, "unittest") |
749 coverageFile = os.path.join(discoveryStart, "unittest") |
758 workdir = "" |
750 workdir = "" |
759 clientType = self.__venvManager.getVirtualenvVariant( |
751 clientType = "Python3" |
760 venvName) |
|
761 if not clientType: |
|
762 # assume Python 3 |
|
763 clientType = "Python3" |
|
764 elif testFileName: |
752 elif testFileName: |
765 mainScript = os.path.abspath(testFileName) |
753 mainScript = os.path.abspath(testFileName) |
766 flags = Utilities.extractFlagsFromFile(mainScript) |
|
767 workdir = os.path.dirname(mainScript) |
754 workdir = os.path.dirname(mainScript) |
768 if ( |
755 clientType = "Python3" |
769 mainScript.endswith(tuple( |
|
770 Preferences.getPython("PythonExtensions"))) or |
|
771 ("FileType" in flags and |
|
772 flags["FileType"] in ["Python", "Python2"]) |
|
773 ): |
|
774 clientType = "Python2" |
|
775 else: |
|
776 # if it is not Python2 it must be Python3! |
|
777 clientType = "Python3" |
|
778 coverageFile = os.path.splitext(mainScript)[0] |
756 coverageFile = os.path.splitext(mainScript)[0] |
779 else: |
757 else: |
780 coverageFile = os.path.abspath("unittest") |
758 coverageFile = os.path.abspath("unittest") |
781 workdir = "" |
759 workdir = "" |
782 clientType = self.__venvManager.getVirtualenvVariant( |
760 clientType = "Python3" |
783 venvName) |
|
784 if not clientType: |
|
785 # assume Python 3 |
|
786 clientType = "Python3" |
|
787 sysPath = [] |
761 sysPath = [] |
788 if failedOnly and self.__failedTests: |
762 if failedOnly and self.__failedTests: |
789 failed = self.__failedTests[:] |
763 failed = self.__failedTests[:] |
790 if discover: |
764 if discover: |
791 workdir = discoveryStart |
765 workdir = discoveryStart |