You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by Apache Wiki <wi...@apache.org> on 2006/08/24 23:22:01 UTC

[Db-derby Wiki] Update of "DerbyJunitTestConfiguration" by DanDebrunner

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Db-derby Wiki" for change notification.

The following page has been changed by DanDebrunner:
http://wiki.apache.org/db-derby/DerbyJunitTestConfiguration

New page:
= Test Configurations =
This is about test configurations in a pure JUnit setup (the eventual goal).

<!> Under Construction <!>

== Goals ==
 * Ideally running the Derby tests should allow multiple configurations to exist concurrently, for example to parallelize test runs or stress test by kicking off multiple runs within the same JVM.
 * The default way for running tests must not require any system property or other setup that would make it harder for tests to run elsewhere as standard JUnit tests.

== System Properties ==
Derby's JUnit infrastructure classes to run tests may setup various system properties.
Tests that set specific system properties are not listed here.

|| '''System Property''' || '''Class''' || '''Value''' || '''Description''' || '''Related Method(s)''' ||
||<|2> `java.security.policy` ||<|2> `SecurityManagerSetup` || `<NONE>` || No security manager installed ||<|2> `BaseTestCase.assertSecurityManager` ||
|| URL to policy file (''default'') || Security manager installed ||
|| `derbyTesting.codeclasses` || `SecurityManagerSetup` || Path to `classes` folder || Used by testing policy files for permissions granted to all classes, only set when loading from classes || ||
|| `derbyTesting.testjar` || `SecurityManagerSetup` || Path to derbyTesting.jar || Used by testing policy files for permissions granted to tsting classes, only set when loading from jar files. ''Not used by policy files yet'' || ||
|| `derbyTesting.codejar` || `SecurityManagerSetup` || Path to derby.jar & derbynet.jar || Used by testing policy files for permissions granted to network server and engine classes, only set when loading from jar files and jars are present. ''Currently used for all jar files to match existing harness'' || ||
|| `derbyTesting.clientjar` || `SecurityManagerSetup` || Path to derbyclient.jar || Used by testing policy files for permissions granted to client classes, only set when loading from jar files and client jar is present. ''Not used by policy files yet'' || ||
||<|2> `derby.system.home` ||<|2> `TestConfiguration` || `${user.dir}/system` (''default'') || || ||
|| not set || Databases created in `${user.dir}/database` || ||

== Folders ==
The tests only use folders below ${user.dir}, thus all paths in the table are relative to ${user.dir}

|| '''Folder''' || '''Description''' ||
|| `system` || Location of `derby.system.home` when set. ||
|| `databases` || Location of databases when `derby.system.home` not set. This will allow clear policy files so that user code does not have permission to write into the databse folders. ||
|| `extin, extout, extinout` || Location of input files, output files or files used for both input and output for tests. ||
|| `fail` || Top level folder to store failure information ||
|| `fail/embedded` || Failures for tests with embedded configuration ||
|| `fail/client` || Failures for tests with Derby client configuration ||
|| `fail/db2client` || Failures for tests with DB2 client configuration ||

== Default Configuration ==
The default configuration is:
 * Embedded driver
 * `derby.system.home=${user.dir}/system`
 * database name `wombat`
 * user APP

In general tests should not rely on the user name or the database name, this will allow tests to run in multiple configurations without changes.