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/10/04 23:24:53 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

------------------------------------------------------------------------------
  = 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.
+ 
+ == Primary Configurations ==
+ 
+ Derby's JUnit tests will be self-contained for the primary configurations which are:
+  * embedded
+  * derby network client
+ 
+ This means that each test's `suite()` method will return a suite that runs test fixtures in all the primary configurations
+ as required. This is option B) in this derby-dev discussion:
+ http://mail-archives.apache.org/mod_mbox/db-derby-dev/200609.mbox/%3c451C1CDF.7050706@apache.org%3e
+ 
+ Tests can fall into any of the following categories:
+  * embedded only - E.g. testing triggers may not provided additional testing by running with the network client
+  * client only - E.g. specific testing of a client data source
+  * embedded & client - runs fixtures in both configurations, some fixtures may only run in a single configuration due to items not supported in a configuration, bugs in a configuration or no value in running the fixture in that configuration.
+ 
+ == Suites ==
+ 
+ Top level suites have two roles:
+  * To allow a set of tests to be run, e.g. all JDBC api tests (`tests.jdbc._Suite`), all SQL language tests (`tests.lang._Suite`), all tests (`suites.All`)
+  * To run a number of tests (or suites) in a secondary configuration, e.g. all language tests with encryption.
+ 
+ Top level suites should not contain ''magic'' that requires the use of a top-level
+ suite to run an individual test.
  
  == System Properties ==
  Derby's JUnit infrastructure classes to run tests may setup various system properties.