Updated documentation.

Tue, 26 Mar 2019 19:39:42 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 26 Mar 2019 19:39:42 +0100
changeset 6903
0d4e1033731b
parent 6902
67d0ad66b59a
child 6904
3f35037a08d4

Updated documentation.

APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric6.DebugClients.Python.DebugClientBase.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Debugger.DebugServer.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Debugger.DebuggerInterfaceNone.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Debugger.DebuggerInterfacePython.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Preferences.ViewProfileDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.PyUnit.UnittestDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.VirtualEnv.VirtualenvManager.html file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric6.api	Tue Mar 26 19:38:12 2019 +0100
+++ b/APIs/Python3/eric6.api	Tue Mar 26 19:39:42 2019 +0100
@@ -478,6 +478,7 @@
 eric6.Debugger.DebugServer.DebugServer.clientSyntaxError?7
 eric6.Debugger.DebugServer.DebugServer.clientThreadList?7
 eric6.Debugger.DebugServer.DebugServer.clientThreadSet?7
+eric6.Debugger.DebugServer.DebugServer.clientUtDiscovered?4(testCases, exceptionType, exceptionValue)
 eric6.Debugger.DebugServer.DebugServer.clientUtFinished?4()
 eric6.Debugger.DebugServer.DebugServer.clientUtPrepared?4(result, exceptionType, exceptionValue)
 eric6.Debugger.DebugServer.DebugServer.clientUtStartTest?4(testname, doc)
@@ -527,7 +528,8 @@
 eric6.Debugger.DebugServer.DebugServer.remoteStepOver?4()
 eric6.Debugger.DebugServer.DebugServer.remoteStepQuit?4()
 eric6.Debugger.DebugServer.DebugServer.remoteThreadList?4()
-eric6.Debugger.DebugServer.DebugServer.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase, clientType="", forProject=False, venvName="")
+eric6.Debugger.DebugServer.DebugServer.remoteUTDiscover?4(clientType, forProject, venvName, syspath, workdir, discoveryStart)
+eric6.Debugger.DebugServer.DebugServer.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase, clientType="", forProject=False, venvName="", syspath=None, workdir="", discover=False, discoveryStart="", testCases=None)
 eric6.Debugger.DebugServer.DebugServer.remoteUTRun?4()
 eric6.Debugger.DebugServer.DebugServer.remoteUTStop?4()
 eric6.Debugger.DebugServer.DebugServer.setCallTraceEnabled?4(on)
@@ -556,6 +558,7 @@
 eric6.Debugger.DebugServer.DebugServer.signalClientWatchConditionError?4(condition)
 eric6.Debugger.DebugServer.DebugServer.startClient?4(unplanned=True, clType=None, forProject=False, runInConsole=False, venvName="", workingDir=None)
 eric6.Debugger.DebugServer.DebugServer.unregisterDebuggerInterface?4(interfaceName)
+eric6.Debugger.DebugServer.DebugServer.utDiscovered?7
 eric6.Debugger.DebugServer.DebugServer.utFinished?7
 eric6.Debugger.DebugServer.DebugServer.utPrepared?7
 eric6.Debugger.DebugServer.DebugServer.utStartTest?7
@@ -644,7 +647,8 @@
 eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteStepOver?4()
 eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteStepQuit?4()
 eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteThreadList?4()
-eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase)
+eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteUTDiscover?4(syspath, workdir, discoveryStart)
+eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase, syspath, workdir, discover, discoveryStart, testCases)
 eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteUTRun?4()
 eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteUTStop?4()
 eric6.Debugger.DebuggerInterfaceNone.DebuggerInterfaceNone.remoteWatchpoint?4(cond, setWatch, temp=False)
@@ -686,7 +690,8 @@
 eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteStepOver?4()
 eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteStepQuit?4()
 eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteThreadList?4()
-eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase)
+eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteUTDiscover?4(syspath, workdir, discoveryStart)
+eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteUTPrepare?4(fn, tn, tfn, failed, cov, covname, coverase, syspath, workdir, discover, discoveryStart, testCases)
 eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteUTRun?4()
 eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteUTStop?4()
 eric6.Debugger.DebuggerInterfacePython.DebuggerInterfacePython.remoteWatchpoint?4(cond, setWatch, temp=False)
@@ -8383,19 +8388,19 @@
 eric6.PyUnit.UnittestDialog.QtTestResult?1(parent)
 eric6.PyUnit.UnittestDialog.UnittestDialog.closeEvent?4(event)
 eric6.PyUnit.UnittestDialog.UnittestDialog.hasFailedTests?4()
+eric6.PyUnit.UnittestDialog.UnittestDialog.insertDiscovery?4(start)
 eric6.PyUnit.UnittestDialog.UnittestDialog.insertProg?4(prog)
 eric6.PyUnit.UnittestDialog.UnittestDialog.insertTestName?4(testName)
 eric6.PyUnit.UnittestDialog.UnittestDialog.keyPressEvent?4(evt)
 eric6.PyUnit.UnittestDialog.UnittestDialog.on_buttonBox_clicked?4(button)
+eric6.PyUnit.UnittestDialog.UnittestDialog.on_discoverCheckBox_toggled?4(checked)
 eric6.PyUnit.UnittestDialog.UnittestDialog.on_errorsListWidget_currentTextChanged?4(text)
 eric6.PyUnit.UnittestDialog.UnittestDialog.on_errorsListWidget_itemDoubleClicked?4(lbitem)
-eric6.PyUnit.UnittestDialog.UnittestDialog.on_startButton_clicked?4(failedOnly=False)
-eric6.PyUnit.UnittestDialog.UnittestDialog.on_stopButton_clicked?4()
 eric6.PyUnit.UnittestDialog.UnittestDialog.on_testsuitePicker_aboutToShowPathPickerDialog?4()
-eric6.PyUnit.UnittestDialog.UnittestDialog.on_testsuitePicker_editTextChanged?4(txt)
+eric6.PyUnit.UnittestDialog.UnittestDialog.on_testsuitePicker_editTextChanged?4(path)
 eric6.PyUnit.UnittestDialog.UnittestDialog.on_testsuitePicker_pathSelected?4(suite)
-eric6.PyUnit.UnittestDialog.UnittestDialog.on_venvComboBox_currentTextChanged?4(venvName)
 eric6.PyUnit.UnittestDialog.UnittestDialog.setProjectMode?4(forProject)
+eric6.PyUnit.UnittestDialog.UnittestDialog.startTests?4(failedOnly=False)
 eric6.PyUnit.UnittestDialog.UnittestDialog.testErrored?4(test, exc, testId)
 eric6.PyUnit.UnittestDialog.UnittestDialog.testFailed?4(test, exc, testId)
 eric6.PyUnit.UnittestDialog.UnittestDialog.testFailedExpected?4(test, exc, testId)
@@ -10887,6 +10892,7 @@
 eric6.VirtualEnv.VirtualenvManager.VirtualenvManager.getVirtualenvInterpreter?4(venvName)
 eric6.VirtualEnv.VirtualenvManager.VirtualenvManager.getVirtualenvNames?4()
 eric6.VirtualEnv.VirtualenvManager.VirtualenvManager.getVirtualenvNamesForVariant?4(variant)
