This is the mail archive of the mauve-patches@sourceware.org mailing list for the Mauve project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC: Add -vmprefix switch -- committed


Hi,
I changed the naming to vmprefix and committed the patch.

ChangeLog:
2006-10-20  Robert Schuster  <robertschuster@fsfe.org>

        * Harness.java: Added vmExtra field.
        (setupHarness): Examine -vmprefix argument.
        (initProcess): Use vmPrefix field if non-null.
        * README: Added info about -vmprefix switch.


cya
Robert

David Daney wrote:
> Robert Schuster wrote:
> 
>> Hi all,
>> I found it usefull to be able to run the test process with a tool like
>> strace
>> and modified Harness.java in order to make that possible.
>>
>> Is that OK for everyone?
>>
>> ChangeLog:
>>
>> 2006-10-19  Robert Schuster  <robertschuster@fsfe.org>
>>
>>         * Harness.java: Added vmExtra field.
>>         (setupHarness): Examine -vmextra argument.
>>         (initProcess): Use vmExtra field if non-null.
>>         * README: Added info about -vmextra switch.
>>
>> cya
>> Robert
> 
> 
> I like the idea, but I would call it something like 'vmprefix'.
> 
> David Daney
> 
> 
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	20 Oct 2006 01:37:40 -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 vmPrefix = 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("-vmprefix"))
+          {
+            // User wants to prepend a certain command.
+            if (++i >= args.length)
+              throw new RuntimeException ("No file" +
+                    "given after '-vmprefix'.  Exit");
+            vmPrefix = 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 (vmPrefix != null)
+      sb.insert(0, vmPrefix + 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	20 Oct 2006 01:37:40 -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 -vmprefix argument and specify a path to the program you want
+  to run:
+
+  -vmprefix [prefixpath]
+
+  For example, the following command will run a Socket test with strace on
+  Cacao:
+
+  HARNESSVM Harness java.net.Socket -vm cacao -vmprefix strace
 
 2.  Selecting a subset of the tests to run
 

Attachment: signature.asc
Description: OpenPGP digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]