[ 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