+eric6.VirtualEnv.VirtualenvManager.VirtualenvManager.getVirtualenvVariant?4(venvName)
 eric6.VirtualEnv.VirtualenvManager.VirtualenvManager.isCondaEnvironment?4(venvName)
 eric6.VirtualEnv.VirtualenvManager.VirtualenvManager.isGlobalEnvironment?4(venvName)
 eric6.VirtualEnv.VirtualenvManager.VirtualenvManager.isRemoteEnvironment?4(venvName)
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Tue Mar 26 19:38:12 2019 +0100
+++ b/Documentation/Help/source.qhp	Tue Mar 26 19:39:42 2019 +0100
@@ -3726,6 +3726,7 @@
       <keyword name="DebugClientBase" id="DebugClientBase" ref="eric6.DebugClients.Python.DebugClientBase.html#DebugClientBase" />
       <keyword name="DebugClientBase (Constructor)" id="DebugClientBase (Constructor)" ref="eric6.DebugClients.Python.DebugClientBase.html#DebugClientBase.__init__" />
       <keyword name="DebugClientBase (Module)" id="DebugClientBase (Module)" ref="eric6.DebugClients.Python.DebugClientBase.html" />
+      <keyword name="DebugClientBase.__assembleTestCasesList" id="DebugClientBase.__assembleTestCasesList" ref="eric6.DebugClients.Python.DebugClientBase.html#DebugClientBase.__assembleTestCasesList" />
       <keyword name="DebugClientBase.__clientCapabilities" id="DebugClientBase.__clientCapabilities" ref="eric6.DebugClients.Python.DebugClientBase.html#DebugClientBase.__clientCapabilities" />
       <keyword name="DebugClientBase.__compileFileSource" id="DebugClientBase.__compileFileSource" ref="eric6.DebugClients.Python.DebugClientBase.html#DebugClientBase.__compileFileSource" />
       <keyword name="DebugClientBase.__completionList" id="DebugClientBase.__completionList" ref="eric6.DebugClients.Python.DebugClientBase.html#DebugClientBase.__completionList" />
@@ -3810,6 +3811,7 @@
       <keyword name="DebugServer.__setClientType" id="DebugServer.__setClientType" ref="eric6.Debugger.DebugServer.html#DebugServer.__setClientType" />
       <keyword name="DebugServer.__splitWatchCondition" id="DebugServer.__splitWatchCondition" ref="eric6.Debugger.DebugServer.html#DebugServer.__splitWatchCondition" />
       <keyword name="DebugServer.__watchPointDataAboutToBeChanged" id="DebugServer.__watchPointDataAboutToBeChanged" ref="eric6.Debugger.DebugServer.html#DebugServer.__watchPointDataAboutToBeChanged" />
+      <keyword name="DebugServer.clientUtDiscovered" id="DebugServer.clientUtDiscovered" ref="eric6.Debugger.DebugServer.html#DebugServer.clientUtDiscovered" />
       <keyword name="DebugServer.clientUtFinished" id="DebugServer.clientUtFinished" ref="eric6.Debugger.DebugServer.html#DebugServer.clientUtFinished" />
       <keyword name="DebugServer.clientUtPrepared" id="DebugServer.clientUtPrepared" ref="eric6.Debugger.DebugServer.html#DebugServer.clientUtPrepared" />
       <keyword name="DebugServer.clientUtStartTest" id="DebugServer.clientUtStartTest" ref="eric6.Debugger.DebugServer.html#DebugServer.clientUtStartTest" />
@@ -3855,6 +3857,7 @@
       <keyword name="DebugServer.remoteStepOver" id="DebugServer.remoteStepOver" ref="eric6.Debugger.DebugServer.html#DebugServer.remoteStepOver" />
       <keyword name="DebugServer.remoteStepQuit" id="DebugServer.remoteStepQuit" ref="eric6.Debugger.DebugServer.html#DebugServer.remoteStepQuit" />
       <keyword name="DebugServer.remoteThreadList" id="DebugServer.remoteThreadList" ref="eric6.Debugger.DebugServer.html#DebugServer.remoteThreadList" />
+      <keyword name="DebugServer.remoteUTDiscover" id="DebugServer.remoteUTDiscover" ref="eric6.Debugger.DebugServer.html#DebugServer.remoteUTDiscover" />
       <keyword name="DebugServer.remoteUTPrepare" id="DebugServer.remoteUTPrepare" ref="eric6.Debugger.DebugServer.html#DebugServer.remoteUTPrepare" />
       <keyword name="DebugServer.remoteUTRun" id="DebugServer.remoteUTRun" ref="eric6.Debugger.DebugServer.html#DebugServer.remoteUTRun" />
       <keyword name="DebugServer.remoteUTStop" id="DebugServer.remoteUTStop" ref="eric6.Debugger.DebugServer.html#DebugServer.remoteUTStop" />
@@ -4028,6 +4031,7 @@
       <keyword name="DebuggerInterfaceNone.remoteStepOver" id="DebuggerInterfaceNone.remoteStepOver" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.remoteStepOver" />
       <keyword name="DebuggerInterfaceNone.remoteStepQuit" id="DebuggerInterfaceNone.remoteStepQuit" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.remoteStepQuit" />
       <keyword name="DebuggerInterfaceNone.remoteThreadList" id="DebuggerInterfaceNone.remoteThreadList" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.remoteThreadList" />
+      <keyword name="DebuggerInterfaceNone.remoteUTDiscover" id="DebuggerInterfaceNone.remoteUTDiscover" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.remoteUTDiscover" />
       <keyword name="DebuggerInterfaceNone.remoteUTPrepare" id="DebuggerInterfaceNone.remoteUTPrepare" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.remoteUTPrepare" />
       <keyword name="DebuggerInterfaceNone.remoteUTRun" id="DebuggerInterfaceNone.remoteUTRun" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.remoteUTRun" />
       <keyword name="DebuggerInterfaceNone.remoteUTStop" id="DebuggerInterfaceNone.remoteUTStop" ref="eric6.Debugger.DebuggerInterfaceNone.html#DebuggerInterfaceNone.remoteUTStop" />
@@ -4077,6 +4081,7 @@
       <keyword name="DebuggerInterfacePython.remoteStepOver" id="DebuggerInterfacePython.remoteStepOver" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteStepOver" />
       <keyword name="DebuggerInterfacePython.remoteStepQuit" id="DebuggerInterfacePython.remoteStepQuit" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteStepQuit" />
       <keyword name="DebuggerInterfacePython.remoteThreadList" id="DebuggerInterfacePython.remoteThreadList" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteThreadList" />
+      <keyword name="DebuggerInterfacePython.remoteUTDiscover" id="DebuggerInterfacePython.remoteUTDiscover" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteUTDiscover" />
       <keyword name="DebuggerInterfacePython.remoteUTPrepare" id="DebuggerInterfacePython.remoteUTPrepare" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteUTPrepare" />
       <keyword name="DebuggerInterfacePython.remoteUTRun" id="DebuggerInterfacePython.remoteUTRun" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteUTRun" />
       <keyword name="DebuggerInterfacePython.remoteUTStop" id="DebuggerInterfacePython.remoteUTStop" ref="eric6.Debugger.DebuggerInterfacePython.html#DebuggerInterfacePython.remoteUTStop" />
