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);

Reply via email to