org.aspectj/tests/debugger/ArgumentTester.java
2002-12-16 18:51:06 +00:00

66 lines
1.7 KiB
Java

//package debugger;
import com.sun.jdi.*;
import com.sun.jdi.event.*;
import com.sun.jdi.request.*;
import java.io.*;
import java.util.*;
import org.aspectj.tools.debugger.*;
public class ArgumentTester extends Tester {
public static void main(String[] args) {
new Main(new ArgumentTester(false), args);
}
public ArgumentTester(boolean b) {
super(b);
}
public String getClassName() {
return "Arguments";
}
public boolean test() {
db();
try {
setRunArgs("0 1 2");
stopon(19);
stop(3);
startTest();
setRunArgs("0 1 2 3 4 5 6");
stopon(19);
stop(7);
startTest();
quit();
return true;
} catch (DebuggerException de) {
de.printStackTrace();
}
return false;
}
protected void stop(final int max) {
d.addStopListener(new StopAdapter() {
int times = -1;
public void breakpointEvent(BreakpointEvent e) {
try {
String value = print("s") + "";
String str = "\"" + times + "\"";
if ((times++) != -1) {
check(value.equals(str), value + "!=" + str);
}
if (times < max) {
cont();
} else {
clear(19);
d.removeStopListener(this);
}
} catch (DebuggerException de) {
de(de);
}
}
});
}
}