@@ -16949,27 +16954,35 @@
       <keyword name="UnittestDialog" id="UnittestDialog" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog" />
       <keyword name="UnittestDialog (Constructor)" id="UnittestDialog (Constructor)" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__init__" />
       <keyword name="UnittestDialog (Module)" id="UnittestDialog (Module)" ref="eric6.PyUnit.UnittestDialog.html" />
+      <keyword name="UnittestDialog.__UTDiscovered" id="UnittestDialog.__UTDiscovered" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__UTDiscovered" />
       <keyword name="UnittestDialog.__UTPrepared" id="UnittestDialog.__UTPrepared" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__UTPrepared" />
+      <keyword name="UnittestDialog.__assembleTestCasesList" id="UnittestDialog.__assembleTestCasesList" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__assembleTestCasesList" />
+      <keyword name="UnittestDialog.__discover" id="UnittestDialog.__discover" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__discover" />
+      <keyword name="UnittestDialog.__findDiscoveryItem" id="UnittestDialog.__findDiscoveryItem" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__findDiscoveryItem" />
       <keyword name="UnittestDialog.__openEditor" id="UnittestDialog.__openEditor" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__openEditor" />
+      <keyword name="UnittestDialog.__populateDiscoveryResults" id="UnittestDialog.__populateDiscoveryResults" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__populateDiscoveryResults" />
+      <keyword name="UnittestDialog.__populateVenvComboBox" id="UnittestDialog.__populateVenvComboBox" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__populateVenvComboBox" />
+      <keyword name="UnittestDialog.__selectedTestCases" id="UnittestDialog.__selectedTestCases" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__selectedTestCases" />
       <keyword name="UnittestDialog.__setProgressColor" id="UnittestDialog.__setProgressColor" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__setProgressColor" />
       <keyword name="UnittestDialog.__setRunningMode" id="UnittestDialog.__setRunningMode" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__setRunningMode" />
       <keyword name="UnittestDialog.__setStoppedMode" id="UnittestDialog.__setStoppedMode" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__setStoppedMode" />
       <keyword name="UnittestDialog.__showSource" id="UnittestDialog.__showSource" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__showSource" />
+      <keyword name="UnittestDialog.__stopTests" id="UnittestDialog.__stopTests" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.__stopTests" />
       <keyword name="UnittestDialog.closeEvent" id="UnittestDialog.closeEvent" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.closeEvent" />
       <keyword name="UnittestDialog.hasFailedTests" id="UnittestDialog.hasFailedTests" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.hasFailedTests" />
+      <keyword name="UnittestDialog.insertDiscovery" id="UnittestDialog.insertDiscovery" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.insertDiscovery" />
       <keyword name="UnittestDialog.insertProg" id="UnittestDialog.insertProg" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.insertProg" />
       <keyword name="UnittestDialog.insertTestName" id="UnittestDialog.insertTestName" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.insertTestName" />
       <keyword name="UnittestDialog.keyPressEvent" id="UnittestDialog.keyPressEvent" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.keyPressEvent" />
       <keyword name="UnittestDialog.on_buttonBox_clicked" id="UnittestDialog.on_buttonBox_clicked" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.on_buttonBox_clicked" />
+      <keyword name="UnittestDialog.on_discoverCheckBox_toggled" id="UnittestDialog.on_discoverCheckBox_toggled" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.on_discoverCheckBox_toggled" />
       <keyword name="UnittestDialog.on_errorsListWidget_currentTextChanged" id="UnittestDialog.on_errorsListWidget_currentTextChanged" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.on_errorsListWidget_currentTextChanged" />
       <keyword name="UnittestDialog.on_errorsListWidget_itemDoubleClicked" id="UnittestDialog.on_errorsListWidget_itemDoubleClicked" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.on_errorsListWidget_itemDoubleClicked" />
-      <keyword name="UnittestDialog.on_startButton_clicked" id="UnittestDialog.on_startButton_clicked" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.on_startButton_clicked" />
-      <keyword name="UnittestDialog.on_stopButton_clicked" id="UnittestDialog.on_stopButton_clicked" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.on_stopButton_clicked" />
       <keyword name="UnittestDialog.on_testsuitePicker_aboutToShowPathPickerDialog" id="UnittestDialog.on_testsuitePicker_aboutToShowPathPickerDialog" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.on_testsuitePicker_aboutToShowPathPickerDialog" />
       <keyword name="UnittestDialog.on_testsuitePicker_editTextChanged" id="UnittestDialog.on_testsuitePicker_editTextChanged" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.on_testsuitePicker_editTextChanged" />
       <keyword name="UnittestDialog.on_testsuitePicker_pathSelected" id="UnittestDialog.on_testsuitePicker_pathSelected" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.on_testsuitePicker_pathSelected" />
-      <keyword name="UnittestDialog.on_venvComboBox_currentTextChanged" id="UnittestDialog.on_venvComboBox_currentTextChanged" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.on_venvComboBox_currentTextChanged" />
       <keyword name="UnittestDialog.setProjectMode" id="UnittestDialog.setProjectMode" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.setProjectMode" />
+      <keyword name="UnittestDialog.startTests" id="UnittestDialog.startTests" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.startTests" />
       <keyword name="UnittestDialog.testErrored" id="UnittestDialog.testErrored" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.testErrored" />
       <keyword name="UnittestDialog.testFailed" id="UnittestDialog.testFailed" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.testFailed" />
       <keyword name="UnittestDialog.testFailedExpected" id="UnittestDialog.testFailedExpected" ref="eric6.PyUnit.UnittestDialog.html#UnittestDialog.testFailedExpected" />
@@ -17929,6 +17942,7 @@
       <keyword name="VirtualenvManager.getVirtualenvInterpreter" id="VirtualenvManager.getVirtualenvInterpreter" ref="eric6.VirtualEnv.VirtualenvManager.html#VirtualenvManager.getVirtualenvInterpreter" />
       <keyword name="VirtualenvManager.getVirtualenvNames" id="VirtualenvManager.getVirtualenvNames" ref="eric6.VirtualEnv.VirtualenvManager.html#VirtualenvManager.getVirtualenvNames" />
       <keyword name="VirtualenvManager.getVirtualenvNamesForVariant" id="VirtualenvManager.getVirtualenvNamesForVariant" ref="eric6.VirtualEnv.VirtualenvManager.html#VirtualenvManager.getVirtualenvNamesForVariant" />
+      <keyword name="VirtualenvManager.getVirtualenvVariant" id="VirtualenvManager.getVirtualenvVariant" ref="eric6.VirtualEnv.VirtualenvManager.html#VirtualenvManager.getVirtualenvVariant" />
       <keyword name="VirtualenvManager.isCondaEnvironment" id="VirtualenvManager.isCondaEnvironment" ref="eric6.VirtualEnv.VirtualenvManager.html#VirtualenvManager.isCondaEnvironment" />
       <keyword name="VirtualenvManager.isGlobalEnvironment" id="VirtualenvManager.isGlobalEnvironment" ref="eric6.VirtualEnv.VirtualenvManager.html#VirtualenvManager.isGlobalEnvironment" />
       <keyword name="VirtualenvManager.isRemoteEnvironment" id="VirtualenvManager.isRemoteEnvironment" ref="eric6.VirtualEnv.VirtualenvManager.html#VirtualenvManager.isRemoteEnvironment" />
