commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Reinhold Fuereder" <reinhold.fuere...@dynatrace.com>
Subject [exec] Watchdog test cases and argument quotation fix
Date Fri, 20 Apr 2007 09:24:15 GMT
Hello Brett et al.,

Please find attached a patch for apache commons exec with respect to two issues (note that
I have only tested them under M$ Windows yet, but I am very confident that these changes should
work under *nix too):

---

(1) ExecuteWatchdog test cases (DefaultExecutorTest.java): one for synchronous and one for
asynchronous execution including the required test scripts (watchdog.bat, watchdog.sh) and
test app (JavaApp.java). Whereas the one for asynchronous is a bit more elaborated and kind
of "more correct", please note the hint on the well-known Java "bug"/issue under M$ Windows
with respect to the Process.destroy() method in the asynchronous test case code.

---

(2) Add a method to CommandLine (CommandLine.java) to add arguments without quoting, i.e.
pre-quoted arguments, because default quoting may not be correct in all cases. Note that I
have not tried to find out if the default quoting can be changed accordingly. And also that
maybe this problem is only M$ Windows specific, but I don't know (yet). The encountered problem
was: 

I want to start an executable (runMemorySud.cmd) with a list of JVM GC options that in turn
will then start a Java application utilising these JVM GC options. I failed to find an accepted
way of specifying the following:

runMemorySud.cmd -XX:+UseParallelGC -XX:ParallelGCThreads=2

After quite some time I found out that the default quoting of apache commons exec is causing
the problem, and with default pure standard Java it works as expected by using (see attached
ProcessTest.java example):

Process p = new ProcessBuilder("runMemorySud.cmd", "10", "30", "-XX:+UseParallelGC", "\"-XX:ParallelGCThreads=2\"").start();

However, as I said, I found no way of being able to "propagate this to the ProcessBuilder
through apache commons exec". Thus, the need for adding a so-called pre-quoted argument addArgument()
method.

---

Would you mind applying these patches?

Thanks,
	Reinhold

P.S.: Please CC me in your potential responses as I am not subscribed to this mailing list.

___________________________________________________________
DI(FH) Reinhold F├╝reder, MPhil
Performance and Automated Test Engineer
dynaTrace software GmbH
Freist├Ądter Str. 313, 4040 Linz, Austria
E reinhold.fuereder@dynatrace.com
T +43 (732) 246870.16. F +43 (732) 908176
>> Go beyond Monitoring, Take Action >> www.dynatrace.com
 
This e-mail message, including any attachments, is confidential and may contain legally privileged
information. This message is intended solely for the use of the addressee. Use by others is
prohibited. Disclosure, copying and distribution of this information to third parties is not
permitted. If you have received this message in error, please notify us immediately and delete
it from your system. The integrity and security of this message cannot be guaranteed and it
may be subject to data corruption, interception and unauthorized amendment, for which we accept
no liability.


Mime
View raw message