Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 6f90c82

Browse filesBrowse files
change timeout to 1h for debugging sessions, close session on abort properly
1 parent c3393b5 commit 6f90c82
Copy full SHA for 6f90c82

File tree

1 file changed

+31
-21
lines changed
Filter options

1 file changed

+31
-21
lines changed

‎sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.java

Copy file name to clipboardExpand all lines: sqldev/src/main/java/org/utplsql/sqldev/runner/UtplsqlRunner.java
+31-21Lines changed: 31 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252

5353
public class UtplsqlRunner implements RealtimeReporterEventConsumer {
5454
private static final Logger logger = Logger.getLogger(UtplsqlRunner.class.getName());
55+
private static final int DEBUG_TIMEOUT_SECONDS = 60*60;
5556

5657
private final boolean withCodeCoverage;
5758
private final List<String> pathList;
@@ -141,6 +142,7 @@ public void dispose() {
141142
if (frame != null) {
142143
frame.setVisible(false);
143144
}
145+
run.setConsumerConn(null);
144146
}
145147

146148
@SuppressWarnings("StatementWithEmptyBody")
@@ -165,7 +167,7 @@ public void process(final RealtimeReporterEvent event) {
165167
}
166168
}
167169

168-
private String getSysdate() {
170+
public static String getSysdate() {
169171
final Date dateTime = new Date(System.currentTimeMillis());
170172
final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'000'");
171173
return df.format(dateTime);
@@ -183,6 +185,7 @@ private void initRun() {
183185
run.setTotalNumberOfTests(-1);
184186
run.setCurrentTestNumber(0);
185187
run.setStatus(UtplsqlResources.getString("RUNNER_INITIALIZING_TEXT"));
188+
run.setConsumerConn(consumerConn);
186189
panel.setModel(run);
187190
panel.update(realtimeReporterId);
188191
}
@@ -200,7 +203,7 @@ private void doProcess(final PostRunEvent event) {
200203
run.setExecutionTime(event.getExecutionTime());
201204
run.setErrorStack(event.getErrorStack());
202205
run.setServerOutput(event.getServerOutput());
203-
run.setStatus(UtplsqlResources.getString("RUNNER_FINNISHED_TEXT"));
206+
run.setStatus(UtplsqlResources.getString("RUNNER_FINISHED_TEXT"));
204207
panel.update(realtimeReporterId);
205208
}
206209

@@ -323,26 +326,33 @@ private void produce() {
323326

324327
private void consume() {
325328
try {
326-
logger.fine(() -> "Consuming events from reporter id " + realtimeReporterId + " in realtime...");
327-
final RealtimeReporterDao dao = new RealtimeReporterDao(consumerConn);
328-
dao.consumeReport(realtimeReporterId, this);
329-
logger.fine(() -> "All events consumed.");
330-
if (withCodeCoverage) {
331-
String html = dao.getHtmlCoverage(coverageReporterId);
332-
CodeCoverageReporter.openInBrowser(html);
329+
try {
330+
logger.fine(() -> "Consuming events from reporter id " + realtimeReporterId + " in realtime...");
331+
final RealtimeReporterDao dao = new RealtimeReporterDao(consumerConn);
332+
if (!debug) {
333+
dao.consumeReport(realtimeReporterId, this);
334+
} else {
335+
dao.consumeReport(realtimeReporterId, this, DEBUG_TIMEOUT_SECONDS);
336+
}
337+
logger.fine(() -> "All events consumed.");
338+
if (withCodeCoverage) {
339+
String html = dao.getHtmlCoverage(coverageReporterId);
340+
CodeCoverageReporter.openInBrowser(html);
341+
}
342+
} catch (Exception e) {
343+
logger.severe(() -> "Error while consuming events for reporter id " + realtimeReporterId + ": " + e.getMessage() + ".");
344+
}
345+
} finally {
346+
if (run.getTotalNumberOfTests() < 0) {
347+
run.setStatus(UtplsqlResources.getString("RUNNER_NO_TESTS_FOUND_TEXT"));
348+
run.setExecutionTime((System.currentTimeMillis() - Double.valueOf(run.getStart())) / 1000);
349+
run.setEndTime(getSysdate());
350+
run.setTotalNumberOfTests(0);
351+
panel.update(realtimeReporterId);
352+
}
353+
if (isRunningInSqlDeveloper()) {
354+
dispose();
333355
}
334-
} catch (Exception e) {
335-
logger.severe(() -> "Error while consuming events for reporter id " + realtimeReporterId + ": " + e.getMessage() + ".");
336-
}
337-
if (run.getTotalNumberOfTests() < 0) {
338-
run.setStatus(UtplsqlResources.getString("RUNNER_NO_TESTS_FOUND_TEXT"));
339-
run.setExecutionTime((System.currentTimeMillis() - Double.valueOf(run.getStart())) / 1000);
340-
run.setEndTime(getSysdate());
341-
run.setTotalNumberOfTests(0);
342-
panel.update(realtimeReporterId);
343-
}
344-
if (isRunningInSqlDeveloper()) {
345-
dispose();
346356
}
347357
}
348358

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.