--- a/Documentation/Source/eric6.DebugClients.Python.DebugClientBase.html	Tue Mar 26 19:38:12 2019 +0100
+++ b/Documentation/Source/eric6.DebugClients.Python.DebugClientBase.html	Tue Mar 26 19:39:42 2019 +0100
@@ -89,6 +89,9 @@
 <td><a href="#DebugClientBase.__init__">DebugClientBase</a></td>
 <td>Constructor</td>
 </tr><tr>
+<td><a href="#DebugClientBase.__assembleTestCasesList">__assembleTestCasesList</a></td>
+<td>Private method to assemble a list of test cases included in a test suite.</td>
+</tr><tr>
 <td><a href="#DebugClientBase.__clientCapabilities">__clientCapabilities</a></td>
 <td>Private method to determine the clients capabilities.</td>
 </tr><tr>
@@ -231,7 +234,29 @@
 <b>DebugClientBase</b>(<i></i>)
 <p>
         Constructor
-</p><a NAME="DebugClientBase.__clientCapabilities" ID="DebugClientBase.__clientCapabilities"></a>
+</p><a NAME="DebugClientBase.__assembleTestCasesList" ID="DebugClientBase.__assembleTestCasesList"></a>
+<h4>DebugClientBase.__assembleTestCasesList</h4>
+<b>__assembleTestCasesList</b>(<i>suite</i>)
+<p>
+        Private method to assemble a list of test cases included in a test
+        suite.
+</p><dl>
+<dt><i>suite</i> (unittest.TestSuite)</dt>
+<dd>
+test suite to be inspected
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+list of tuples containing the test case ID and short
+            description
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of tuples of (str, str)
+</dd>
+</dl><a NAME="DebugClientBase.__clientCapabilities" ID="DebugClientBase.__clientCapabilities"></a>
 <h4>DebugClientBase.__clientCapabilities</h4>
 <b>__clientCapabilities</b>(<i></i>)
 <p>
--- a/Documentation/Source/eric6.Debugger.DebugServer.html	Tue Mar 26 19:38:12 2019 +0100
+++ b/Documentation/Source/eric6.Debugger.DebugServer.html	Tue Mar 26 19:39:42 2019 +0100
@@ -159,6 +159,10 @@
 <dd>
 emitted after the debug client has
         connected in passive debug mode
+</dd><dt>utDiscovered(testCases, exc_type, exc_value)</dt>
+<dd>
+emitted after the
+        client has performed a test case discovery action
 </dd><dt>utFinished()</dt>
 <dd>
 emitted after the client signalled the end of the
@@ -296,6 +300,9 @@
 <td><a href="#DebugServer.__watchPointDataAboutToBeChanged">__watchPointDataAboutToBeChanged</a></td>
 <td>Private slot to handle the dataAboutToBeChanged signal of the watch expression model.</td>
 </tr><tr>
+<td><a href="#DebugServer.clientUtDiscovered">clientUtDiscovered</a></td>
+<td>Public method to process the client unittest discover info.</td>
+</tr><tr>
 <td><a href="#DebugServer.clientUtFinished">clientUtFinished</a></td>
 <td>Public method to process the client unit test finished info.</td>
 </tr><tr>
@@ -431,6 +438,9 @@
 <td><a href="#DebugServer.remoteThreadList">remoteThreadList</a></td>
 <td>Public method to request the list of threads from the client.</td>
 </tr><tr>
+<td><a href="#DebugServer.remoteUTDiscover">remoteUTDiscover</a></td>
+<td>Public method to perform a test case discovery.</td>
+</tr><tr>
 <td><a href="#DebugServer.remoteUTPrepare">remoteUTPrepare</a></td>
 <td>Public method to prepare a new unittest run.</td>
 </tr><tr>
@@ -881,6 +891,22 @@
 <dd>
 end index of the rows to be changed (QModelIndex)
 </dd>
+</dl><a NAME="DebugServer.clientUtDiscovered" ID="DebugServer.clientUtDiscovered"></a>
+<h4>DebugServer.clientUtDiscovered</h4>
+<b>clientUtDiscovered</b>(<i>testCases, exceptionType, exceptionValue</i>)
+<p>
+        Public method to process the client unittest discover info.
+</p><dl>
+<dt><i>testCases</i> (str)</dt>
+<dd>
+list of detected test cases
+</dd><dt><i>exceptionType</i> (str)</dt>
+<dd>
+exception type
+</dd><dt><i>exceptionValue</i> (str)</dt>
+<dd>
+exception message
+</dd>
 </dl><a NAME="DebugServer.clientUtFinished" ID="DebugServer.clientUtFinished"></a>
 <h4>DebugServer.clientUtFinished</h4>
 <b>clientUtFinished</b>(<i></i>)
@@ -1540,9 +1566,35 @@
 <b>remoteThreadList</b>(<i></i>)
 <p>
         Public method to request the list of threads from the client.
-</p><a NAME="DebugServer.remoteUTPrepare" ID="DebugServer.remoteUTPrepare"></a>
+</p><a NAME="DebugServer.remoteUTDiscover" ID="DebugServer.remoteUTDiscover"></a>
+<h4>DebugServer.remoteUTDiscover</h4>
+<b>remoteUTDiscover</b>(<i>clientType, forProject, venvName, syspath, workdir, discoveryStart</i>)
+<p>
+        Public method to perform a test case discovery.
+</p><dl>
+<dt><i>clientType</i> (str)</dt>
+<dd>
+client type to be used
+</dd><dt><i>forProject</i> (bool)</dt>
+<dd>
+flag indicating a project related action
+</dd><dt><i>venvName</i> (str)</dt>
+<dd>
+name of a virtual environment
+</dd><dt><i>syspath</i> (list of str)</dt>
+<dd>
+list of directories to be added to sys.path on the
+            remote side
+</dd><dt><i>workdir</i> (str)</dt>
+<dd>
+path name of the working directory
+</dd><dt><i>discoveryStart</i> (str)</dt>
+<dd>
+directory to start auto-discovery at
+</dd>
+</dl><a NAME="DebugServer.remoteUTPrepare" ID="DebugServer.remoteUTPrepare"></a>
 <h4>DebugServer.remoteUTPrepare</h4>
-<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase, clientType="", forProject=False, venvName=""</i>)
+<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase, clientType="", forProject=False, venvName="", syspath=None, workdir="", discover=False, discoveryStart="", testCases=None</i>)
 <p>
         Public method to prepare a new unittest run.
 </p><dl>
@@ -1577,6 +1629,22 @@
 </dd><dt><i>venvName</i> (str)</dt>
 <dd>
 name of a virtual environment
+</dd><dt><i>syspath</i> (list of str)</dt>
+<dd>
+list of directories to be added to sys.path on the
+            remote side
+</dd><dt><i>workdir</i> (str)</dt>
+<dd>
+path name of the working directory
+</dd><dt><i>discover</i> (bool)</dt>
+<dd>
+flag indicating to discover the tests automatically
+</dd><dt><i>discoveryStart</i> (str)</dt>
+<dd>
+directory to start auto-discovery at
+</dd><dt><i>testCases</i> (list of str)</dt>
+<dd>
+list of test cases to be loaded
 </dd>
 </dl><a NAME="DebugServer.remoteUTRun" ID="DebugServer.remoteUTRun"></a>
 <h4>DebugServer.remoteUTRun</h4>
