Skip to content

Commit 0e290cc

Browse files
committed
bug fix
1 parent f9b29d6 commit 0e290cc

File tree

1 file changed

+28
-10
lines changed

1 file changed

+28
-10
lines changed

src/test/java/org/apache/sysds/test/component/misc/DMLScriptTest.java

+28-10
Original file line numberDiff line numberDiff line change
@@ -284,34 +284,52 @@ public void executeDMLWithScriptShadowBufferWarnTest() throws IOException {
284284
public void executeDMLWithScriptAndInfoTest() throws IOException {
285285
String cl = "systemds -s \"print('hello')\"";
286286
String[] args = cl.split(" ");
287-
288287
Logger.getLogger(DMLScript.class).setLevel(Level.INFO);
289288
final LoggingUtils.TestAppender appender = LoggingUtils.overwrite();
290-
try{
289+
try {
291290
Assert.assertTrue(executeScript(args));
292291
final List<LoggingEvent> log = LoggingUtils.reinsert(appender);
293-
Assert.assertTrue(log.get(1).getMessage().toString().startsWith("BEGIN DML run"));
294-
Assert.assertTrue(log.get(2).getMessage().toString().startsWith("Process id"));
292+
try {
293+
int i = log.get(0).getMessage().toString().startsWith("Low memory budget") ? 1 : 0;
294+
Assert.assertTrue(log.get(i++).getMessage().toString().startsWith("BEGIN DML run"));
295+
Assert.assertTrue(log.get(i).getMessage().toString().startsWith("Process id"));
296+
} catch (Error e) {
297+
System.out.println("ERROR while evaluating INFO logs: ");
298+
for (LoggingEvent loggingEvent : log) {
299+
System.out.println(loggingEvent.getMessage());
300+
}
301+
throw e;
302+
}
303+
295304
} finally {
296305
LoggingUtils.reinsert(appender);
297306
}
298307
}
299308

300309
@Test
301310
public void executeDMLWithScriptAndDebugTest() throws IOException {
311+
// have to run sequentially, to avoid concurrent call to Logger.getLogger(DMLScript.class)
302312
String cl = "systemds -s \"print('hello')\"";
303313
String[] args = cl.split(" ");
304314

305315
Logger.getLogger(DMLScript.class).setLevel(Level.DEBUG);
306-
final LoggingUtils.TestAppender appender = LoggingUtils.overwrite();
316+
final LoggingUtils.TestAppender appender2 = LoggingUtils.overwrite();
307317
try{
308318
Assert.assertTrue(executeScript(args));
309-
final List<LoggingEvent> log = LoggingUtils.reinsert(appender);
310-
Assert.assertTrue(log.get(2).getMessage().toString().startsWith("BEGIN DML run"));
311-
Assert.assertTrue(log.get(3).getMessage().toString().startsWith("DML script"));
312-
Assert.assertTrue(log.get(4).getMessage().toString().startsWith("Process id"));
319+
final List<LoggingEvent> log = LoggingUtils.reinsert(appender2);
320+
try {
321+
int i = log.get(0).getMessage().toString().startsWith("Low memory budget") ? 2 : 1;
322+
Assert.assertTrue(log.get(i++).getMessage().toString().startsWith("BEGIN DML run"));
323+
Assert.assertTrue(log.get(i++).getMessage().toString().startsWith("DML script"));
324+
Assert.assertTrue(log.get(i).getMessage().toString().startsWith("Process id"));
325+
} catch (Error e){
326+
for (LoggingEvent loggingEvent : log) {
327+
System.out.println(loggingEvent.getMessage());
328+
}
329+
throw e;
330+
}
313331
} finally {
314-
LoggingUtils.reinsert(appender);
332+
LoggingUtils.reinsert(appender2);
315333
}
316334
}
317335
}

0 commit comments

Comments
 (0)