Jimmy, Jing Lv wrote:
Hi,

I'm trying to write some unit tests of instrument. As discussed, I'm using exec. Currently I've tried Support_Exec and find it fairly easy to use(Thanks Stepan :) ).

For resources (jar files and utility classes), I make a new directory: $Harmony/modules/instrument/src/test/resource/org/apache/harmony/tests/instrument and put them there.

And I meet a problem here. Currently the default classpath in running test is "$Harmony/modules/instrument/bin", so it meets problem in loading those utility classes (it can load jar files though). I remember Mark has plan to change the classpath in running testcase, it'll be great if he make some progress.

An another problem is checking, currently the result is checked by searching and compare in string(e.g, find "someException" in result). But the framework seems fails if any exception is thrown out. Can it make a little change that it passes and returns the error message in exec?
Didn't catch up here, did you mean that you need to check the exception message as well as exception type?


Jimmy, Jing Lv wrote:
Stepan Mishura wrote:
On 8/7/06, *Jimmy, Jing Lv*  wrote:

    <SNIP>
    Sounds pretty good :)
    "exec" do helps, it can check simple situations.
    What I'm concern is that if the return code is not enough for some
situations, e.g, what exception is thrown exactly, or what cause VM exit
    abnormally. IMHO, it is still necessary for us.

Hi Jimmy, See attached test. It demonstrates VM forking. The test saves VM output and prints it in the end. So I expect that unit tests for 'instrument' module can do the same: fork VM with predefined args, save output and compare it with expected output. BWT, we have utility class[1] in 'support' for this task. It makes sense to improve it for our needs. Thanks,
Stepan.

Thanks Stepan, this is very attractive to me :)

According to your approach, I believe now it can be automatized well, at least for many test.

One concern from me is that, how do you handle output comparison? For an example, if VM halt with a exception, it output some message, so you get the output, find the exception name in it? And what can we do if it output some information only, which RI and Harmony may not appear the same?

However this is a good idea, if no objections, I shall follow this approach in writing some test of instrument.

[1] http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/support/src/test/java/tests/support/Support_Exec.java?revision=386058&view=markup <http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/support/src/test/java/tests/support/Support_Exec.java?revision=386058&view=markup>




--
Paulex Yang
China Software Development Lab
IBM



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to