Index: Harness.java =================================================================== RCS file: /cvs/mauve/mauve/Harness.java,v retrieving revision 1.26 diff -u -r1.26 Harness.java --- Harness.java 13 Oct 2006 11:45:42 -0000 1.26 +++ Harness.java 19 Oct 2006 08:41:12 -0000 @@ -85,6 +85,9 @@ // The command to invoke for the VM on which we will run the tests. private static String vmCommand = null; + + // A command that is prepended to the test commandline (e.g. strace, gdb, time) + private static String vmExtra = null; // Arguments to be passed to the VM private static String vmArgs = ""; @@ -315,6 +318,14 @@ "given after '-vm'. Exit"); vmCommand = args[i]; } + else if (args[i].equals("-vmextra")) + { + // User wants to prepend a certain command. + if (++i >= args.length) + throw new RuntimeException ("No file" + + "given after '-vmextra'. Exit"); + vmExtra = args[i] + " "; + } else if (args[i].equals("-timeout")) { // User wants to change the timeout value. @@ -634,7 +645,11 @@ StringBuffer sb = new StringBuffer(" RunnerProcess"); for (int i = 0; i < args.length; i++) sb.append(" " + args[i]); - sb.insert(0, vmCommand + vmArgs); + + if (vmExtra != null) + sb.insert(0, vmExtra + vmCommand + vmArgs); + else + sb.insert(0, vmCommand + vmArgs); try { Index: README =================================================================== RCS file: /cvs/mauve/mauve/README,v retrieving revision 1.26 diff -u -r1.26 README --- README 22 Jun 2006 20:03:21 -0000 1.26 +++ README 19 Oct 2006 08:41:12 -0000 @@ -146,6 +146,17 @@ HARNESSVM Harness javax.swing.JTable -vm jamvm -vmarg -Xnocompact + For debugging purposes it may be helpful to run the testprocess with a + special program like strace, time or gdb. To prepend such a command before + the VM use the -vmextra argument and specify a path to the program you want + to run: + + -vmextra [extrapath] + + For example, the following command will run a Socket test with strace on + Cacao: + + HARNESSVM Harness java.net.Socket -vm cacao -vmextra strace 2. Selecting a subset of the tests to run