src/eric7/Testing/TestingWidget.py

branch
eric7-maintenance
changeset 9549
67295777d9fe
parent 9442
906485dcd210
parent 9482
a2bc06a54d9d
child 9654
7328efba128b
equal deleted inserted replaced
9451:24c847222774 9549:67295777d9fe
10 import contextlib 10 import contextlib
11 import enum 11 import enum
12 import locale 12 import locale
13 import os 13 import os
14 14
15 from PyQt6.QtCore import pyqtSignal, pyqtSlot, Qt, QEvent, QCoreApplication 15 from PyQt6.QtCore import QCoreApplication, QEvent, Qt, pyqtSignal, pyqtSlot
16 from PyQt6.QtWidgets import QAbstractButton, QComboBox, QDialogButtonBox, QWidget 16 from PyQt6.QtWidgets import QAbstractButton, QComboBox, QDialogButtonBox, QWidget
17 17
18 from eric7 import Preferences
19 from eric7.DataViews.PyCoverageDialog import PyCoverageDialog
20 from eric7.EricGui import EricPixmapCache
18 from eric7.EricWidgets import EricMessageBox 21 from eric7.EricWidgets import EricMessageBox
19 from eric7.EricWidgets.EricApplication import ericApp 22 from eric7.EricWidgets.EricApplication import ericApp
20 from eric7.EricWidgets.EricMainWindow import EricMainWindow 23 from eric7.EricWidgets.EricMainWindow import EricMainWindow
21 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes 24 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
22 25 from eric7.Globals import (
23 from .Ui_TestingWidget import Ui_TestingWidget 26 recentNameTestDiscoverHistory,
24 27 recentNameTestEnvironment,
25 from .TestResultsTree import TestResultsModel, TestResultsTreeView 28 recentNameTestFileHistory,
29 recentNameTestFramework,
30 recentNameTestNameHistory,
31 )
32
26 from .Interfaces import Frameworks 33 from .Interfaces import Frameworks
27 from .Interfaces.TestExecutorBase import TestConfig, TestResult, TestResultCategory 34 from .Interfaces.TestExecutorBase import TestConfig, TestResult, TestResultCategory
28 from .Interfaces.TestFrameworkRegistry import TestFrameworkRegistry 35 from .Interfaces.TestFrameworkRegistry import TestFrameworkRegistry
29 36 from .TestResultsTree import TestResultsModel, TestResultsTreeView
30 from eric7 import Preferences 37 from .Ui_TestingWidget import Ui_TestingWidget
31 from eric7.EricGui import EricPixmapCache
32
33 from eric7.Globals import (
34 recentNameTestDiscoverHistory,
35 recentNameTestFileHistory,
36 recentNameTestNameHistory,
37 recentNameTestFramework,
38 recentNameTestEnvironment,
39 )
40 38
41 39
42 class TestingWidgetModes(enum.Enum): 40 class TestingWidgetModes(enum.Enum):
43 """ 41 """
44 Class defining the various modes of the testing widget. 42 Class defining the various modes of the testing widget.
175 self.__project.projectOpened.connect(self.__projectOpened) 173 self.__project.projectOpened.connect(self.__projectOpened)
176 self.__project.projectClosed.connect(self.__projectClosed) 174 self.__project.projectClosed.connect(self.__projectClosed)
177 self.__projectEnvironmentMarker = self.tr("<project>") 175 self.__projectEnvironmentMarker = self.tr("<project>")
178 except KeyError: 176 except KeyError:
179 # we were called as a standalone application 177 # we were called as a standalone application
180 from eric7.VirtualEnv.VirtualenvManager import VirtualenvManager 178 from eric7.VirtualEnv.VirtualenvManager import ( # __IGNORE_WARNING_I101__
179 VirtualenvManager,
180 )
181 181
182 self.__venvManager = VirtualenvManager(self) 182 self.__venvManager = VirtualenvManager(self)
183 self.__venvManager.virtualEnvironmentAdded.connect( 183 self.__venvManager.virtualEnvironmentAdded.connect(
184 self.__populateVenvComboBox 184 self.__populateVenvComboBox
185 ) 185 )
752 @pyqtSlot() 752 @pyqtSlot()
753 def on_showMarkersButton_clicked(self): 753 def on_showMarkersButton_clicked(self):
754 """ 754 """
755 Private slot to show a window containing the list of defined markers. 755 Private slot to show a window containing the list of defined markers.
756 """ 756 """
757 from .MarkersWindow import MarkersWindow
758
757 venvName = self.venvComboBox.currentText() 759 venvName = self.venvComboBox.currentText()
758 if venvName: 760 if venvName:
759 framework = self.frameworkComboBox.currentText() 761 framework = self.frameworkComboBox.currentText()
760 if framework: 762 if framework:
761 if self.discoverCheckBox.isChecked(): 763 if self.discoverCheckBox.isChecked():
768 interpreter = self.__determineInterpreter(venvName) 770 interpreter = self.__determineInterpreter(venvName)
769 executor = self.__frameworkRegistry.createExecutor(framework, self) 771 executor = self.__frameworkRegistry.createExecutor(framework, self)
770 markers = executor.getMarkers(interpreter, workdir) 772 markers = executor.getMarkers(interpreter, workdir)
771 773
772 if self.__markersWindow is None: 774 if self.__markersWindow is None:
773 from .MarkersWindow import MarkersWindow
774
775 self.__markersWindow = MarkersWindow() 775 self.__markersWindow = MarkersWindow()
776 self.__markersWindow.showMarkers(markers) 776 self.__markersWindow.showMarkers(markers)
777 777
778 @pyqtSlot() 778 @pyqtSlot()
779 def __updatePatternSupport(self): 779 def __updatePatternSupport(self):
1092 """ 1092 """
1093 Private slot to show a code coverage dialog for the most recent test 1093 Private slot to show a code coverage dialog for the most recent test
1094 run. 1094 run.
1095 """ 1095 """
1096 if self.__coverageDialog is None: 1096 if self.__coverageDialog is None:
1097 from eric7.DataViews.PyCoverageDialog import PyCoverageDialog
1098
1099 self.__coverageDialog = PyCoverageDialog(self) 1097 self.__coverageDialog = PyCoverageDialog(self)
1100 self.__coverageDialog.openFile.connect(self.__openEditor) 1098 self.__coverageDialog.openFile.connect(self.__openEditor)
1101 1099
1102 testDir = ( 1100 testDir = (
1103 self.discoveryPicker.currentText() 1101 self.discoveryPicker.currentText()
1196 @type QCloseEvent 1194 @type QCloseEvent
1197 """ 1195 """
1198 event.accept() 1196 event.accept()
1199 1197
1200 for editor in self.__editors: 1198 for editor in self.__editors:
1201 with contextlib.suppress(Exception): 1199 with contextlib.suppress(RuntimeError):
1202 editor.close() 1200 editor.close()
1203 1201
1204 1202
1205 class TestingWindow(EricMainWindow): 1203 class TestingWindow(EricMainWindow):
1206 """ 1204 """

eric ide

mercurial