Wed, 19 May 2021 17:36:34 +0200
Continued porting eric to PyQt6.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
3 | # Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the UI to the pyunit package. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import unittest |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | import sys |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | import time |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | import re |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | import os |
8240
93b8a353c4bf
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
15 | import contextlib |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
17 | from PyQt6.QtCore import pyqtSignal, QEvent, Qt, pyqtSlot |
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
18 | from PyQt6.QtGui import QColor |
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
19 | from PyQt6.QtWidgets import ( |
7259
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
20 | QWidget, QDialog, QApplication, QDialogButtonBox, QListWidgetItem, |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
21 | QComboBox, QTreeWidgetItem |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
22 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
24 | from E5Gui.E5Application import e5App |
4582
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
25 | from E5Gui import E5MessageBox |
2101
5bac7dee9e1a
Introduced the E5MainWindow class allowing to set a style for all the main windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1782
diff
changeset
|
26 | from E5Gui.E5MainWindow import E5MainWindow |
4582
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
27 | from E5Gui.E5PathPicker import E5PathPickerModes |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
29 | from .Ui_UnittestDialog import Ui_UnittestDialog |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | import UI.PixmapCache |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
33 | import Preferences |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
35 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | class UnittestDialog(QWidget, Ui_UnittestDialog): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | Class implementing the UI to the pyunit package. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
40 | @signal unittestFile(str, int, bool) emitted to show the source of a |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
41 | unittest file |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
42 | @signal unittestStopped() emitted after a unit test was run |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | """ |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
44 | unittestFile = pyqtSignal(str, int, bool) |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
45 | unittestStopped = pyqtSignal() |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
481
diff
changeset
|
46 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
47 | TestCaseNameRole = Qt.ItemDataRole.UserRole |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
48 | TestCaseFileRole = Qt.ItemDataRole.UserRole + 1 |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
49 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
50 | ErrorsInfoRole = Qt.ItemDataRole.UserRole |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
51 | |
8029
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
52 | SkippedColorDarkTheme = QColor("#00aaff") |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
53 | FailedExpectedColorDarkTheme = QColor("#ccaaff") |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
54 | SucceededUnexpectedColorDarkTheme = QColor("#ff99dd") |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
55 | SkippedColorLightTheme = QColor("#0000ff") |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
56 | FailedExpectedColorLightTheme = QColor("#7700bb") |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
57 | SucceededUnexpectedColorLightTheme = QColor("#ff0000") |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
58 | |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
59 | def __init__(self, prog=None, dbs=None, ui=None, parent=None, name=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | @param prog filename of the program to open |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
64 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | @param dbs reference to the debug server object. It is an indication |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
66 | whether we were called from within the eric IDE. |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
67 | @type DebugServer |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | @param ui reference to the UI object |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
69 | @type UserInterface |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
70 | @param parent parent widget of this dialog |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
71 | @type QWidget |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
72 | @param name name of this dialog |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
73 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8149
diff
changeset
|
75 | super().__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | if name: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | self.setObjectName(name) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | self.setupUi(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | |
4582
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
80 | self.testsuitePicker.setMode(E5PathPickerModes.OpenFileMode) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
81 | self.testsuitePicker.setInsertPolicy( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
82 | QComboBox.InsertPolicy.InsertAtTop) |
4589
b648ccbdbef9
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4582
diff
changeset
|
83 | self.testsuitePicker.setSizeAdjustPolicy( |
8149
3fefc0c430f2
Changed sze adjuyt policy of some combo boxes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
84 | QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon) |
3186
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
85 | |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
86 | self.discoveryPicker.setMode(E5PathPickerModes.DirectoryMode) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
87 | self.discoveryPicker.setInsertPolicy( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
88 | QComboBox.InsertPolicy.InsertAtTop) |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
89 | self.discoveryPicker.setSizeAdjustPolicy( |
8149
3fefc0c430f2
Changed sze adjuyt policy of some combo boxes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
90 | QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon) |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
91 | |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
92 | self.discoverButton = self.buttonBox.addButton( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
93 | self.tr("Discover"), QDialogButtonBox.ButtonRole.ActionRole) |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
94 | self.discoverButton.setToolTip(self.tr( |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
95 | "Discover tests")) |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
96 | self.discoverButton.setWhatsThis(self.tr( |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
97 | """<b>Discover</b>""" |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
98 | """<p>This button starts a discovery of available tests.</p>""")) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
99 | self.startButton = self.buttonBox.addButton( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
100 | self.tr("Start"), QDialogButtonBox.ButtonRole.ActionRole) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
101 | self.startButton.setToolTip(self.tr( |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
102 | "Start the selected testsuite")) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
103 | self.startButton.setWhatsThis(self.tr( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | """<b>Start Test</b>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | """<p>This button starts the selected testsuite.</p>""")) |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
106 | self.startFailedButton = self.buttonBox.addButton( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
107 | self.tr("Rerun Failed"), QDialogButtonBox.ButtonRole.ActionRole) |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
108 | self.startFailedButton.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
109 | self.tr("Reruns failed tests of the selected testsuite")) |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
110 | self.startFailedButton.setWhatsThis(self.tr( |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
111 | """<b>Rerun Failed</b>""" |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
112 | """<p>This button reruns all failed tests of the selected""" |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
113 | """ testsuite.</p>""")) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
114 | self.stopButton = self.buttonBox.addButton( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
115 | self.tr("Stop"), QDialogButtonBox.ButtonRole.ActionRole) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
116 | self.stopButton.setToolTip(self.tr("Stop the running unittest")) |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
117 | self.stopButton.setWhatsThis(self.tr( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | """<b>Stop Test</b>""" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | """<p>This button stops a running unittest.</p>""")) |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
120 | self.discoverButton.setEnabled(False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | self.stopButton.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | self.startButton.setDefault(True) |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
123 | self.startFailedButton.setEnabled(False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
125 | self.__dbs = dbs |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
126 | self.__forProject = False |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
128 | self.setWindowFlags( |
8322
b422b4e77d19
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
129 | self.windowFlags() | |
b422b4e77d19
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
130 | Qt.WindowType.WindowContextHelpButtonHint |
b422b4e77d19
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
131 | ) |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
132 | self.setWindowIcon(UI.PixmapCache.getIcon("eric")) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
133 | self.setWindowTitle(self.tr("Unittest")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | if dbs: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | self.ui = ui |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
136 | |
6904
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
137 | self.debuggerCheckBox.setChecked(True) |
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
138 | |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
139 | # virtual environment manager is only used in the integrated |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
140 | # variant |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
141 | self.__venvManager = e5App().getObject("VirtualEnvManager") |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
142 | self.__populateVenvComboBox() |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
143 | self.__venvManager.virtualEnvironmentAdded.connect( |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
144 | self.__populateVenvComboBox) |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
145 | self.__venvManager.virtualEnvironmentRemoved.connect( |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
146 | self.__populateVenvComboBox) |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
147 | self.__venvManager.virtualEnvironmentChanged.connect( |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
148 | self.__populateVenvComboBox) |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
149 | else: |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
150 | self.__venvManager = None |
6904
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
151 | self.debuggerCheckBox.setVisible(False) |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
152 | self.venvComboBox.setVisible(bool(self.__venvManager)) |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
153 | self.venvLabel.setVisible(bool(self.__venvManager)) |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
154 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | self.__setProgressColor("green") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | self.progressLed.setDarkFactor(150) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | self.progressLed.off() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
159 | self.discoverHistory = [] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | self.fileHistory = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | self.testNameHistory = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | self.running = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | self.savedModulelist = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | self.savedSysPath = sys.path |
6897
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
165 | self.savedCwd = os.getcwd() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | if prog: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | self.insertProg(prog) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
169 | self.rxPatterns = [ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
170 | self.tr("^Failure: "), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
171 | self.tr("^Error: "), |
5409
c6f4a6f0d051
Fixed a situation in the unittest dialog where translations are only partially done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
172 | # These are for untranslated/partially translated situations |
c6f4a6f0d051
Fixed a situation in the unittest dialog where translations are only partially done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
173 | "^Failure: ", |
c6f4a6f0d051
Fixed a situation in the unittest dialog where translations are only partially done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
174 | "^Error: ", |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
175 | ] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
177 | self.__failedTests = [] |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
178 | |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
179 | # now connect the debug server signals if called from the eric IDE |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
180 | if self.__dbs: |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
181 | self.__dbs.utDiscovered.connect(self.__UTDiscovered) |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
182 | self.__dbs.utPrepared.connect(self.__UTPrepared) |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
183 | self.__dbs.utFinished.connect(self.__setStoppedMode) |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
184 | self.__dbs.utStartTest.connect(self.testStarted) |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
185 | self.__dbs.utStopTest.connect(self.testFinished) |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
186 | self.__dbs.utTestFailed.connect(self.testFailed) |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
187 | self.__dbs.utTestErrored.connect(self.testErrored) |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
188 | self.__dbs.utTestSkipped.connect(self.testSkipped) |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
189 | self.__dbs.utTestFailedExpected.connect(self.testFailedExpected) |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
190 | self.__dbs.utTestSucceededUnexpected.connect( |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
191 | self.testSucceededUnexpected) |
6359
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
192 | |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
193 | self.__editors = [] |
1481
eebaadaee21e
Added the function to close the unit test dialog by pressing the Esc key.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
194 | |
eebaadaee21e
Added the function to close the unit test dialog by pressing the Esc key.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
195 | def keyPressEvent(self, evt): |
eebaadaee21e
Added the function to close the unit test dialog by pressing the Esc key.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
196 | """ |
eebaadaee21e
Added the function to close the unit test dialog by pressing the Esc key.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
197 | Protected slot to handle key press events. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | |
1481
eebaadaee21e
Added the function to close the unit test dialog by pressing the Esc key.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
199 | @param evt key press event to handle (QKeyEvent) |
eebaadaee21e
Added the function to close the unit test dialog by pressing the Esc key.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
200 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
201 | if evt.key() == Qt.Key.Key_Escape and self.__dbs: |
1481
eebaadaee21e
Added the function to close the unit test dialog by pressing the Esc key.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
202 | self.close() |
eebaadaee21e
Added the function to close the unit test dialog by pressing the Esc key.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
203 | |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
204 | def __populateVenvComboBox(self): |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
205 | """ |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
206 | Private method to (re-)populate the virtual environments selector. |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
207 | """ |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
208 | currentText = self.venvComboBox.currentText() |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
209 | self.venvComboBox.clear() |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
210 | self.venvComboBox.addItem("") |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
211 | self.venvComboBox.addItems( |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
212 | sorted(self.__venvManager.getVirtualenvNames())) |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
213 | index = self.venvComboBox.findText(currentText) |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
214 | if index < 0: |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
215 | index = 0 |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
216 | self.venvComboBox.setCurrentIndex(index) |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
217 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
218 | def __setProgressColor(self, color): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
220 | Private methode to set the color of the progress color label. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
221 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
222 | @param color colour to be shown (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
223 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
224 | self.progressLed.setColor(QColor(color)) |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
225 | |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
226 | def setProjectMode(self, forProject): |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
227 | """ |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
228 | Public method to set the project mode of the dialog. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
230 | @param forProject flag indicating to run for the open project |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
231 | @type bool |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
232 | """ |
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
233 | self.__forProject = forProject |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
234 | if forProject: |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
235 | project = e5App().getObject("Project") |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
236 | if project.isOpen(): |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
237 | self.insertDiscovery(project.getProjectPath()) |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
238 | else: |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
239 | self.insertDiscovery("") |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
240 | else: |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
241 | self.insertDiscovery("") |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
242 | |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
243 | self.discoveryList.clear() |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
244 | self.tabWidget.setCurrentIndex(0) |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
245 | |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
246 | def insertDiscovery(self, start): |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
247 | """ |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
248 | Public slot to insert the discovery start directory into the |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
249 | discoveryPicker object. |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
250 | |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
251 | @param start start directory name to be inserted |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
252 | @type str |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
253 | """ |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
254 | # prepend the given directory to the discovery picker |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
255 | if start is None: |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
256 | start = "" |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
257 | if start in self.discoverHistory: |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
258 | self.discoverHistory.remove(start) |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
259 | self.discoverHistory.insert(0, start) |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
260 | self.discoveryPicker.clear() |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
261 | self.discoveryPicker.addItems(self.discoverHistory) |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
262 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
263 | def insertProg(self, prog): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
264 | """ |
4582
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
265 | Public slot to insert the filename prog into the testsuitePicker |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
266 | object. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | @param prog filename to be inserted (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | """ |
4582
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
270 | # prepend the selected file to the testsuite picker |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | if prog is None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
272 | prog = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | if prog in self.fileHistory: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
274 | self.fileHistory.remove(prog) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | self.fileHistory.insert(0, prog) |
4582
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
276 | self.testsuitePicker.clear() |
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
277 | self.testsuitePicker.addItems(self.fileHistory) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
278 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | def insertTestName(self, testName): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | Public slot to insert a test name into the testComboBox object. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | @param testName name of the test to be inserted (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
284 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | # prepend the selected file to the testsuite combobox |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
286 | if testName is None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
287 | testName = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | if testName in self.testNameHistory: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | self.testNameHistory.remove(testName) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | self.testNameHistory.insert(0, testName) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | self.testComboBox.clear() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | self.testComboBox.addItems(self.testNameHistory) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
293 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | @pyqtSlot() |
4582
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
295 | def on_testsuitePicker_aboutToShowPathPickerDialog(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | """ |
4582
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
297 | Private slot called before the test suite selection dialog is shown. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | """ |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
299 | if self.__dbs: |
7259
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
300 | py3Extensions = ' '.join( |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
301 | ["*{0}".format(ext) |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
302 | for ext in self.__dbs.getExtensions('Python3')] |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
303 | ) |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
304 | fileFilter = self.tr( |
7635
0cdead130a81
Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
305 | "Python3 Files ({0});;All Files (*)" |
0cdead130a81
Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
306 | ).format(py3Extensions) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
307 | else: |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
308 | fileFilter = self.tr("Python Files (*.py);;All Files (*)") |
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
309 | self.testsuitePicker.setFilters(fileFilter) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
310 | |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
311 | defaultDirectory = Preferences.getMultiProject("Workspace") |
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
312 | if not defaultDirectory: |
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
313 | defaultDirectory = os.path.expanduser("~") |
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
314 | if self.__dbs: |
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
315 | project = e5App().getObject("Project") |
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
316 | if self.__forProject and project.isOpen(): |
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
317 | defaultDirectory = project.getProjectPath() |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
318 | self.testsuitePicker.setDefaultDirectory(defaultDirectory) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
319 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | @pyqtSlot(str) |
4582
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
321 | def on_testsuitePicker_pathSelected(self, suite): |
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
322 | """ |
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
323 | Private slot called after a test suite has been selected. |
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
324 | |
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
325 | @param suite file name of the test suite |
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
326 | @type str |
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
327 | """ |
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
328 | self.insertProg(suite) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
329 | |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
330 | @pyqtSlot(str) |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
331 | def on_testsuitePicker_editTextChanged(self, path): |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
332 | """ |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
333 | Private slot handling changes of the test suite path. |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
334 | |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
335 | @param path path of the test suite file |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
336 | @type str |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
337 | """ |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
338 | self.startFailedButton.setEnabled(False) |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
339 | |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
340 | @pyqtSlot(bool) |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
341 | def on_discoverCheckBox_toggled(self, checked): |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
342 | """ |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
343 | Private slot handling state changes of the 'discover' checkbox. |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
344 | |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
345 | @param checked state of the checkbox |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
346 | @type bool |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
347 | """ |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
348 | self.discoverButton.setEnabled(checked) |
6900
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
349 | self.discoveryList.clear() |
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
350 | |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
351 | if not bool(self.discoveryPicker.currentText()): |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
352 | if self.__forProject: |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
353 | project = e5App().getObject("Project") |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
354 | if project.isOpen(): |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
355 | self.insertDiscovery(project.getProjectPath()) |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
356 | return |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
357 | |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
358 | self.insertDiscovery(Preferences.getMultiProject("Workspace")) |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
359 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
360 | def on_buttonBox_clicked(self, button): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
361 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
362 | Private slot called by a button of the button box clicked. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
364 | @param button button that was clicked (QAbstractButton) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | """ |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
366 | if button == self.discoverButton: |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
367 | self.__discover() |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
368 | elif button == self.startButton: |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
369 | self.startTests() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
370 | elif button == self.stopButton: |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
371 | self.__stopTests() |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
372 | elif button == self.startFailedButton: |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
373 | self.startTests(failedOnly=True) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
374 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | @pyqtSlot() |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
376 | def __discover(self): |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
377 | """ |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
378 | Private slot to discover unit test but don't run them. |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
379 | """ |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
380 | if self.running: |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
381 | return |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
382 | |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
383 | self.discoveryList.clear() |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
384 | |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
385 | discoveryStart = self.discoveryPicker.currentText() |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
386 | self.sbLabel.setText(self.tr("Discovering Tests")) |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
387 | QApplication.processEvents() |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
388 | |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
389 | self.testName = self.tr("Unittest with auto-discovery") |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
390 | if self.__dbs: |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
391 | venvName = self.venvComboBox.currentText() |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
392 | |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
393 | # we are cooperating with the eric IDE |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
394 | project = e5App().getObject("Project") |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
395 | if self.__forProject: |
7072
66ef92f769bf
Allow unittest for projects without main script.
Mikhail Terekhov
parents:
7071
diff
changeset
|
396 | mainScript = project.getMainScript(True) |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
397 | clientType = project.getProjectLanguage() |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
398 | if mainScript: |
7072
66ef92f769bf
Allow unittest for projects without main script.
Mikhail Terekhov
parents:
7071
diff
changeset
|
399 | workdir = os.path.dirname(os.path.abspath(mainScript)) |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
400 | else: |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
401 | workdir = project.getProjectPath() |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
402 | sysPath = [workdir] |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
403 | if not discoveryStart: |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
404 | discoveryStart = workdir |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
405 | else: |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
406 | if not discoveryStart: |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
407 | E5MessageBox.critical( |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
408 | self, |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
409 | self.tr("Unittest"), |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
410 | self.tr("You must enter a start directory for" |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
411 | " auto-discovery.")) |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
412 | return |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
413 | |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
414 | workdir = "" |
7635
0cdead130a81
Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
415 | clientType = "Python3" |
6905
889339ffe6cf
UnittestDialog: fixed an issue causing an uncaught exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6904
diff
changeset
|
416 | sysPath = [] |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
417 | self.__dbs.remoteUTDiscover(clientType, self.__forProject, |
7071
c9ff30a1acbb
Fix unittest discovery, allow discovery start in project subdirectory.
Mikhail Terekhov
parents:
6942
diff
changeset
|
418 | venvName, sysPath, workdir, |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
419 | discoveryStart) |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
420 | else: |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
421 | # we are running as an application |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
422 | if not discoveryStart: |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
423 | E5MessageBox.critical( |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
424 | self, |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
425 | self.tr("Unittest"), |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
426 | self.tr("You must enter a start directory for" |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
427 | " auto-discovery.")) |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
428 | return |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
429 | |
6900
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
430 | if discoveryStart: |
7259
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
431 | sys.path = ( |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
432 | [os.path.abspath(discoveryStart)] + |
6900
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
433 | self.savedSysPath |
7259
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
434 | ) |
6900
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
435 | |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
436 | # clean up list of imported modules to force a reimport upon |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
437 | # running the test |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
438 | if self.savedModulelist: |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
439 | for modname in list(sys.modules.keys()): |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
440 | if modname not in self.savedModulelist: |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
441 | # delete it |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
442 | del(sys.modules[modname]) |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
443 | self.savedModulelist = sys.modules.copy() |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
444 | |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
445 | # now try to discover the testsuite |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
446 | os.chdir(discoveryStart) |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
447 | try: |
6900
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
448 | testLoader = unittest.TestLoader() |
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
449 | test = testLoader.discover(discoveryStart) |
7259
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
450 | if hasattr(testLoader, "errors") and bool(testLoader.errors): |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
451 | E5MessageBox.critical( |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
452 | self, |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
453 | self.tr("Unittest"), |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
454 | self.tr( |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
455 | "<p>Unable to discover tests.</p>" |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
456 | "<p>{0}</p>" |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
457 | ).format("<br/>".join(testLoader.errors) |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
458 | .replace("\n", "<br/>")) |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
459 | ) |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
460 | self.sbLabel.clear() |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
461 | else: |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
462 | testsList = self.__assembleTestCasesList( |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
463 | test, discoveryStart) |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
464 | self.__populateDiscoveryResults(testsList) |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
465 | self.sbLabel.setText( |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
466 | self.tr("Discovered %n Test(s)", "", |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
467 | len(testsList))) |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
468 | self.tabWidget.setCurrentIndex(0) |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
469 | except Exception: |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
470 | exc_type, exc_value, exc_tb = sys.exc_info() |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
471 | E5MessageBox.critical( |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
472 | self, |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
473 | self.tr("Unittest"), |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
474 | self.tr( |
6900
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
475 | "<p>Unable to discover tests.</p>" |
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
476 | "<p>{0}<br/>{1}</p>") |
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
477 | .format(str(exc_type), |
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
478 | str(exc_value).replace("\n", "<br/>")) |
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
479 | ) |
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
480 | self.sbLabel.clear() |
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
481 | |
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
482 | sys.path = self.savedSysPath |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
483 | |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
484 | def __assembleTestCasesList(self, suite, start): |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
485 | """ |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
486 | Private method to assemble a list of test cases included in a test |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
487 | suite. |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
488 | |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
489 | @param suite test suite to be inspected |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
490 | @type unittest.TestSuite |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
491 | @param start name of directory discovery was started at |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
492 | @type str |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
493 | @return list of tuples containing the test case ID, a short description |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
494 | and the path of the test file name |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
495 | @rtype list of tuples of (str, str, str) |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
496 | """ |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
497 | testCases = [] |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
498 | for test in suite: |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
499 | if isinstance(test, unittest.TestSuite): |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
500 | testCases.extend(self.__assembleTestCasesList(test, start)) |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
501 | else: |
6900
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
502 | testId = test.id() |
7259
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
503 | if ( |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
504 | "ModuleImportFailure" not in testId and |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
505 | "LoadTestsFailure" not in testId and |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
506 | "_FailedTest" not in testId |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
507 | ): |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
508 | filename = os.path.join( |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
509 | start, |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
510 | test.__module__.replace(".", os.sep) + ".py") |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
511 | testCases.append( |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
512 | (test.id(), test.shortDescription(), filename) |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
513 | ) |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
514 | return testCases |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
515 | |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
516 | def __findDiscoveryItem(self, modulePath): |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
517 | """ |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
518 | Private method to find an item given the module path. |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
519 | |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
520 | @param modulePath path of the module in dotted notation |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
521 | @type str |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
522 | @return reference to the item or None |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
523 | @rtype QTreeWidgetItem or None |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
524 | """ |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
525 | itm = self.discoveryList.topLevelItem(0) |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
526 | while itm is not None: |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
527 | if itm.data(0, UnittestDialog.TestCaseNameRole) == modulePath: |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
528 | return itm |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
529 | itm = self.discoveryList.itemBelow(itm) |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
530 | |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
531 | return None |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
532 | |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
533 | def __populateDiscoveryResults(self, tests): |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
534 | """ |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
535 | Private method to populate the test discovery results list. |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
536 | |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
537 | @param tests list of tuples containing the discovery results |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
538 | @type list of tuples of (str, str, str) |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
539 | """ |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
540 | for test, _testDescription, filename in tests: |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
541 | testPath = test.split(".") |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
542 | pitm = None |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
543 | for index in range(1, len(testPath) + 1): |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
544 | modulePath = ".".join(testPath[:index]) |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
545 | itm = self.__findDiscoveryItem(modulePath) |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
546 | if itm is not None: |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
547 | pitm = itm |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
548 | else: |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
549 | if pitm is None: |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
550 | itm = QTreeWidgetItem(self.discoveryList, |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
551 | [testPath[index - 1]]) |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
552 | else: |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
553 | itm = QTreeWidgetItem(pitm, |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
554 | [testPath[index - 1]]) |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
555 | pitm.setExpanded(True) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
556 | itm.setFlags(Qt.ItemFlag.ItemIsUserCheckable | |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
557 | Qt.ItemFlag.ItemIsEnabled) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
558 | itm.setCheckState(0, Qt.CheckState.Unchecked) |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
559 | itm.setData(0, UnittestDialog.TestCaseNameRole, modulePath) |
7259
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
560 | if ( |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
561 | os.path.splitext(os.path.basename(filename))[0] == |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
562 | itm.text(0) |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
563 | ): |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
564 | itm.setData(0, UnittestDialog.TestCaseFileRole, |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
565 | filename) |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
566 | elif pitm: |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
567 | fn = pitm.data(0, UnittestDialog.TestCaseFileRole) |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
568 | if fn: |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
569 | itm.setData(0, UnittestDialog.TestCaseFileRole, fn) |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
570 | pitm = itm |
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
571 | |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
572 | def __selectedTestCases(self, parent=None): |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
573 | """ |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
574 | Private method to assemble the list of selected test cases and suites. |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
575 | |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
576 | @param parent reference to the parent item |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
577 | @type QTreeWidgetItem |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
578 | @return list of selected test cases |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
579 | @rtype list of str |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
580 | """ |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
581 | selectedTests = [] |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
582 | if parent is None: |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
583 | # top level |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
584 | for index in range(self.discoveryList.topLevelItemCount()): |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
585 | itm = self.discoveryList.topLevelItem(index) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
586 | if itm.checkState(0) == Qt.CheckState.Checked: |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
587 | selectedTests.append( |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
588 | itm.data(0, UnittestDialog.TestCaseNameRole)) |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
589 | # ignore children because they are included implicitly |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
590 | elif itm.childCount(): |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
591 | # recursively check children |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
592 | selectedTests.extend(self.__selectedTestCases(itm)) |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
593 | |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
594 | else: |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
595 | # parent item with children |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
596 | for index in range(parent.childCount()): |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
597 | itm = parent.child(index) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
598 | if itm.checkState(0) == Qt.CheckState.Checked: |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
599 | selectedTests.append( |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
600 | itm.data(0, UnittestDialog.TestCaseNameRole)) |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
601 | # ignore children because they are included implicitly |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
602 | elif itm.childCount(): |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
603 | # recursively check children |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
604 | selectedTests.extend(self.__selectedTestCases(itm)) |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
605 | |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
606 | return selectedTests |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
607 | |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
608 | def __UTDiscovered(self, testCases, exc_type, exc_value): |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
609 | """ |
6904
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
610 | Private slot to handle the utDiscovered signal. |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
611 | |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
612 | If the unittest suite was loaded successfully, we ask the |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
613 | client to run the test suite. |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
614 | |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
615 | @param testCases list of detected test cases |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
616 | @type str |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
617 | @param exc_type exception type occured during discovery |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
618 | @type str |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
619 | @param exc_value value of exception occured during discovery |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
620 | @type str |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
621 | """ |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
622 | if testCases: |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
623 | self.__populateDiscoveryResults(testCases) |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
624 | self.sbLabel.setText( |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
625 | self.tr("Discovered %n Test(s)", "", |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
626 | len(testCases))) |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
627 | self.tabWidget.setCurrentIndex(0) |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
628 | else: |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
629 | E5MessageBox.critical( |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
630 | self, |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
631 | self.tr("Unittest"), |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
632 | self.tr("<p>Unable to discover tests.</p>" |
6902
67d0ad66b59a
Updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6901
diff
changeset
|
633 | "<p>{0}<br/>{1}</p>") |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
634 | .format(exc_type, exc_value.replace("\n", "<br/>")) |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
635 | ) |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
636 | |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
637 | @pyqtSlot(QTreeWidgetItem, int) |
7073
e86027967f5c
Recursively change children's check state when an item check state is changed
Mikhail Terekhov
parents:
7072
diff
changeset
|
638 | def on_discoveryList_itemChanged(self, item, column): |
e86027967f5c
Recursively change children's check state when an item check state is changed
Mikhail Terekhov
parents:
7072
diff
changeset
|
639 | """ |
e86027967f5c
Recursively change children's check state when an item check state is changed
Mikhail Terekhov
parents:
7072
diff
changeset
|
640 | Private slot handling the user checking or unchecking an item. |
e86027967f5c
Recursively change children's check state when an item check state is changed
Mikhail Terekhov
parents:
7072
diff
changeset
|
641 | |
e86027967f5c
Recursively change children's check state when an item check state is changed
Mikhail Terekhov
parents:
7072
diff
changeset
|
642 | @param item reference to the item |
e86027967f5c
Recursively change children's check state when an item check state is changed
Mikhail Terekhov
parents:
7072
diff
changeset
|
643 | @type QTreeWidgetItem |
e86027967f5c
Recursively change children's check state when an item check state is changed
Mikhail Terekhov
parents:
7072
diff
changeset
|
644 | @param column changed column |
e86027967f5c
Recursively change children's check state when an item check state is changed
Mikhail Terekhov
parents:
7072
diff
changeset
|
645 | @type int |
e86027967f5c
Recursively change children's check state when an item check state is changed
Mikhail Terekhov
parents:
7072
diff
changeset
|
646 | """ |
e86027967f5c
Recursively change children's check state when an item check state is changed
Mikhail Terekhov
parents:
7072
diff
changeset
|
647 | if column == 0: |
e86027967f5c
Recursively change children's check state when an item check state is changed
Mikhail Terekhov
parents:
7072
diff
changeset
|
648 | for index in range(item.childCount()): |
e86027967f5c
Recursively change children's check state when an item check state is changed
Mikhail Terekhov
parents:
7072
diff
changeset
|
649 | item.child(index).setCheckState(0, item.checkState(0)) |
e86027967f5c
Recursively change children's check state when an item check state is changed
Mikhail Terekhov
parents:
7072
diff
changeset
|
650 | |
e86027967f5c
Recursively change children's check state when an item check state is changed
Mikhail Terekhov
parents:
7072
diff
changeset
|
651 | @pyqtSlot(QTreeWidgetItem, int) |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
652 | def on_discoveryList_itemDoubleClicked(self, item, column): |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
653 | """ |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
654 | Private slot handling the user double clicking an item. |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
655 | |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
656 | @param item reference to the item |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
657 | @type QTreeWidgetItem |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
658 | @param column column of the double click |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
659 | @type int |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
660 | """ |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
661 | if item: |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
662 | filename = item.data(0, UnittestDialog.TestCaseFileRole) |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
663 | if filename: |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
664 | if self.__dbs: |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
665 | # running as part of eric IDE |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
666 | self.unittestFile.emit(filename, 1, False) |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
667 | else: |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
668 | self.__openEditor(filename, 1) |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
669 | |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
670 | @pyqtSlot() |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
671 | def startTests(self, failedOnly=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
672 | """ |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
673 | Public slot to start the test. |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
674 | |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
675 | @param failedOnly flag indicating to run only failed tests (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
676 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
677 | if self.running: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
678 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
679 | |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
680 | discover = self.discoverCheckBox.isChecked() |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
681 | if discover: |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
682 | discoveryStart = self.discoveryPicker.currentText() |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
683 | testFileName = "" |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
684 | testName = "" |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
685 | else: |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
686 | discoveryStart = "" |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
687 | testFileName = self.testsuitePicker.currentText() |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
688 | testName = self.testComboBox.currentText() |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
689 | if testName: |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
690 | self.insertTestName(testName) |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
691 | if testFileName and not testName: |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
692 | testName = "suite" |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
693 | |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
694 | if not discover and not testFileName and not testName: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
695 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
696 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
697 | self.tr("Unittest"), |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
698 | self.tr("You must select auto-discovery or enter a test suite" |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
699 | " file or a dotted test name.")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
700 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
701 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
702 | # prepend the selected file to the testsuite combobox |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
703 | self.insertProg(testFileName) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
704 | self.sbLabel.setText(self.tr("Preparing Testsuite")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
705 | QApplication.processEvents() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
706 | |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
707 | if discover: |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
708 | self.testName = self.tr("Unittest with auto-discovery") |
1000
c9f094c33a1d
Fixed an issue with the unittest dialog not remembering the entered test name.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
709 | else: |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
710 | # build the module name from the filename without extension |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
711 | if testFileName: |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
712 | self.testName = os.path.splitext( |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
713 | os.path.basename(testFileName))[0] |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
714 | elif testName: |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
715 | self.testName = testName |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
716 | else: |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
717 | self.testName = self.tr("<Unnamed Test>") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
718 | |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
719 | if failedOnly: |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
720 | testCases = [] |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
721 | else: |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
722 | testCases = self.__selectedTestCases() |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
723 | |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
724 | if not testCases and self.discoveryList.topLevelItemCount(): |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
725 | ok = E5MessageBox.yesNo( |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
726 | self, |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
727 | self.tr("Unittest"), |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
728 | self.tr("""No test case has been selected. Shall all""" |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
729 | """ test cases be run?""")) |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
730 | if not ok: |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
731 | return |
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
732 | |
6892
c147620313c5
UnittestDialog: fixed an issue running tests for a project and removed the (obsolete) 'local' option.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6890
diff
changeset
|
733 | if self.__dbs: |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
734 | venvName = self.venvComboBox.currentText() |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
735 | |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
736 | # we are cooperating with the eric IDE |
53
c3eb7cc1ff8b
Renamed e5App to e5App.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
34
diff
changeset
|
737 | project = e5App().getObject("Project") |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
738 | if self.__forProject: |
7072
66ef92f769bf
Allow unittest for projects without main script.
Mikhail Terekhov
parents:
7071
diff
changeset
|
739 | mainScript = project.getMainScript(True) |
1782
90bd49fec9ff
Fixed an issue in the unit test dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
740 | clientType = project.getProjectLanguage() |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
741 | if mainScript: |
7072
66ef92f769bf
Allow unittest for projects without main script.
Mikhail Terekhov
parents:
7071
diff
changeset
|
742 | workdir = os.path.dirname(os.path.abspath(mainScript)) |
66ef92f769bf
Allow unittest for projects without main script.
Mikhail Terekhov
parents:
7071
diff
changeset
|
743 | coverageFile = os.path.splitext(mainScript)[0] |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
744 | else: |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
745 | workdir = project.getProjectPath() |
7072
66ef92f769bf
Allow unittest for projects without main script.
Mikhail Terekhov
parents:
7071
diff
changeset
|
746 | coverageFile = os.path.join(discoveryStart, "unittest") |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
747 | sysPath = [workdir] |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
748 | if discover and not discoveryStart: |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
749 | discoveryStart = workdir |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
750 | else: |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
751 | if discover: |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
752 | if not discoveryStart: |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
753 | E5MessageBox.critical( |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
754 | self, |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
755 | self.tr("Unittest"), |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
756 | self.tr("You must enter a start directory for" |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
757 | " auto-discovery.")) |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
758 | return |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
759 | |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
760 | coverageFile = os.path.join(discoveryStart, "unittest") |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
761 | workdir = "" |
7635
0cdead130a81
Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
762 | clientType = "Python3" |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
763 | elif testFileName: |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
764 | mainScript = os.path.abspath(testFileName) |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
765 | workdir = os.path.dirname(mainScript) |
7635
0cdead130a81
Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
766 | clientType = "Python3" |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
767 | coverageFile = os.path.splitext(mainScript)[0] |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
768 | else: |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
769 | coverageFile = os.path.abspath("unittest") |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
770 | workdir = "" |
7635
0cdead130a81
Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
771 | clientType = "Python3" |
6892
c147620313c5
UnittestDialog: fixed an issue running tests for a project and removed the (obsolete) 'local' option.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6890
diff
changeset
|
772 | sysPath = [] |
6897
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
773 | if failedOnly and self.__failedTests: |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
774 | failed = self.__failedTests[:] |
6897
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
775 | if discover: |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
776 | workdir = discoveryStart |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
777 | discover = False |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
778 | else: |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
779 | failed = [] |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
780 | self.__failedTests = [] |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
781 | self.__dbs.remoteUTPrepare( |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
782 | testFileName, self.testName, testName, failed, |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
783 | self.coverageCheckBox.isChecked(), coverageFile, |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
784 | self.coverageEraseCheckBox.isChecked(), clientType=clientType, |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
785 | forProject=self.__forProject, workdir=workdir, |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
786 | venvName=venvName, syspath=sysPath, |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
787 | discover=discover, discoveryStart=discoveryStart, |
6904
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
788 | testCases=testCases, debug=self.debuggerCheckBox.isChecked()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
789 | else: |
6892
c147620313c5
UnittestDialog: fixed an issue running tests for a project and removed the (obsolete) 'local' option.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6890
diff
changeset
|
790 | # we are running as an application |
6897
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
791 | if discover and not discoveryStart: |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
792 | E5MessageBox.critical( |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
793 | self, |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
794 | self.tr("Unittest"), |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
795 | self.tr("You must enter a start directory for" |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
796 | " auto-discovery.")) |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
797 | return |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
798 | |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
799 | if testFileName: |
7259
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
800 | sys.path = ( |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
801 | [os.path.dirname(os.path.abspath(testFileName))] + |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
802 | self.savedSysPath |
7259
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
803 | ) |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
804 | elif discoveryStart: |
7259
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
805 | sys.path = ( |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
806 | [os.path.abspath(discoveryStart)] + |
6899
8c4cf9c405c7
UnittestDialog: started implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6897
diff
changeset
|
807 | self.savedSysPath |
7259
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
808 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
809 | |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
810 | # clean up list of imported modules to force a reimport upon |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
811 | # running the test |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
812 | if self.savedModulelist: |
34
93367928a93b
Ported the unittest dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
15
diff
changeset
|
813 | for modname in list(sys.modules.keys()): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
814 | if modname not in self.savedModulelist: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
815 | # delete it |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
816 | del(sys.modules[modname]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
817 | self.savedModulelist = sys.modules.copy() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
818 | |
6897
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
819 | os.chdir(self.savedCwd) |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
820 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
821 | # now try to generate the testsuite |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
822 | try: |
6900
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
823 | testLoader = unittest.TestLoader() |
6897
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
824 | if failedOnly and self.__failedTests: |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
825 | failed = self.__failedTests[:] |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
826 | if discover: |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
827 | os.chdir(discoveryStart) |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
828 | discover = False |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
829 | else: |
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
830 | failed = [] |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
831 | if discover: |
6901
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
832 | if testCases: |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
833 | test = testLoader.loadTestsFromNames(testCases) |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
834 | else: |
f2c774c8db7e
UnittestDialog: implemented the remote part fo 'discover only'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6900
diff
changeset
|
835 | test = testLoader.discover(discoveryStart) |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
836 | else: |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
837 | if testFileName: |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
838 | module = __import__(self.testName) |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
839 | else: |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
840 | module = None |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
841 | if failedOnly and self.__failedTests: |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
842 | if module: |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
843 | failed = [t.split(".", 1)[1] |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
844 | for t in self.__failedTests] |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
845 | else: |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
846 | failed = self.__failedTests[:] |
6900
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
847 | test = testLoader.loadTestsFromNames( |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
848 | failed, module) |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
849 | else: |
6900
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
850 | test = testLoader.loadTestsFromName( |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
851 | testName, module) |
4563
881340f4bd0c
Fixed a few coding style issue related to 'blind except:' statements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4489
diff
changeset
|
852 | except Exception: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
853 | exc_type, exc_value, exc_tb = sys.exc_info() |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
854 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
855 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
856 | self.tr("Unittest"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
857 | self.tr( |
6900
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
858 | "<p>Unable to run test <b>{0}</b>.</p>" |
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
859 | "<p>{1}<br/>{2}</p>") |
3038
7fe9a53280bd
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3030
diff
changeset
|
860 | .format(self.testName, str(exc_type), |
6900
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
861 | str(exc_value).replace("\n", "<br/>")) |
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
862 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
863 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
864 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
865 | # now set up the coverage stuff |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
866 | if self.coverageCheckBox.isChecked(): |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
867 | if discover: |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
868 | covname = os.path.join(discoveryStart, "unittest") |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
869 | elif testFileName: |
7259
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
870 | covname = os.path.splitext( |
7c017076c12e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
871 | os.path.abspath(testFileName))[0] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
872 | else: |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
873 | covname = "unittest" |
2409
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
874 | |
6027
d056a536670e
Fixed a nasty bug in the unit test dialog when combining unit test with coverage testing.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5603
diff
changeset
|
875 | from DebugClients.Python.coverage import coverage |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
876 | cover = coverage(data_file="{0}.coverage".format(covname)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
877 | if self.coverageEraseCheckBox.isChecked(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
878 | cover.erase() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
879 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
880 | cover = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
881 | |
6904
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
882 | self.testResult = QtTestResult( |
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
883 | self, self.failfastCheckBox.isChecked()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
884 | self.totalTests = test.countTestCases() |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
885 | self.__failedTests = [] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
886 | self.__setRunningMode() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
887 | if cover: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
888 | cover.start() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
889 | test.run(self.testResult) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
890 | if cover: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
891 | cover.stop() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
892 | cover.save() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
893 | self.__setStoppedMode() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
894 | sys.path = self.savedSysPath |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
895 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
896 | def __UTPrepared(self, nrTests, exc_type, exc_value): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
897 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
898 | Private slot to handle the utPrepared signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
899 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
900 | If the unittest suite was loaded successfully, we ask the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
901 | client to run the test suite. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
902 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
903 | @param nrTests number of tests contained in the test suite (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
904 | @param exc_type type of exception occured during preparation (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
905 | @param exc_value value of exception occured during preparation (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
906 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
907 | if nrTests == 0: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
908 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
909 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
910 | self.tr("Unittest"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
911 | self.tr( |
6900
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
912 | "<p>Unable to run test <b>{0}</b>.</p>" |
6902
67d0ad66b59a
Updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6901
diff
changeset
|
913 | "<p>{1}<br/>{2}</p>") |
6900
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
914 | .format(self.testName, exc_type, |
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
915 | exc_value.replace("\n", "<br/>")) |
060a30488316
UnittestDialog: continued implementing pure discovery support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6899
diff
changeset
|
916 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
917 | return |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
918 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
919 | self.totalTests = nrTests |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
920 | self.__setRunningMode() |
6904
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
921 | self.__dbs.remoteUTRun(debug=self.debuggerCheckBox.isChecked(), |
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
922 | failfast=self.failfastCheckBox.isChecked()) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
923 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
924 | @pyqtSlot() |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
925 | def __stopTests(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
926 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
927 | Private slot to stop the test. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
928 | """ |
6892
c147620313c5
UnittestDialog: fixed an issue running tests for a project and removed the (obsolete) 'local' option.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6890
diff
changeset
|
929 | if self.__dbs: |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
930 | self.__dbs.remoteUTStop() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
931 | elif self.testResult: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
932 | self.testResult.stop() |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
933 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
934 | def on_errorsListWidget_currentTextChanged(self, text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
935 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
936 | Private slot to handle the highlighted signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
937 | |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2681
diff
changeset
|
938 | @param text current text (string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
939 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
940 | if text: |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
941 | for pattern in self.rxPatterns: |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
942 | text = re.sub(pattern, "", text) |
5409
c6f4a6f0d051
Fixed a situation in the unittest dialog where translations are only partially done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
943 | |
c6f4a6f0d051
Fixed a situation in the unittest dialog where translations are only partially done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
944 | foundItems = self.testsListWidget.findItems( |
8324
83084f088655
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8322
diff
changeset
|
945 | text, Qt.MatchFlag.MatchExactly) |
5409
c6f4a6f0d051
Fixed a situation in the unittest dialog where translations are only partially done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
946 | if len(foundItems) > 0: |
c6f4a6f0d051
Fixed a situation in the unittest dialog where translations are only partially done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
947 | itm = foundItems[0] |
c6f4a6f0d051
Fixed a situation in the unittest dialog where translations are only partially done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
948 | self.testsListWidget.setCurrentItem(itm) |
c6f4a6f0d051
Fixed a situation in the unittest dialog where translations are only partially done.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
949 | self.testsListWidget.scrollToItem(itm) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
950 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
951 | def __setRunningMode(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
952 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
953 | Private method to set the GUI in running mode. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
954 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
955 | self.running = True |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
956 | self.tabWidget.setCurrentIndex(1) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
957 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
958 | # reset counters and error infos |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
959 | self.runCount = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
960 | self.failCount = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
961 | self.errorCount = 0 |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
962 | self.skippedCount = 0 |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
963 | self.expectedFailureCount = 0 |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
964 | self.unexpectedSuccessCount = 0 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
965 | self.remainingCount = self.totalTests |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
966 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
967 | # reset the GUI |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
968 | self.progressCounterRunCount.setText(str(self.runCount)) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
969 | self.progressCounterRemCount.setText(str(self.remainingCount)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
970 | self.progressCounterFailureCount.setText(str(self.failCount)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
971 | self.progressCounterErrorCount.setText(str(self.errorCount)) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
972 | self.progressCounterSkippedCount.setText(str(self.skippedCount)) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
973 | self.progressCounterExpectedFailureCount.setText( |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
974 | str(self.expectedFailureCount)) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
975 | self.progressCounterUnexpectedSuccessCount.setText( |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
976 | str(self.unexpectedSuccessCount)) |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
977 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
978 | self.errorsListWidget.clear() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
979 | self.testsListWidget.clear() |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
980 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
981 | self.progressProgressBar.setRange(0, self.totalTests) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
982 | self.__setProgressColor("green") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
983 | self.progressProgressBar.reset() |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
984 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
985 | self.stopButton.setEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
986 | self.startButton.setEnabled(False) |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
987 | self.startFailedButton.setEnabled(False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
988 | self.stopButton.setDefault(True) |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
989 | |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
990 | self.sbLabel.setText(self.tr("Running")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
991 | self.progressLed.on() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
992 | QApplication.processEvents() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
993 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
994 | self.startTime = time.time() |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
995 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
996 | def __setStoppedMode(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
997 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
998 | Private method to set the GUI in stopped mode. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
999 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1000 | self.stopTime = time.time() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1001 | self.timeTaken = float(self.stopTime - self.startTime) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1002 | self.running = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1003 | |
6897
701256697721
UnittestDialog: refined the handling of "Rerun Failed".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6896
diff
changeset
|
1004 | failedAvailable = bool(self.__failedTests) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1005 | self.startButton.setEnabled(True) |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
1006 | self.startFailedButton.setEnabled(failedAvailable) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1007 | self.stopButton.setEnabled(False) |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
1008 | if failedAvailable: |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1009 | self.startFailedButton.setDefault(True) |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1010 | self.startButton.setDefault(False) |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1011 | else: |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1012 | self.startFailedButton.setDefault(False) |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1013 | self.startButton.setDefault(True) |
6894
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
1014 | self.sbLabel.setText( |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
1015 | self.tr("Ran %n test(s) in {0:.3f}s", "", self.runCount) |
df83ac87e0db
UnittestDialog: added capability to auto-discover tests.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6893
diff
changeset
|
1016 | .format(self.timeTaken)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1017 | self.progressLed.off() |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1018 | |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1019 | self.unittestStopped.emit() |
6904
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
1020 | |
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
1021 | self.raise_() |
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
1022 | self.activateWindow() |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1023 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
1024 | def testFailed(self, test, exc, testId): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1025 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1026 | Public method called if a test fails. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1027 | |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1028 | @param test name of the test (string) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1029 | @param exc string representation of the exception (string) |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
1030 | @param testId id of the test (string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1031 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1032 | self.failCount += 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1033 | self.progressCounterFailureCount.setText(str(self.failCount)) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
1034 | itm = QListWidgetItem(self.tr("Failure: {0}").format(test)) |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
1035 | itm.setData(UnittestDialog.ErrorsInfoRole, (test, exc)) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1036 | self.errorsListWidget.insertItem(0, itm) |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
1037 | self.__failedTests.append(testId) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1038 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
1039 | def testErrored(self, test, exc, testId): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1040 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1041 | Public method called if a test errors. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1042 | |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1043 | @param test name of the test (string) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1044 | @param exc string representation of the exception (string) |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
1045 | @param testId id of the test (string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1046 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1047 | self.errorCount += 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1048 | self.progressCounterErrorCount.setText(str(self.errorCount)) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
1049 | itm = QListWidgetItem(self.tr("Error: {0}").format(test)) |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
1050 | itm.setData(UnittestDialog.ErrorsInfoRole, (test, exc)) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1051 | self.errorsListWidget.insertItem(0, itm) |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
1052 | self.__failedTests.append(testId) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1053 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
1054 | def testSkipped(self, test, reason, testId): |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1055 | """ |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1056 | Public method called if a test was skipped. |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1057 | |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1058 | @param test name of the test (string) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1059 | @param reason reason for skipping the test (string) |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
1060 | @param testId id of the test (string) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1061 | """ |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1062 | self.skippedCount += 1 |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1063 | self.progressCounterSkippedCount.setText(str(self.skippedCount)) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
1064 | itm = QListWidgetItem(self.tr(" Skipped: {0}").format(reason)) |
8029
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1065 | if e5App().usesDarkPalette(): |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1066 | itm.setForeground(self.SkippedColorDarkTheme) |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1067 | else: |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1068 | itm.setForeground(self.SkippedColorLightTheme) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1069 | self.testsListWidget.insertItem(1, itm) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1070 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
1071 | def testFailedExpected(self, test, exc, testId): |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1072 | """ |
8029
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1073 | Public method called if a test fails as expected. |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1074 | |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1075 | @param test name of the test (string) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1076 | @param exc string representation of the exception (string) |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
1077 | @param testId id of the test (string) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1078 | """ |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1079 | self.expectedFailureCount += 1 |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
1080 | self.progressCounterExpectedFailureCount.setText( |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
1081 | str(self.expectedFailureCount)) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
1082 | itm = QListWidgetItem(self.tr(" Expected Failure")) |
8029
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1083 | if e5App().usesDarkPalette(): |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1084 | itm.setForeground(self.FailedExpectedColorDarkTheme) |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1085 | else: |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1086 | itm.setForeground(self.FailedExpectedColorLightTheme) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1087 | self.testsListWidget.insertItem(1, itm) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1088 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
1089 | def testSucceededUnexpected(self, test, testId): |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1090 | """ |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1091 | Public method called if a test succeeds unexpectedly. |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1092 | |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1093 | @param test name of the test (string) |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5409
diff
changeset
|
1094 | @param testId id of the test (string) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1095 | """ |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1096 | self.unexpectedSuccessCount += 1 |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1097 | self.progressCounterUnexpectedSuccessCount.setText( |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1098 | str(self.unexpectedSuccessCount)) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
1099 | itm = QListWidgetItem(self.tr(" Unexpected Success")) |
8029
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1100 | if e5App().usesDarkPalette(): |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1101 | itm.setForeground(self.SucceededUnexpectedColorDarkTheme) |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1102 | else: |
5feb4f723f07
UnittestDialog: changed color handling to support dark themes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1103 | itm.setForeground(self.SucceededUnexpectedColorLightTheme) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1104 | self.testsListWidget.insertItem(1, itm) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1105 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1106 | def testStarted(self, test, doc): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1107 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1108 | Public method called if a test is about to be run. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1109 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1110 | @param test name of the started test (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1111 | @param doc documentation of the started test (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1112 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1113 | if doc: |
428
58405c24aa09
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
1114 | self.testsListWidget.insertItem(0, " {0}".format(doc)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1115 | self.testsListWidget.insertItem(0, test) |
6892
c147620313c5
UnittestDialog: fixed an issue running tests for a project and removed the (obsolete) 'local' option.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6890
diff
changeset
|
1116 | if self.__dbs is None: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1117 | QApplication.processEvents() |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1118 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1119 | def testFinished(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1120 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1121 | Public method called if a test has finished. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1122 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1123 | <b>Note</b>: It is also called if it has already failed or errored. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1124 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1125 | # update the counters |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1126 | self.remainingCount -= 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1127 | self.runCount += 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1128 | self.progressCounterRunCount.setText(str(self.runCount)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1129 | self.progressCounterRemCount.setText(str(self.remainingCount)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1130 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1131 | # update the progressbar |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1132 | if self.errorCount: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1133 | self.__setProgressColor("red") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1134 | elif self.failCount: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1135 | self.__setProgressColor("orange") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1136 | self.progressProgressBar.setValue(self.runCount) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1137 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1138 | def on_errorsListWidget_itemDoubleClicked(self, lbitem): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1139 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1140 | Private slot called by doubleclicking an errorlist entry. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1141 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1142 | It will popup a dialog showing the stacktrace. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1143 | If called from eric, an additional button is displayed |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1144 | to show the python source in an eric source viewer (in |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1145 | erics main window. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1146 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1147 | @param lbitem the listbox item that was double clicked |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1148 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1149 | self.errListIndex = self.errorsListWidget.row(lbitem) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1150 | text = lbitem.text() |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1151 | self.on_errorsListWidget_currentTextChanged(text) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1152 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1153 | # get the error info |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
1154 | test, tracebackText = lbitem.data(UnittestDialog.ErrorsInfoRole) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1155 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1156 | # now build the dialog |
2409
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1157 | from .Ui_UnittestStacktraceDialog import Ui_UnittestStacktraceDialog |
4582
3a1d1d4c6f4f
Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4563
diff
changeset
|
1158 | self.dlg = QDialog(self) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1159 | ui = Ui_UnittestStacktraceDialog() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1160 | ui.setupUi(self.dlg) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1161 | self.dlg.traceback = ui.traceback |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1162 | |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
1163 | ui.showButton = ui.buttonBox.addButton( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
1164 | self.tr("Show Source"), QDialogButtonBox.ButtonRole.ActionRole) |
6359
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1165 | ui.showButton.clicked.connect(self.__showSource) |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1166 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
1167 | ui.buttonBox.button( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
1168 | QDialogButtonBox.StandardButton.Close).setDefault(True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1169 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1170 | self.dlg.setWindowTitle(text) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1171 | ui.testLabel.setText(test) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1172 | ui.traceback.setPlainText(tracebackText) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1173 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1174 | # and now fire it up |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1175 | self.dlg.show() |
7759
51aa6c6b66f7
Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7635
diff
changeset
|
1176 | self.dlg.exec() |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1177 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1178 | def __showSource(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1179 | """ |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1180 | Private slot to show the source of a traceback in an eric editor. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1181 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1182 | # get the error info |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1183 | tracebackLines = self.dlg.traceback.toPlainText().splitlines() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1184 | # find the last entry matching the pattern |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1185 | for index in range(len(tracebackLines) - 1, -1, -1): |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
1186 | fmatch = re.search(r'File "(.*?)", line (\d*?),.*', |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
1187 | tracebackLines[index]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1188 | if fmatch: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1189 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1190 | if fmatch: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1191 | fn, ln = fmatch.group(1, 2) |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
1192 | if self.__dbs: |
6359
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1193 | # running as part of eric IDE |
6908
a56b500d7d2d
UnittestDialog: added a message for the situation, where discovery results are present but none are selected when Start is pressed and added the capability to open the source file by double clicking a discovery entry.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6905
diff
changeset
|
1194 | self.unittestFile.emit(fn, int(ln), True) |
6359
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1195 | else: |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1196 | self.__openEditor(fn, int(ln)) |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1197 | |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1198 | def hasFailedTests(self): |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1199 | """ |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1200 | Public method to check, if there are failed tests from the last run. |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1201 | |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1202 | @return flag indicating the presence of failed tests (boolean) |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1203 | """ |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1204 | return bool(self.__failedTests) |
6359
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1205 | |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1206 | def __openEditor(self, filename, linenumber): |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1207 | """ |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1208 | Private method to open an editor window for the given file. |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1209 | |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1210 | Note: This method opens an editor window when the unittest dialog |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1211 | is called as a standalone application. |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1212 | |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1213 | @param filename path of the file to be opened |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1214 | @type str |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1215 | @param linenumber line number to place the cursor at |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1216 | @type int |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1217 | """ |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1218 | from QScintilla.MiniEditor import MiniEditor |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1219 | editor = MiniEditor(filename, "Python3", self) |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1220 | editor.gotoLine(linenumber) |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1221 | editor.show() |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1222 | |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1223 | self.__editors.append(editor) |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1224 | |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1225 | def closeEvent(self, event): |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1226 | """ |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1227 | Protected method to handle the close event. |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1228 | |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1229 | @param event close event |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1230 | @type QCloseEvent |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1231 | """ |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1232 | event.accept() |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1233 | |
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1234 | for editor in self.__editors: |
8240
93b8a353c4bf
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
1235 | with contextlib.suppress(Exception): |
6359
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1236 | editor.close() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1237 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
1238 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1239 | class QtTestResult(unittest.TestResult): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1240 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1241 | A TestResult derivative to work with a graphical GUI. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1242 | |
6359
e78be0616e6e
Unit test: extended the standalone unit test tool to be able to open source in an editor window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1243 | For more details see pyunit.py of the standard Python distribution. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1244 | """ |
6904
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
1245 | def __init__(self, parent, failfast): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1246 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1247 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1248 | |
6904
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
1249 | @param parent reference to the parent widget |
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
1250 | @type UnittestDialog |
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
1251 | @param failfast flag indicating to stop at the first error |
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
1252 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1253 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8149
diff
changeset
|
1254 | super().__init__() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1255 | self.parent = parent |
6904
3f35037a08d4
Unit Test: added capability to run test with debugger support and to stop the test on the first error or failure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6902
diff
changeset
|
1256 | self.failfast = failfast |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1257 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1258 | def addFailure(self, test, err): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1259 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
1260 | Public method called if a test failed. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1261 | |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1262 | @param test reference to the test object |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1263 | @param err error traceback |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1264 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8149
diff
changeset
|
1265 | super().addFailure(test, err) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1266 | tracebackLines = self._exc_info_to_string(err, test) |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1267 | self.parent.testFailed(str(test), tracebackLines, test.id()) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1268 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1269 | def addError(self, test, err): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1270 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
1271 | Public method called if a test errored. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1272 | |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1273 | @param test reference to the test object |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1274 | @param err error traceback |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1275 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8149
diff
changeset
|
1276 | super().addError(test, err) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1277 | tracebackLines = self._exc_info_to_string(err, test) |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1278 | self.parent.testErrored(str(test), tracebackLines, test.id()) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1279 | |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1280 | def addSkip(self, test, reason): |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1281 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
1282 | Public method called if a test was skipped. |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1283 | |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1284 | @param test reference to the test object |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1285 | @param reason reason for skipping the test (string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1286 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8149
diff
changeset
|
1287 | super().addSkip(test, reason) |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1288 | self.parent.testSkipped(str(test), reason, test.id()) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1289 | |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1290 | def addExpectedFailure(self, test, err): |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1291 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
1292 | Public method called if a test failed expected. |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1293 | |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1294 | @param test reference to the test object |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1295 | @param err error traceback |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1296 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8149
diff
changeset
|
1297 | super().addExpectedFailure(test, err) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1298 | tracebackLines = self._exc_info_to_string(err, test) |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1299 | self.parent.testFailedExpected(str(test), tracebackLines, test.id()) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1300 | |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1301 | def addUnexpectedSuccess(self, test): |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1302 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
1303 | Public method called if a test succeeded expectedly. |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1304 | |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1305 | @param test reference to the test object |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1306 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8149
diff
changeset
|
1307 | super().addUnexpectedSuccess(test) |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
1308 | self.parent.testSucceededUnexpected(str(test), test.id()) |
6893
d29a7b8fab0f
UnittestDialog: changed code to set the default directory of the test file picker file selection dialog to the project directory when in project mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6892
diff
changeset
|
1309 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1310 | def startTest(self, test): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1311 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
1312 | Public method called at the start of a test. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1313 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1314 | @param test Reference to the test object |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1315 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8149
diff
changeset
|
1316 | super().startTest(test) |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
1317 | self.parent.testStarted(str(test), test.shortDescription()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1318 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1319 | def stopTest(self, test): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1320 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
1321 | Public method called at the end of a test. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1322 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1323 | @param test Reference to the test object |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1324 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8149
diff
changeset
|
1325 | super().stopTest(test) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1326 | self.parent.testFinished() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1327 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
1328 | |
2101
5bac7dee9e1a
Introduced the E5MainWindow class allowing to set a style for all the main windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1782
diff
changeset
|
1329 | class UnittestWindow(E5MainWindow): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1330 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1331 | Main window class for the standalone dialog. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1332 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
1333 | def __init__(self, prog=None, parent=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1334 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1335 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1336 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1337 | @param prog filename of the program to open |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1338 | @param parent reference to the parent widget (QWidget) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1339 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8149
diff
changeset
|
1340 | super().__init__(parent) |
6888
e5f03f779b00
Unit Test: added the capability to select the virtual environment for the unittest run.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
1341 | self.cw = UnittestDialog(prog, parent=self) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1342 | self.cw.installEventFilter(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1343 | size = self.cw.size() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1344 | self.setCentralWidget(self.cw) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1345 | self.resize(size) |
2101
5bac7dee9e1a
Introduced the E5MainWindow class allowing to set a style for all the main windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1782
diff
changeset
|
1346 | |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
1347 | self.setStyle(Preferences.getUI("Style"), |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
1348 | Preferences.getUI("StyleSheet")) |
6896
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
1349 | |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
1350 | self.cw.buttonBox.accepted.connect(self.close) |
3716c4af48bb
UnittestDialog: did some refinements and error corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6894
diff
changeset
|
1351 | self.cw.buttonBox.rejected.connect(self.close) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1352 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1353 | def eventFilter(self, obj, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1354 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1355 | Public method to filter events. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1356 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1357 | @param obj reference to the object the event is meant for (QObject) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1358 | @param event reference to the event object (QEvent) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1359 | @return flag indicating, whether the event was handled (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1360 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8029
diff
changeset
|
1361 | if event.type() == QEvent.Type.Close: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1362 | QApplication.exit() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1363 | return True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1364 | |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1365 | return False |