--- a/Documentation/Source/eric6.Debugger.DebuggerInterfaceNone.html	Tue Mar 26 19:38:12 2019 +0100
+++ b/Documentation/Source/eric6.Debugger.DebuggerInterfaceNone.html	Tue Mar 26 19:39:42 2019 +0100
@@ -153,6 +153,9 @@
 <td><a href="#DebuggerInterfaceNone.remoteThreadList">remoteThreadList</a></td>
 <td>Public method to request the list of threads from the client.</td>
 </tr><tr>
+<td><a href="#DebuggerInterfaceNone.remoteUTDiscover">remoteUTDiscover</a></td>
+<td>Public method to perform a test case discovery.</td>
+</tr><tr>
 <td><a href="#DebuggerInterfaceNone.remoteUTPrepare">remoteUTPrepare</a></td>
 <td>Public method to prepare a new unittest run.</td>
 </tr><tr>
@@ -568,37 +571,67 @@
 <b>remoteThreadList</b>(<i></i>)
 <p>
         Public method to request the list of threads from the client.
-</p><a NAME="DebuggerInterfaceNone.remoteUTPrepare" ID="DebuggerInterfaceNone.remoteUTPrepare"></a>
+</p><a NAME="DebuggerInterfaceNone.remoteUTDiscover" ID="DebuggerInterfaceNone.remoteUTDiscover"></a>
+<h4>DebuggerInterfaceNone.remoteUTDiscover</h4>
+<b>remoteUTDiscover</b>(<i>syspath, workdir, discoveryStart</i>)
+<p>
+        Public method to perform a test case discovery.
+</p><dl>
+<dt><i>syspath</i> (list of str)</dt>
+<dd>
+list of directories to be added to sys.path on the
+            remote side
+</dd><dt><i>workdir</i> (str)</dt>
+<dd>
+path name of the working directory
+</dd><dt><i>discoveryStart</i> (str)</dt>
+<dd>
+directory to start auto-discovery at
+</dd>
+</dl><a NAME="DebuggerInterfaceNone.remoteUTPrepare" ID="DebuggerInterfaceNone.remoteUTPrepare"></a>
 <h4>DebuggerInterfaceNone.remoteUTPrepare</h4>
-<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase</i>)
+<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase, syspath, workdir, discover, discoveryStart, testCases</i>)
 <p>
         Public method to prepare a new unittest run.
 </p><dl>
-<dt><i>fn</i></dt>
+<dt><i>fn</i> (str)</dt>
 <dd>
-the filename to load (string)
-</dd><dt><i>tn</i></dt>
+name of file to load
+</dd><dt><i>tn</i> (str)</dt>
 <dd>
-the testname to load (string)
-</dd><dt><i>tfn</i></dt>
+name of test to load
+</dd><dt><i>tfn</i> (str)</dt>
 <dd>
-the test function name to load tests from (string)
-</dd><dt><i>failed</i></dt>
+test function name to load tests from
+</dd><dt><i>failed</i> (list of str)</dt>
 <dd>
 list of failed test, if only failed test should be run
-            (list of strings)
-</dd><dt><i>cov</i></dt>
+</dd><dt><i>cov</i> (bool)</dt>
 <dd>
 flag indicating collection of coverage data is requested
-            (boolean)
-</dd><dt><i>covname</i></dt>
+</dd><dt><i>covname</i> (str)</dt>
 <dd>
-filename to be used to assemble the coverage caches
-            filename (string)
-</dd><dt><i>coverase</i></dt>
+name of file to be used to assemble the coverage caches
+            filename
+</dd><dt><i>coverase</i> (bool)</dt>
 <dd>
 flag indicating erasure of coverage data is requested
-            (boolean)
+</dd><dt><i>syspath</i> (list of str)</dt>
+<dd>
+list of directories to be added to sys.path on the
+            remote side
+</dd><dt><i>workdir</i> (str)</dt>
+<dd>
+path name of the working directory
+</dd><dt><i>discover</i> (bool)</dt>
+<dd>
+flag indicating to discover the tests automatically
+</dd><dt><i>discoveryStart</i> (str)</dt>
+<dd>
+directory to start auto-discovery at
+</dd><dt><i>testCases</i> (list of str)</dt>
+<dd>
+list of test cases to be loaded
 </dd>
 </dl><a NAME="DebuggerInterfaceNone.remoteUTRun" ID="DebuggerInterfaceNone.remoteUTRun"></a>
 <h4>DebuggerInterfaceNone.remoteUTRun</h4>
--- a/Documentation/Source/eric6.Debugger.DebuggerInterfacePython.html	Tue Mar 26 19:38:12 2019 +0100
+++ b/Documentation/Source/eric6.Debugger.DebuggerInterfacePython.html	Tue Mar 26 19:39:42 2019 +0100
@@ -178,6 +178,9 @@
 <td><a href="#DebuggerInterfacePython.remoteThreadList">remoteThreadList</a></td>
 <td>Public method to request the list of threads from the client.</td>
 </tr><tr>
+<td><a href="#DebuggerInterfacePython.remoteUTDiscover">remoteUTDiscover</a></td>
+<td>Public method to perform a test case discovery.</td>
+</tr><tr>
 <td><a href="#DebuggerInterfacePython.remoteUTPrepare">remoteUTPrepare</a></td>
 <td>Public method to prepare a new unittest run.</td>
 </tr><tr>
@@ -697,37 +700,67 @@
 <b>remoteThreadList</b>(<i></i>)
 <p>
         Public method to request the list of threads from the client.
-</p><a NAME="DebuggerInterfacePython.remoteUTPrepare" ID="DebuggerInterfacePython.remoteUTPrepare"></a>
+</p><a NAME="DebuggerInterfacePython.remoteUTDiscover" ID="DebuggerInterfacePython.remoteUTDiscover"></a>
+<h4>DebuggerInterfacePython.remoteUTDiscover</h4>
+<b>remoteUTDiscover</b>(<i>syspath, workdir, discoveryStart</i>)
+<p>
+        Public method to perform a test case discovery.
+</p><dl>
+<dt><i>syspath</i> (list of str)</dt>
+<dd>
+list of directories to be added to sys.path on the
+            remote side
+</dd><dt><i>workdir</i> (str)</dt>
+<dd>
+path name of the working directory
+</dd><dt><i>discoveryStart</i> (str)</dt>
+<dd>
+directory to start auto-discovery at
+</dd>
+</dl><a NAME="DebuggerInterfacePython.remoteUTPrepare" ID="DebuggerInterfacePython.remoteUTPrepare"></a>
 <h4>DebuggerInterfacePython.remoteUTPrepare</h4>
-<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase</i>)
+<b>remoteUTPrepare</b>(<i>fn, tn, tfn, failed, cov, covname, coverase, syspath, workdir, discover, discoveryStart, testCases</i>)
 <p>
         Public method to prepare a new unittest run.
 </p><dl>
-<dt><i>fn</i></dt>
+<dt><i>fn</i> (str)</dt>
 <dd>
