You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ArgumentTester.java 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //package debugger;
  2. import com.sun.jdi.*;
  3. import com.sun.jdi.event.*;
  4. import com.sun.jdi.request.*;
  5. import java.io.*;
  6. import java.util.*;
  7. import org.aspectj.tools.debugger.*;
  8. public class ArgumentTester extends Tester {
  9. public static void main(String[] args) {
  10. new Main(new ArgumentTester(false), args);
  11. }
  12. public ArgumentTester(boolean b) {
  13. super(b);
  14. }
  15. public String getClassName() {
  16. return "Arguments";
  17. }
  18. public boolean test() {
  19. db();
  20. try {
  21. setRunArgs("0 1 2");
  22. stopon(19);
  23. stop(3);
  24. startTest();
  25. setRunArgs("0 1 2 3 4 5 6");
  26. stopon(19);
  27. stop(7);
  28. startTest();
  29. quit();
  30. return true;
  31. } catch (DebuggerException de) {
  32. de.printStackTrace();
  33. }
  34. return false;
  35. }
  36. protected void stop(final int max) {
  37. d.addStopListener(new StopAdapter() {
  38. int times = -1;
  39. public void breakpointEvent(BreakpointEvent e) {
  40. try {
  41. String value = print("s") + "";
  42. String str = "\"" + times + "\"";
  43. if ((times++) != -1) {
  44. check(value.equals(str), value + "!=" + str);
  45. }
  46. if (times < max) {
  47. cont();
  48. } else {
  49. clear(19);
  50. d.removeStopListener(this);
  51. }
  52. } catch (DebuggerException de) {
  53. de(de);
  54. }
  55. }
  56. });
  57. }
  58. }