Skip to content

Commit 509ff91

Browse files
committed
Async execution
1 parent def2b40 commit 509ff91

File tree

1 file changed

+63
-60
lines changed

1 file changed

+63
-60
lines changed

PlsqlDeveloperUtPlsqlPlugin/PlsqlDeveloperUtPlsqlPlugin/View/TestResultWindow.cs

Lines changed: 63 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Drawing;
3+
using System.Threading;
34
using System.Windows.Forms;
45

56
namespace PlsqlDeveloperUtPlsqlPlugin
@@ -17,94 +18,96 @@ internal void RunTests(string type, string owner, string name, string subType)
1718
{
1819
lblStatus.Text = "Running...";
1920

20-
testRunner.Run(type, owner, name, subType);
21-
ShowResult();
22-
}
23-
private void ShowResult()
24-
{
2521
txtTests.Text = "";
2622
txtFailures.Text = "";
2723
txtErrors.Text = "";
2824
txtDisabled.Text = "";
2925
txtTime.Text = "";
3026
treeResult.Nodes.Clear();
3127

32-
var testsuites = testRunner.GetJUnitResult();
33-
34-
if (testsuites != null)
28+
if (WindowState == FormWindowState.Minimized)
3529
{
36-
if (WindowState == FormWindowState.Minimized)
37-
{
38-
WindowState = FormWindowState.Normal;
39-
}
40-
Show();
30+
WindowState = FormWindowState.Normal;
31+
}
32+
Show();
4133

42-
txtTests.Text = testsuites.tests;
43-
txtFailures.Text = testsuites.failures;
44-
txtErrors.Text = testsuites.errors;
45-
txtDisabled.Text = testsuites.disabled;
46-
txtTime.Text = testsuites.time;
34+
new Thread(() =>
35+
{
36+
testRunner.Run(type, owner, name, subType);
37+
var testsuites = testRunner.GetJUnitResult();
4738

48-
try
39+
if (testsuites != null)
4940
{
50-
testsuite alltests = testsuites.testsuite[0];
51-
52-
var tnAlltests = new TreeNode($"{alltests.name} ({alltests.tests})");
53-
foreach (testsuite testsuite in alltests.testsuite1)
41+
txtTests.BeginInvoke((MethodInvoker)delegate ()
5442
{
55-
TreeNode tnTestsuite = new TreeNode($"{testsuite.name} ({testsuite.tests})");
56-
tnAlltests.Nodes.Add(tnTestsuite);
43+
txtTests.Text = testsuites.tests;
44+
txtFailures.Text = testsuites.failures;
45+
txtErrors.Text = testsuites.errors;
46+
txtDisabled.Text = testsuites.disabled;
47+
txtTime.Text = testsuites.time;
5748

58-
if (testsuite.testcase != null)
49+
try
5950
{
60-
foreach (var testcase in testsuite.testcase)
51+
var alltests = testsuites.testsuite[0];
52+
53+
var tnAlltests = new TreeNode($"{alltests.name} ({alltests.tests})");
54+
foreach (testsuite testsuite in alltests.testsuite1)
6155
{
62-
var tnTestcase = new TreeNode(testcase.name);
63-
tnTestsuite.Nodes.Add(tnTestcase);
56+
var tnTestsuite = new TreeNode($"{testsuite.name} ({testsuite.tests})");
57+
tnAlltests.Nodes.Add(tnTestsuite);
6458

65-
if (testcase.error != null)
59+
if (testsuite.testcase != null)
6660
{
67-
tnTestcase.ForeColor = Color.DarkRed;
68-
foreach (var error in testcase.error)
61+
foreach (var testcase in testsuite.testcase)
6962
{
70-
if (error.Text.Length > 0)
63+
var tnTestcase = new TreeNode(testcase.name);
64+
tnTestsuite.Nodes.Add(tnTestcase);
65+
66+
if (testcase.error != null)
7167
{
72-
var tnError = new TreeNode(error.Text[0]);
73-
tnTestcase.Nodes.Add(tnError);
68+
tnTestcase.ForeColor = Color.DarkRed;
69+
foreach (var error in testcase.error)
70+
{
71+
if (error.Text.Length > 0)
72+
{
73+
var tnError = new TreeNode(error.Text[0]);
74+
tnTestcase.Nodes.Add(tnError);
75+
}
76+
}
7477
}
75-
}
76-
}
77-
else if (testcase.failure != null)
78-
{
79-
tnTestcase.ForeColor = Color.DarkRed;
80-
foreach (var failure in testcase.failure)
81-
{
82-
if (failure.Text.Length > 0)
78+
else if (testcase.failure != null)
79+
{
80+
tnTestcase.ForeColor = Color.DarkRed;
81+
foreach (var failure in testcase.failure)
82+
{
83+
if (failure.Text.Length > 0)
84+
{
85+
var tnFailure = new TreeNode(failure.Text[0]);
86+
tnTestcase.Nodes.Add(tnFailure);
87+
}
88+
}
89+
}
90+
else
8391
{
84-
var tnFailure = new TreeNode(failure.Text[0]);
85-
tnTestcase.Nodes.Add(tnFailure);
92+
tnTestcase.ForeColor = testcase.status == null ? Color.DarkGreen : Color.DarkRed;
8693
}
8794
}
8895
}
89-
else
90-
{
91-
tnTestcase.ForeColor = testcase.status == null ? Color.DarkGreen : Color.DarkRed;
92-
}
9396
}
94-
}
95-
}
9697

97-
treeResult.Nodes.Add(tnAlltests);
98-
treeResult.ExpandAll();
98+
treeResult.Nodes.Add(tnAlltests);
99+
treeResult.ExpandAll();
99100

100-
lblStatus.Text = "Finished";
101-
}
102-
catch (Exception e)
103-
{
104-
lblStatus.Text = "Error";
105-
MessageBox.Show("End " + e.Message);
101+
lblStatus.Text = "Finished";
102+
}
103+
catch (Exception e)
104+
{
105+
lblStatus.Text = "Error";
106+
MessageBox.Show("End " + e.Message);
107+
}
108+
});
106109
}
107-
}
110+
}).Start();
108111
}
109112

110113
private void btnClose_Click(object sender, System.EventArgs e)

0 commit comments

Comments
 (0)