-the filename to load (string)
-</dd><dt><i>tn</i></dt>
+name of file to load
+</dd><dt><i>tn</i> (str)</dt>
 <dd>
-the testname to load (string)
-</dd><dt><i>tfn</i></dt>
+name of test to load
+</dd><dt><i>tfn</i> (str)</dt>
 <dd>
-the test function name to load tests from (string)
-</dd><dt><i>failed</i></dt>
+test function name to load tests from
+</dd><dt><i>failed</i> (list of str)</dt>
 <dd>
 list of failed test, if only failed test should be run
-            (list of strings)
-</dd><dt><i>cov</i></dt>
+</dd><dt><i>cov</i> (bool)</dt>
 <dd>
 flag indicating collection of coverage data is requested
-            (boolean)
-</dd><dt><i>covname</i></dt>
+</dd><dt><i>covname</i> (str)</dt>
 <dd>
-filename to be used to assemble the coverage caches
-            filename (string)
-</dd><dt><i>coverase</i></dt>
+name of file to be used to assemble the coverage caches
+            filename
+</dd><dt><i>coverase</i> (bool)</dt>
 <dd>
 flag indicating erasure of coverage data is requested
-            (boolean)
+</dd><dt><i>syspath</i> (list of str)</dt>
+<dd>
+list of directories to be added to sys.path on the
+            remote side
+</dd><dt><i>workdir</i> (str)</dt>
+<dd>
+path name of the working directory
+</dd><dt><i>discover</i> (bool)</dt>
+<dd>
+flag indicating to discover the tests automatically
+</dd><dt><i>discoveryStart</i> (str)</dt>
+<dd>
+directory to start auto-discovery at
+</dd><dt><i>testCases</i> (list of str)</dt>
+<dd>
+list of test cases to be loaded
 </dd>
 </dl><a NAME="DebuggerInterfacePython.remoteUTRun" ID="DebuggerInterfacePython.remoteUTRun"></a>
 <h4>DebuggerInterfacePython.remoteUTRun</h4>
--- a/Documentation/Source/eric6.Preferences.ViewProfileDialog.html	Tue Mar 26 19:38:12 2019 +0100
+++ b/Documentation/Source/eric6.Preferences.ViewProfileDialog.html	Tue Mar 26 19:39:42 2019 +0100
@@ -103,7 +103,7 @@
 <dt>Returns:</dt>
 <dd>
 tuple of two lists giving the visibilities of the
-            various parts ( two lists of boolean)
+            various parts (two lists of boolean)
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/eric6.PyUnit.UnittestDialog.html	Tue Mar 26 19:38:12 2019 +0100
+++ b/Documentation/Source/eric6.PyUnit.UnittestDialog.html	Tue Mar 26 19:39:42 2019 +0100
@@ -220,12 +220,33 @@
 <td><a href="#UnittestDialog.__init__">UnittestDialog</a></td>
 <td>Constructor</td>
 </tr><tr>
+<td><a href="#UnittestDialog.__UTDiscovered">__UTDiscovered</a></td>
+<td>Private slot to handle the utPrepared signal.</td>
+</tr><tr>
 <td><a href="#UnittestDialog.__UTPrepared">__UTPrepared</a></td>
 <td>Private slot to handle the utPrepared signal.</td>
 </tr><tr>
+<td><a href="#UnittestDialog.__assembleTestCasesList">__assembleTestCasesList</a></td>
+<td>Private method to assemble a list of test cases included in a test suite.</td>
+</tr><tr>
+<td><a href="#UnittestDialog.__discover">__discover</a></td>
+<td>Private slot to discover unit test but don't run them.</td>
+</tr><tr>
+<td><a href="#UnittestDialog.__findDiscoveryItem">__findDiscoveryItem</a></td>
+<td>Private method to find an item given the module path.</td>
+</tr><tr>
 <td><a href="#UnittestDialog.__openEditor">__openEditor</a></td>
 <td>Private method to open an editor window for the given file.</td>
 </tr><tr>
+<td><a href="#UnittestDialog.__populateDiscoveryResults">__populateDiscoveryResults</a></td>
+<td>Private method to populate the test discovery results list.</td>
+</tr><tr>
+<td><a href="#UnittestDialog.__populateVenvComboBox">__populateVenvComboBox</a></td>
+<td>Private method to (re-)populate the virtual environments selector.</td>
+</tr><tr>
+<td><a href="#UnittestDialog.__selectedTestCases">__selectedTestCases</a></td>
+<td>Private method to assemble the list of selected test cases and suites.</td>
+</tr><tr>
 <td><a href="#UnittestDialog.__setProgressColor">__setProgressColor</a></td>
 <td>Private methode to set the color of the progress color label.</td>
 </tr><tr>
@@ -238,12 +259,18 @@
 <td><a href="#UnittestDialog.__showSource">__showSource</a></td>
 <td>Private slot to show the source of a traceback in an eric6 editor.</td>
 </tr><tr>
+<td><a href="#UnittestDialog.__stopTests">__stopTests</a></td>
+<td>Private slot to stop the test.</td>
+</tr><tr>
 <td><a href="#UnittestDialog.closeEvent">closeEvent</a></td>
 <td>Protected method to handle the close event.</td>
 </tr><tr>
 <td><a href="#UnittestDialog.hasFailedTests">hasFailedTests</a></td>
 <td>Public method to check, if there are failed tests from the last run.</td>
 </tr><tr>
+<td><a href="#UnittestDialog.insertDiscovery">insertDiscovery</a></td>
+<td>Public slot to insert the discovery start directory into the discoveryPicker object.</td>
+</tr><tr>
 <td><a href="#UnittestDialog.insertProg">insertProg</a></td>
 <td>Public slot to insert the filename prog into the testsuitePicker object.</td>
 </tr><tr>
@@ -256,33 +283,30 @@
 <td><a href="#UnittestDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td>
 <td>Private slot called by a button of the button box clicked.</td>
 </tr><tr>
+<td><a href="#UnittestDialog.on_discoverCheckBox_toggled">on_discoverCheckBox_toggled</a></td>
+<td>Private slot handling state changes of the 'discover' checkbox.</td>
+</tr><tr>
 <td><a href="#UnittestDialog.on_errorsListWidget_currentTextChanged">on_errorsListWidget_currentTextChanged</a></td>
 <td>Private slot to handle the highlighted signal.</td>
 </tr><tr>
 <td><a href="#UnittestDialog.on_errorsListWidget_itemDoubleClicked">on_errorsListWidget_itemDoubleClicked</a></td>
 <td>Private slot called by doubleclicking an errorlist entry.</td>
 </tr><tr>
-<td><a href="#UnittestDialog.on_startButton_clicked">on_startButton_clicked</a></td>
-<td>Private slot to start the test.</td>
-</tr><tr>
-<td><a href="#UnittestDialog.on_stopButton_clicked">on_stopButton_clicked</a></td>
-<td>Private slot to stop the test.</td>
-</tr><tr>
 <td><a href="#UnittestDialog.on_testsuitePicker_aboutToShowPathPickerDialog">on_testsuitePicker_aboutToShowPathPickerDialog</a></td>
 <td>Private slot called before the test suite selection dialog is shown.</td>
 </tr><tr>
 <td><a href="#UnittestDialog.on_testsuitePicker_editTextChanged">on_testsuitePicker_editTextChanged</a></td>
