--- a/i18n/eric6_en.ts Tue Mar 26 19:39:42 2019 +0100 +++ b/i18n/eric6_en.ts Wed Mar 27 20:09:37 2019 +0100 @@ -6235,20 +6235,20 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugServer.py" line="1577"/> + <location filename="../Debugger/DebugServer.py" line="1587"/> <source> Not connected </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugServer.py" line="1783"/> + <location filename="../Debugger/DebugServer.py" line="1800"/> <source>Passive debug connection received </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugServer.py" line="1797"/> + <location filename="../Debugger/DebugServer.py" line="1814"/> <source>Passive debug connection closed </source> <translation type="unfinished"></translation> @@ -6264,12 +6264,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugServer.py" line="1401"/> + <location filename="../Debugger/DebugServer.py" line="1403"/> <source>Start Debugger</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugServer.py" line="1401"/> + <location filename="../Debugger/DebugServer.py" line="1403"/> <source><p>The debugger type <b>{0}</b> is not supported or not configured.</p></source> <translation type="unfinished"></translation> </message> @@ -6277,7 +6277,7 @@ <context> <name>DebugUI</name> <message> - <location filename="../Debugger/DebugUI.py" line="1820"/> + <location filename="../Debugger/DebugUI.py" line="1826"/> <source>Run Script</source> <translation type="unfinished"></translation> </message> @@ -6297,7 +6297,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1835"/> + <location filename="../Debugger/DebugUI.py" line="1841"/> <source>Run Project</source> <translation type="unfinished"></translation> </message> @@ -6397,7 +6397,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1955"/> + <location filename="../Debugger/DebugUI.py" line="1961"/> <source>Debug Script</source> <translation type="unfinished"></translation> </message> @@ -6417,7 +6417,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1971"/> + <location filename="../Debugger/DebugUI.py" line="1977"/> <source>Debug Project</source> <translation type="unfinished"></translation> </message> @@ -6737,102 +6737,102 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1093"/> + <location filename="../Debugger/DebugUI.py" line="1099"/> <source>The program being debugged contains an unspecified syntax error.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1112"/> + <location filename="../Debugger/DebugUI.py" line="1118"/> <source><p>The file <b>{0}</b> contains the syntax error <b>{1}</b> at line <b>{2}</b>, character <b>{3}</b>.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1130"/> + <location filename="../Debugger/DebugUI.py" line="1136"/> <source>An unhandled exception occured. See the shell window for details.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1177"/> + <location filename="../Debugger/DebugUI.py" line="1183"/> <source><p>The debugged program raised the exception <b>{0}</b><br>"<b>{1}</b>"<br>File: <b>{2}</b>, Line: <b>{3}</b></p><p>Break here?</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1192"/> + <location filename="../Debugger/DebugUI.py" line="1198"/> <source><p>The debugged program raised the exception <b>{0}</b><br>"<b>{1}</b>"</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1256"/> + <location filename="../Debugger/DebugUI.py" line="1262"/> <source>The program being debugged has terminated unexpectedly.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1327"/> + <location filename="../Debugger/DebugUI.py" line="1333"/> <source>Breakpoint Condition Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1327"/> + <location filename="../Debugger/DebugUI.py" line="1333"/> <source><p>The condition of the breakpoint <b>{0}, {1}</b> contains a syntax error.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1363"/> + <location filename="../Debugger/DebugUI.py" line="1369"/> <source>Watch Expression Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1363"/> + <location filename="../Debugger/DebugUI.py" line="1369"/> <source><p>The watch expression <b>{0}</b> contains a syntax error.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1393"/> + <location filename="../Debugger/DebugUI.py" line="1399"/> <source><p>A watch expression '<b>{0}</b>' already exists.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1397"/> - <source><p>A watch expression '<b>{0}</b>' for the variable <b>{1}</b> already exists.</p></source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../Debugger/DebugUI.py" line="1403"/> + <source><p>A watch expression '<b>{0}</b>' for the variable <b>{1}</b> already exists.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Debugger/DebugUI.py" line="1409"/> <source>Watch expression already exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1569"/> + <location filename="../Debugger/DebugUI.py" line="1575"/> <source>Coverage of Project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1556"/> + <location filename="../Debugger/DebugUI.py" line="1562"/> <source>Coverage of Script</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1835"/> + <location filename="../Debugger/DebugUI.py" line="1841"/> <source>There is no main script defined for the current project. Aborting</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1701"/> + <location filename="../Debugger/DebugUI.py" line="1707"/> <source>Profile of Project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1688"/> + <location filename="../Debugger/DebugUI.py" line="1694"/> <source>Profile of Script</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1971"/> + <location filename="../Debugger/DebugUI.py" line="1977"/> <source>There is no main script defined for the current project. No debugging possible.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1062"/> + <location filename="../Debugger/DebugUI.py" line="1068"/> <source>Program terminated</source> <translation type="unfinished"></translation> </message> @@ -6852,51 +6852,51 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1242"/> + <location filename="../Debugger/DebugUI.py" line="1248"/> <source><p>The program generate the signal "{0}".<br/>File: <b>{1}</b>, Line: <b>{2}</b></p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1031"/> + <location filename="../Debugger/DebugUI.py" line="1035"/> <source><p>Message: {0}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1036"/> + <location filename="../Debugger/DebugUI.py" line="1040"/> <source><p>The program has terminated with an exit status of {0}.</p>{1}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1041"/> + <location filename="../Debugger/DebugUI.py" line="1045"/> <source><p><b>{0}</b> has terminated with an exit status of {1}.</p>{2}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1049"/> + <location filename="../Debugger/DebugUI.py" line="1053"/> <source>Message: {0}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1055"/> + <location filename="../Debugger/DebugUI.py" line="1059"/> <source>The program has terminated with an exit status of {0}. {1}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1058"/> + <location filename="../Debugger/DebugUI.py" line="1063"/> <source>"{0}" has terminated with an exit status of {1}. {2}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1067"/> + <location filename="../Debugger/DebugUI.py" line="1073"/> <source>The program has terminated with an exit status of {0}. {1} </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebugUI.py" line="1071"/> + <location filename="../Debugger/DebugUI.py" line="1077"/> <source>"{0}" has terminated with an exit status of {1}. {2} </source> @@ -7395,32 +7395,32 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="1018"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="1032"/> <source>Parent Process</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="1019"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="1033"/> <source>Child process</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="1020"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="1034"/> <source>Client forking</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="1020"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="1034"/> <source>Select the fork branch to follow.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="1066"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="1080"/> <source>Debug Protocol Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="1066"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="1080"/> <source><p>The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.</p><p>Error: {0}</p><p>Data:<br/>{1}</p></source> <translation type="unfinished"></translation> </message> @@ -75521,7 +75521,7 @@ <context> <name>UnittestDialog</name> <message> - <location filename="../PyUnit/UnittestDialog.py" line="839"/> + <location filename="../PyUnit/UnittestDialog.py" line="843"/> <source>Unittest</source> <translation type="unfinished"></translation> </message> @@ -75570,74 +75570,74 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="253"/> + <location filename="../PyUnit/UnittestDialog.ui" line="273"/> <source>Progress:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="293"/> + <location filename="../PyUnit/UnittestDialog.ui" line="313"/> <source>Run:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="300"/> + <location filename="../PyUnit/UnittestDialog.ui" line="320"/> <source>Number of tests run</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="344"/> + <location filename="../PyUnit/UnittestDialog.ui" line="364"/> <source>Failures:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="351"/> + <location filename="../PyUnit/UnittestDialog.ui" line="371"/> <source>Number of test failures</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="361"/> + <location filename="../PyUnit/UnittestDialog.ui" line="381"/> <source>Errors:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="368"/> + <location filename="../PyUnit/UnittestDialog.ui" line="388"/> <source>Number of test errors</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="310"/> + <location filename="../PyUnit/UnittestDialog.ui" line="330"/> <source>Remaining:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="317"/> + <location filename="../PyUnit/UnittestDialog.ui" line="337"/> <source>Number of tests to be run</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="450"/> - <source>Tests performed:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../PyUnit/UnittestDialog.ui" line="460"/> - <source>Failures and errors:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../PyUnit/UnittestDialog.ui" line="467"/> - <source>Failures and Errors list</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../PyUnit/UnittestDialog.ui" line="470"/> + <source>Tests performed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../PyUnit/UnittestDialog.ui" line="480"/> + <source>Failures and errors:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../PyUnit/UnittestDialog.ui" line="487"/> + <source>Failures and Errors list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../PyUnit/UnittestDialog.ui" line="490"/> <source><b>Failures and Errors list</b> <p>This list shows all failed and errored tests. Double clicking on an entry will show the respective traceback.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="501"/> + <location filename="../PyUnit/UnittestDialog.ui" line="521"/> <source>Idle</source> <translation type="unfinished"></translation> </message> @@ -75672,92 +75672,92 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="152"/> + <location filename="../PyUnit/UnittestDialog.py" line="155"/> <source>^Failure: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="153"/> + <location filename="../PyUnit/UnittestDialog.py" line="156"/> <source>^Error: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="288"/> + <location filename="../PyUnit/UnittestDialog.py" line="291"/> <source>Python3 Files ({1});;Python2 Files ({0});;All Files (*)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="292"/> + <location filename="../PyUnit/UnittestDialog.py" line="295"/> <source>Python Files (*.py);;All Files (*)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="634"/> + <location filename="../PyUnit/UnittestDialog.py" line="637"/> <source>Preparing Testsuite</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="920"/> + <location filename="../PyUnit/UnittestDialog.py" line="925"/> <source>Running</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="961"/> + <location filename="../PyUnit/UnittestDialog.py" line="969"/> <source>Failure: {0}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="976"/> + <location filename="../PyUnit/UnittestDialog.py" line="984"/> <source>Error: {0}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="1081"/> + <location filename="../PyUnit/UnittestDialog.py" line="1089"/> <source>Show Source</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="378"/> + <location filename="../PyUnit/UnittestDialog.ui" line="398"/> <source>Skipped:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="385"/> + <location filename="../PyUnit/UnittestDialog.ui" line="405"/> <source>Number of tests skipped</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="395"/> + <location filename="../PyUnit/UnittestDialog.ui" line="415"/> <source>Expected Failures:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="402"/> + <location filename="../PyUnit/UnittestDialog.ui" line="422"/> <source>Number of tests with expected failure</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="412"/> + <location filename="../PyUnit/UnittestDialog.ui" line="432"/> <source>Unexpected Successes:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="419"/> + <location filename="../PyUnit/UnittestDialog.ui" line="439"/> <source>Number of tests with unexpected success</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="991"/> + <location filename="../PyUnit/UnittestDialog.py" line="999"/> <source> Skipped: {0}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="1006"/> + <location filename="../PyUnit/UnittestDialog.py" line="1014"/> <source> Expected Failure</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="1020"/> + <location filename="../PyUnit/UnittestDialog.py" line="1028"/> <source> Unexpected Success</source> <translation type="unfinished"></translation> </message> @@ -75777,7 +75777,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="284"/> + <location filename="../PyUnit/UnittestDialog.ui" line="304"/> <source>%v/%m Tests</source> <translation type="unfinished"></translation> </message> @@ -75792,7 +75792,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="245"/> + <location filename="../PyUnit/UnittestDialog.ui" line="265"/> <source>Progress</source> <translation type="unfinished"></translation> </message> @@ -75854,22 +75854,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="239"/> + <location filename="../PyUnit/UnittestDialog.ui" line="259"/> <source>Results</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="638"/> + <location filename="../PyUnit/UnittestDialog.py" line="641"/> <source>Unittest with auto-discovery</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="728"/> + <location filename="../PyUnit/UnittestDialog.py" line="731"/> <source>You must enter a start directory for auto-discovery.</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location filename="../PyUnit/UnittestDialog.py" line="944"/> + <location filename="../PyUnit/UnittestDialog.py" line="949"/> <source>Ran %n test(s) in {0:.3f}s</source> <translation> <numerusform>Ran %n test in {0:.3f}s</numerusform> @@ -75877,7 +75877,7 @@ </translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.ui" line="211"/> + <location filename="../PyUnit/UnittestDialog.ui" line="231"/> <source>Discovery Results</source> <translation type="unfinished"></translation> </message> @@ -75892,17 +75892,17 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="370"/> + <location filename="../PyUnit/UnittestDialog.py" line="373"/> <source>Discovering Tests</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="437"/> + <location filename="../PyUnit/UnittestDialog.py" line="440"/> <source><p>Unable to discover tests.</p><p>{0}</p></source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location filename="../PyUnit/UnittestDialog.py" line="587"/> + <location filename="../PyUnit/UnittestDialog.py" line="590"/> <source>Discovered %n Test(s)</source> <translation> <numerusform>Discovered %n Test</numerusform> @@ -75910,22 +75910,22 @@ </translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="592"/> + <location filename="../PyUnit/UnittestDialog.py" line="595"/> <source><p>Unable to discover tests.</p><p>{0}<br/>{1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="625"/> + <location filename="../PyUnit/UnittestDialog.py" line="628"/> <source>You must select auto-discovery or enter a test suite file or a dotted test name.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="647"/> + <location filename="../PyUnit/UnittestDialog.py" line="650"/> <source><Unnamed Test></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PyUnit/UnittestDialog.py" line="839"/> + <location filename="../PyUnit/UnittestDialog.py" line="843"/> <source><p>Unable to run test <b>{0}</b>.</p><p>{1}<br/>{2}</p></source> <translation type="unfinished"></translation> </message> @@ -75934,6 +75934,26 @@ <source><b>Discover</b><p>This button starts a discovery of available tests.</p></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../PyUnit/UnittestDialog.ui" line="200"/> + <source>Select to stop the test run on the first error or failure</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../PyUnit/UnittestDialog.ui" line="203"/> + <source>Stop on First Error or Failure</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../PyUnit/UnittestDialog.ui" line="210"/> + <source>Select to run the unittest with debugger support enabled</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../PyUnit/UnittestDialog.ui" line="213"/> + <source>Run with Debugger</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>UrlBar</name>