diff --git a/se/sics/mspsim/util/Test.java b/se/sics/mspsim/util/Test.java index daeb1a5..5269ac6 100644 --- a/se/sics/mspsim/util/Test.java +++ b/se/sics/mspsim/util/Test.java @@ -39,17 +39,18 @@ * $Revision: 1.2 $ */ package se.sics.mspsim.util; -import se.sics.mspsim.core.*; import java.io.IOException; +import se.sics.mspsim.core.*; + /** * Test - tests a firmware file and exits when reporting "FAIL:" first * on a line... */ public class Test implements USARTListener { - String line = ""; - MSP430 cpu; + private StringBuilder lineBuffer = new StringBuilder(); + private MSP430 cpu; public Test(MSP430 cpu) { this.cpu = cpu; @@ -61,6 +62,8 @@ public class Test implements USARTListener { public void dataReceived(USART source, int data) { if (data == '\n') { + String line = lineBuffer.toString(); + lineBuffer.setLength(0); System.out.println("#|" + line); if (line.startsWith("FAIL:")) { System.exit(0); @@ -71,10 +74,11 @@ public class Test implements USARTListener { cpu.setDebug(true); } else if (line.startsWith("PROFILE")) { cpu.printProfile(); + } else if (line.startsWith("CLEARPROFILE")) { + cpu.clearProfile(); } - line = ""; } else { - line += (char) data; + lineBuffer.append((char) data); } }