-<td>Private slot to handle changes of the test file name.</td>
+<td>Private slot handling changes of the test suite path.</td>
 </tr><tr>
 <td><a href="#UnittestDialog.on_testsuitePicker_pathSelected">on_testsuitePicker_pathSelected</a></td>
 <td>Private slot called after a test suite has been selected.</td>
 </tr><tr>
-<td><a href="#UnittestDialog.on_venvComboBox_currentTextChanged">on_venvComboBox_currentTextChanged</a></td>
-<td>Private slot to handle the selection of a virtual environment.</td>
-</tr><tr>
 <td><a href="#UnittestDialog.setProjectMode">setProjectMode</a></td>
 <td>Public method to set the project mode of the dialog.</td>
 </tr><tr>
+<td><a href="#UnittestDialog.startTests">startTests</a></td>
+<td>Public slot to start the test.</td>
+</tr><tr>
 <td><a href="#UnittestDialog.testErrored">testErrored</a></td>
 <td>Public method called if a test errors.</td>
 </tr><tr>
@@ -332,6 +356,25 @@
 <dd>
 name of this dialog
 </dd>
+</dl><a NAME="UnittestDialog.__UTDiscovered" ID="UnittestDialog.__UTDiscovered"></a>
+<h4>UnittestDialog.__UTDiscovered</h4>
+<b>__UTDiscovered</b>(<i>testCases, exc_type, exc_value</i>)
+<p>
+        Private slot to handle the utPrepared signal.
+</p><p>
+        If the unittest suite was loaded successfully, we ask the
+        client to run the test suite.
+</p><dl>
+<dt><i>testCases</i> (str)</dt>
+<dd>
+list of detected test cases
+</dd><dt><i>exc_type</i> (str)</dt>
+<dd>
+exception type occured during discovery
+</dd><dt><i>exc_value</i> (str)</dt>
+<dd>
+value of exception occured during discovery
+</dd>
 </dl><a NAME="UnittestDialog.__UTPrepared" ID="UnittestDialog.__UTPrepared"></a>
 <h4>UnittestDialog.__UTPrepared</h4>
 <b>__UTPrepared</b>(<i>nrTests, exc_type, exc_value</i>)
@@ -351,6 +394,53 @@
 <dd>
 value of exception occured during preparation (string)
 </dd>
+</dl><a NAME="UnittestDialog.__assembleTestCasesList" ID="UnittestDialog.__assembleTestCasesList"></a>
+<h4>UnittestDialog.__assembleTestCasesList</h4>
+<b>__assembleTestCasesList</b>(<i>suite</i>)
+<p>
+        Private method to assemble a list of test cases included in a test
+        suite.
+</p><dl>
+<dt><i>suite</i> (unittest.TestSuite)</dt>
+<dd>
+test suite to be inspected
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+list of tuples containing the test case ID and short
+            description
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of tuples of (str, str)
+</dd>
+</dl><a NAME="UnittestDialog.__discover" ID="UnittestDialog.__discover"></a>
+<h4>UnittestDialog.__discover</h4>
+<b>__discover</b>(<i></i>)
+<p>
+        Private slot to discover unit test but don't run them.
+</p><a NAME="UnittestDialog.__findDiscoveryItem" ID="UnittestDialog.__findDiscoveryItem"></a>
+<h4>UnittestDialog.__findDiscoveryItem</h4>
+<b>__findDiscoveryItem</b>(<i>modulePath</i>)
+<p>
+        Private method to find an item given the module path.
+</p><dl>
+<dt><i>modulePath</i> (str)</dt>
+<dd>
+path of the module in dotted notation
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+reference to the item or None
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+QTreeWidgetItem or None
+</dd>
 </dl><a NAME="UnittestDialog.__openEditor" ID="UnittestDialog.__openEditor"></a>
 <h4>UnittestDialog.__openEditor</h4>
 <b>__openEditor</b>(<i>filename, linenumber</i>)
@@ -367,6 +457,41 @@
 <dd>
 line number to place the cursor at
 </dd>
+</dl><a NAME="UnittestDialog.__populateDiscoveryResults" ID="UnittestDialog.__populateDiscoveryResults"></a>
+<h4>UnittestDialog.__populateDiscoveryResults</h4>
+<b>__populateDiscoveryResults</b>(<i>tests</i>)
+<p>
+        Private method to populate the test discovery results list.
+</p><dl>
+<dt><i>tests</i> (list of tuples of (str, str))</dt>
+<dd>
+list of tuples containing the discovery results
+</dd>
+</dl><a NAME="UnittestDialog.__populateVenvComboBox" ID="UnittestDialog.__populateVenvComboBox"></a>
+<h4>UnittestDialog.__populateVenvComboBox</h4>
+<b>__populateVenvComboBox</b>(<i></i>)
+<p>
+        Private method to (re-)populate the virtual environments selector.
+</p><a NAME="UnittestDialog.__selectedTestCases" ID="UnittestDialog.__selectedTestCases"></a>
+<h4>UnittestDialog.__selectedTestCases</h4>
+<b>__selectedTestCases</b>(<i>parent=None</i>)
+<p>
+        Private method to assemble the list of selected test cases and suites.
+</p><dl>
+<dt><i>parent</i> (QTreeWidgetItem)</dt>
+<dd>
+reference to the parent item
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+list of selected test cases
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+list of str
+</dd>
 </dl><a NAME="UnittestDialog.__setProgressColor" ID="UnittestDialog.__setProgressColor"></a>
 <h4>UnittestDialog.__setProgressColor</h4>
 <b>__setProgressColor</b>(<i>color</i>)
@@ -392,6 +517,11 @@
 <b>__showSource</b>(<i></i>)
 <p>
         Private slot to show the source of a traceback in an eric6 editor.
+</p><a NAME="UnittestDialog.__stopTests" ID="UnittestDialog.__stopTests"></a>
+<h4>UnittestDialog.__stopTests</h4>
+<b>__stopTests</b>(<i></i>)
+<p>
+        Private slot to stop the test.
 </p><a NAME="UnittestDialog.closeEvent" ID="UnittestDialog.closeEvent"></a>
 <h4>UnittestDialog.closeEvent</h4>
 <b>closeEvent</b>(<i>event</i>)
@@ -412,6 +542,17 @@
 <dd>
 flag indicating the presence of failed tests (boolean)
 </dd>
+</dl><a NAME="UnittestDialog.insertDiscovery" ID="UnittestDialog.insertDiscovery"></a>
+<h4>UnittestDialog.insertDiscovery</h4>
+<b>insertDiscovery</b>(<i>start</i>)
+<p>
+        Public slot to insert the discovery start directory into the
+        discoveryPicker object.
+</p><dl>
+<dt><i>start</i> (str)</dt>
+<dd>
+start directory name to be inserted
+</dd>
 </dl><a NAME="UnittestDialog.insertProg" ID="UnittestDialog.insertProg"></a>
 <h4>UnittestDialog.insertProg</h4>
 <b>insertProg</b>(<i>prog</i>)
@@ -453,6 +594,16 @@
 <dd>
 button that was clicked (QAbstractButton)
 </dd>
