Myrna van Lunteren wrote:
On 11/17/05, *Daniel John Debrunner* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
The test harness can run tests within the same jvm if useprocess=false.
This is set for the nist suite, so that all the sub-scripts are run
in a
single JVM, mainly for performance reasons.
[snip]
This also implies that any tests that need special flags cannot be run
with useprocess = false.
Are there other cases (other than the nist tests) where we should be
able to run with useprocess set to false?
I dug into some of the test harness code a while ago, trying to
understand a little better how the machinery works (I won't say anything
about how successful I was... ;) ). I think I found other issues with
useprocess=false...
For example, there are a number of tests that include a call to
System.exit(), which means that when useprocess=false, the test shuts
down the JVM, and the harness is not able to process the results and
clean up after itself.
README.htm in the java/testing directory states the following:
<Quote>
useprocess
(default=true) Controls whether RunTest runs the test in a separate VM
or in a thread in harness VM. It is potentially useful for debugging
tests. Unit tests are not (yet) runnable with "useprocess=false", though.
<end Quote>
It does not say anything about which tests "useprocess=false" may or may
not work with, other than unit tests.
So I guess the question is: Is this a bug? If so, is it a documentation
bug or a bug in each of the tests listed in the attachment to this e-mail?
--
John
Executing: find
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/ -print
| xargs grep -n 'System.exit(' | grep -v '.svn'
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SpillHash.java:104:
System.exit(0);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SpillHash.java:109:
System.exit(1);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/timestampArith.java:312:
System.exit(1);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/timestampArith.java:358:
System.exit(1);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/timestampArith.java:364:
System.exit(1);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/timestampArith.java:366:
System.exit(0);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/CharUTF8.java:118:
System.exit(-1);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/longStringColumn.java:118:
System.exit(-1);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/testSecMec.java:81:
System.exit(-1);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/DerbyNetAutoStart.java:98:
System.exit(0);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/DerbyNetAutoStart.java:103:
System.exit(1);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/DerbyNetAutoStart.java:149:
System.exit(0);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/DerbyNetAutoStart.java:171:
System.exit(1);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/DerbyNetAutoStart.java:246:
System.exit(1);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/dataSourcePermissions_net.java:87:
System.exit(-1);
../clean/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/TestDiskHashtable.java:93:
System.exit( (failed == 0) ? 0 : 1);