@@ -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