[ http://issues.apache.org/jira/browse/DERBY-1141?page=all ]

John H. Embretsen updated DERBY-1141:
-------------------------------------

    Attachment: JUnit_useprocessFalse_v1.diff

Attaching 'JUnit_useprocessFalse_v1.diff'

This patch is _not_ ready for commit (I have not tested it thoroughly, and it 
will probably cause merge conflicts with Myrna's ongoing work in this area); it 
merely demonstrates a way to run junit type tests with useprocess=false, 
without using a custom TestRunner, as discussed in the following thread on 
derby-dev:

http://www.nabble.com/-jira-Created%3A-%28DERBY-1141%29-test-harness-usage-of-useprocess-needs-improvement-t1325698.html

I have only run the jdbcapi suite, which contains various junit tests that with 
the current trunk do not run with useprocess=false. With this patch, 
jdbcapi_report.txt reports:

Test Run Started: 2006-04-21 16:40:51.0
Test Run Duration: 00:09:41

25 Tests Run
100% Pass (25 tests passed)
 0% Fail (0 tests failed)
0 Suites skipped

With useprocess=true, 26 tests are run (passing), and duration is 00:12:49. The 
test that was skipped when useprocess=false was jdbcapi/bestrowidentifier.sql 
(listed in exclude file), which on my machine takes about 20 seconds to run 
when useprocess=true. So I suppose useprocess=false cuts 2-3 minutes (~20%) in 
running time for the jdbcapi suite.



> test harness usage of useprocess needs improvement
> --------------------------------------------------
>
>          Key: DERBY-1141
>          URL: http://issues.apache.org/jira/browse/DERBY-1141
>      Project: Derby
>         Type: Improvement

>   Components: Test
>     Reporter: Myrna van Lunteren
>     Assignee: Myrna van Lunteren
>  Attachments: DERBY-1141_20060413.diff, DERBY-1141_20060413.stat, 
> JUnit_useprocessFalse_v1.diff
>
> The 'old' functionTests harness has property useprocess, which, when set to 
> false, causes tests within a suite to run from within one jvm, thus creating 
> databases and files in the same directory.
> This functionality is useful for debugging test runs within an IDE.
> Also, it is potentially useful for speeding up testruns.
> However, currently, there are some problems and shortcomings of this 
> functionality.
> - For instance, when running a networkserver test with framework DerbyNet of 
> type .java one sees the message 'Security Manager not installed' show up 
> within the test output, thus causing the test to fail.
> - running derbynet(client)mats suite with useprocess=false doesn't actually 
> make things any faster,  because networkserver gets started fresh for every 
> test. 
>   However, it should be feasible to start networkserver with the first test 
> in a suite, then use that 
>   networkserver  for subsequent tests and shutdown networkserver when the 
> suite finishes.
> - Also, (reported by Mike Matrigali off-list) currently, the following:
> ------------------
> java -Duseprocess=false -Doutputdir=<snippeddirname>/newout  -Dkeepfiles=true 
> org.apache.derbyTesting.functionTests.harness.RunTest lang/closed.java
> ------------------
> makes the test fall out of the harness with: Exception in thread "main"
> and in the .tmp:
> ------------------
> java.security.AccessControlException: access denied (java.io.FilePermission 
> <snippeddirname>\newout read)
>         at 
> java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
>         at 
> java.security.AccessController.checkPermission(AccessController.java:401)
>         at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
>         at java.lang.SecurityManager.checkRead(SecurityManager.java:863)
>         at java.io.File.exists(File.java:678)
>         at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:360)
>         at java.io.File.getCanonicalPath(File.java:513)
>         at 
> org.apache.derbyTesting.functionTests.harness.RunTest.execTestNoProcess(RunTest.java:2370)
>         at 
> org.apache.derbyTesting.functionTests.harness.RunTest.testRun(RunTest.java:443)
>         at 
> org.apache.derbyTesting.functionTests.harness.RunTest.main(RunTest.java:302)
> --------------------------------
>   removing the -Doutputdir gets around that problem, but shouldn't be needed.
> - there is the reference 
> http://www.nabble.com/AccessControlException-when-running-functional-tests-t1321374.html#a3526947
>   I couldn't duplicate this yet, maybe more info to follow.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to