+</dl><a NAME="UnittestDialog.on_discoverCheckBox_toggled" ID="UnittestDialog.on_discoverCheckBox_toggled"></a>
+<h4>UnittestDialog.on_discoverCheckBox_toggled</h4>
+<b>on_discoverCheckBox_toggled</b>(<i>checked</i>)
+<p>
+        Private slot handling state changes of the 'discover' checkbox.
+</p><dl>
+<dt><i>checked</i> (bool)</dt>
+<dd>
+state of the checkbox
+</dd>
 </dl><a NAME="UnittestDialog.on_errorsListWidget_currentTextChanged" ID="UnittestDialog.on_errorsListWidget_currentTextChanged"></a>
 <h4>UnittestDialog.on_errorsListWidget_currentTextChanged</h4>
 <b>on_errorsListWidget_currentTextChanged</b>(<i>text</i>)
@@ -478,35 +629,20 @@
 <dd>
 the listbox item that was double clicked
 </dd>
-</dl><a NAME="UnittestDialog.on_startButton_clicked" ID="UnittestDialog.on_startButton_clicked"></a>
-<h4>UnittestDialog.on_startButton_clicked</h4>
-<b>on_startButton_clicked</b>(<i>failedOnly=False</i>)
-<p>
-        Private slot to start the test.
-</p><dl>
-<dt><i>failedOnly=</i></dt>
-<dd>
-flag indicating to run only failed tests (boolean)
-</dd>
-</dl><a NAME="UnittestDialog.on_stopButton_clicked" ID="UnittestDialog.on_stopButton_clicked"></a>
-<h4>UnittestDialog.on_stopButton_clicked</h4>
-<b>on_stopButton_clicked</b>(<i></i>)
-<p>
-        Private slot to stop the test.
-</p><a NAME="UnittestDialog.on_testsuitePicker_aboutToShowPathPickerDialog" ID="UnittestDialog.on_testsuitePicker_aboutToShowPathPickerDialog"></a>
+</dl><a NAME="UnittestDialog.on_testsuitePicker_aboutToShowPathPickerDialog" ID="UnittestDialog.on_testsuitePicker_aboutToShowPathPickerDialog"></a>
 <h4>UnittestDialog.on_testsuitePicker_aboutToShowPathPickerDialog</h4>
 <b>on_testsuitePicker_aboutToShowPathPickerDialog</b>(<i></i>)
 <p>
         Private slot called before the test suite selection dialog is shown.
 </p><a NAME="UnittestDialog.on_testsuitePicker_editTextChanged" ID="UnittestDialog.on_testsuitePicker_editTextChanged"></a>
 <h4>UnittestDialog.on_testsuitePicker_editTextChanged</h4>
-<b>on_testsuitePicker_editTextChanged</b>(<i>txt</i>)
+<b>on_testsuitePicker_editTextChanged</b>(<i>path</i>)
 <p>
-        Private slot to handle changes of the test file name.
+        Private slot handling changes of the test suite path.
 </p><dl>
-<dt><i>txt</i></dt>
+<dt><i>path</i> (str)</dt>
 <dd>
-name of the test file (string)
+path of the test suite file
 </dd>
 </dl><a NAME="UnittestDialog.on_testsuitePicker_pathSelected" ID="UnittestDialog.on_testsuitePicker_pathSelected"></a>
 <h4>UnittestDialog.on_testsuitePicker_pathSelected</h4>
@@ -518,16 +654,6 @@
 <dd>
 file name of the test suite
 </dd>
-</dl><a NAME="UnittestDialog.on_venvComboBox_currentTextChanged" ID="UnittestDialog.on_venvComboBox_currentTextChanged"></a>
-<h4>UnittestDialog.on_venvComboBox_currentTextChanged</h4>
-<b>on_venvComboBox_currentTextChanged</b>(<i>venvName</i>)
-<p>
-        Private slot to handle the selection of a virtual environment.
-</p><dl>
-<dt><i>venvName</i> (str)</dt>
-<dd>
-name of the selected virtual environment
-</dd>
 </dl><a NAME="UnittestDialog.setProjectMode" ID="UnittestDialog.setProjectMode"></a>
 <h4>UnittestDialog.setProjectMode</h4>
 <b>setProjectMode</b>(<i>forProject</i>)
@@ -538,6 +664,16 @@
 <dd>
 flag indicating to run for the open project
 </dd>
+</dl><a NAME="UnittestDialog.startTests" ID="UnittestDialog.startTests"></a>
+<h4>UnittestDialog.startTests</h4>
+<b>startTests</b>(<i>failedOnly=False</i>)
+<p>
+        Public slot to start the test.
+</p><dl>
+<dt><i>failedOnly=</i></dt>
+<dd>
+flag indicating to run only failed tests (boolean)
+</dd>
 </dl><a NAME="UnittestDialog.testErrored" ID="UnittestDialog.testErrored"></a>
 <h4>UnittestDialog.testErrored</h4>
 <b>testErrored</b>(<i>test, exc, testId</i>)
--- a/Documentation/Source/eric6.VirtualEnv.VirtualenvManager.html	Tue Mar 26 19:38:12 2019 +0100
+++ b/Documentation/Source/eric6.VirtualEnv.VirtualenvManager.html	Tue Mar 26 19:39:42 2019 +0100
@@ -114,6 +114,9 @@
 <td><a href="#VirtualenvManager.getVirtualenvNamesForVariant">getVirtualenvNamesForVariant</a></td>
 <td>Public method to get a list of virtual environments for a given Python variant.</td>
 </tr><tr>
+<td><a href="#VirtualenvManager.getVirtualenvVariant">getVirtualenvVariant</a></td>
+<td>Public method to get the variant of a virtual environment.</td>
+</tr><tr>
 <td><a href="#VirtualenvManager.isCondaEnvironment">isCondaEnvironment</a></td>
 <td>Public method to test, if a given environment is an Anaconda environment.</td>
 </tr><tr>
@@ -367,6 +370,26 @@
 <dd>
 list of str
 </dd>
+</dl><a NAME="VirtualenvManager.getVirtualenvVariant" ID="VirtualenvManager.getVirtualenvVariant"></a>
+<h4>VirtualenvManager.getVirtualenvVariant</h4>
+<b>getVirtualenvVariant</b>(<i>venvName</i>)
+<p>
+        Public method to get the variant of a virtual environment.
+</p><dl>
+<dt><i>venvName</i> (str)</dt>
+<dd>
+logical name for the virtual environment
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+Python variant of the environment
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
 </dl><a NAME="VirtualenvManager.isCondaEnvironment" ID="VirtualenvManager.isCondaEnvironment"></a>
 <h4>VirtualenvManager.isCondaEnvironment</h4>
 <b>isCondaEnvironment</b>(<i>venvName</i>)
--- a/changelog	Tue Mar 26 19:38:12 2019 +0100
+++ b/changelog	Tue Mar 26 19:39:42 2019 +0100
@@ -24,6 +24,7 @@
      run
   -- removed the 'local' selection because it is obsolete
   -- added capability to auto-discover tests
+  -- added capability to show auto-discovered tests and select from this list
 - Web Browser (NG)
   -- added these search engines to the default list:
      --- MetaGer

eric ide

mercurial