You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by Michael Bouschen <mb...@spree.de> on 2005/02/23 23:35:57 UTC
JDO TCK TestRunner ideas
Hi,
I had an action item to investigate how to extend the JDO TCK TestRunner
such that the same test class can be run in multiple configurations.
These are possible configuration parameters:
- identity setting (application or datastore identity)
- security on/off
- mapping files
- test data
- list of test classes to be executed
We started with the idea the test runner reads parameters from a
configuration file, e.g. an xml description. Some of the configuration
parameters are important for the build process and I see issues with
maven getting the info from the configuration file.
I would like to propose to use properties files for the configuration
parameters such that maven can directly read and use these configuration
properties.
I propose to create a subdirectory called conf in the tck subproject. It
contains configuration files, one test configuration per file. The file
has the standard properties format similar to the project.properties
file. The file defines a set of standard jdo tck properties (the
property names are just a proposal and subject to change):
jdo.tck.identitytype = application/datastore
jdo.tck.security = on/off
jdo.tck.secutity.policyfile = <policyfilename>
jdo.tck.mapping = <one or more .orm files>
jdo.tck.testdata = <xml file with test data>
jdo.tck.testclasses = <list of classnames>
The project.properties file of the tck subproject defines a property
called jdo.tck.configuration pointing to one of the configuration files:
jdo.tck.configuration = ${basedir}/conf/alltests.properties
The user can specify the configuration to use by editing the file
project.properties or by setting a system property:
maven -Djdo.tck.configuration=conf/test.properties runtck
The maven goal to run the tck for a specific configuration reads the
configuration properties from the file as specified by the property
jdo.tck.configuration:
<ant:property file="${jdo.tck.configuration}"/>
This allows to adapt the classpath to include the enhanced pc classes
based on the identitytype. Any configuration setting needed by the
TestRunner is passed as system property (e.g. the security policy file)
or as argument of the main method (e.g. the list of test classes to be
executed).
Does this sound reasonable? Any feedback is appreciated.
Regards Michael
--
Michael Bouschen Tech@Spree Engineering GmbH
mailto:mbo.tech@spree.de http://www.tech.spree.de/
Tel.:++49/30/235 520-33 Buelowstr. 66
Fax.:++49/30/2175 2012 D-10783 Berlin
Re: JDO TCK TestRunner ideas
Posted by Michelle Caisse <Mi...@Sun.COM>.
This sounds like quite a good solution, Michael.
-- Michelle
Michael Bouschen wrote:
> Hi,
>
> I had an action item to investigate how to extend the JDO TCK
> TestRunner such that the same test class can be run in multiple
> configurations. These are possible configuration parameters:
> - identity setting (application or datastore identity)
> - security on/off
> - mapping files
> - test data
> - list of test classes to be executed
>
> We started with the idea the test runner reads parameters from a
> configuration file, e.g. an xml description. Some of the configuration
> parameters are important for the build process and I see issues with
> maven getting the info from the configuration file.
>
> I would like to propose to use properties files for the configuration
> parameters such that maven can directly read and use these
> configuration properties.
>
> I propose to create a subdirectory called conf in the tck subproject.
> It contains configuration files, one test configuration per file. The
> file has the standard properties format similar to the
> project.properties file. The file defines a set of standard jdo tck
> properties (the property names are just a proposal and subject to
> change):
> jdo.tck.identitytype = application/datastore
> jdo.tck.security = on/off
> jdo.tck.secutity.policyfile = <policyfilename>
> jdo.tck.mapping = <one or more .orm files>
> jdo.tck.testdata = <xml file with test data>
> jdo.tck.testclasses = <list of classnames>
>
> The project.properties file of the tck subproject defines a property
> called jdo.tck.configuration pointing to one of the configuration files:
> jdo.tck.configuration = ${basedir}/conf/alltests.properties
> The user can specify the configuration to use by editing the file
> project.properties or by setting a system property:
> maven -Djdo.tck.configuration=conf/test.properties runtck
>
> The maven goal to run the tck for a specific configuration reads the
> configuration properties from the file as specified by the property
> jdo.tck.configuration:
> <ant:property file="${jdo.tck.configuration}"/>
> This allows to adapt the classpath to include the enhanced pc classes
> based on the identitytype. Any configuration setting needed by the
> TestRunner is passed as system property (e.g. the security policy
> file) or as argument of the main method (e.g. the list of test classes
> to be executed).
>
> Does this sound reasonable? Any feedback is appreciated.
>
> Regards Michael
Re: JDO TCK TestRunner ideas
Posted by Michelle Caisse <Mi...@Sun.COM>.
That's the information I needed. Thanks very much, Michael.
-- Michelle
Michael Bouschen wrote:
> Hi Michelle,
>
>> Hi, Michael,
>>
>> I am reviewing the ideas we discussed for controlling test execution
>> for multiple configurations. One goal we have is that all allowed
>> combinations of tests, mapping files, test data, identity settings,
>> ... can be run with a single maven command. If I understand
>> correctly, you pictured that the user would select a configuration
>> file by setting it in project.properties and only that one
>> configuration (which might include many tests, mappings, etc.) would
>> be run by maven. Is this correct? Or do you see a way for maven to
>> run a set of configuration files on one invocation?
>
>
> Today the goal runtck run the configuration specified with the
> property jdo.tck.configuration. If you want to run a different
> configuration you either change the setting of jdo.tck.configuration
> in project.properties or set using the -D option it when calling maven
> (e.g. maven -Djdo.tck.configuration=conf/my.conf runtck).
> maven allows to set properties inside a goal and then call another
> goal. The following should run the tck with the configuration from
> conf/my.conf:
> <j:set var="jdo.tck.configuration" value="conf/my.conf"/>
> <attainGoal name="runtck"/>
> So maybe we can have a new property that just lists all the
> configuration files you want to run and then run the above in a loop
> iterating the configuration list.
>
> I did not try this, I'm just thinking loud here ...
>
> Regards Michael
>
>>
>> -- Michelle
>>
>> Michael Bouschen wrote:
>>
>>> Hi,
>>>
>>> I had an action item to investigate how to extend the JDO TCK
>>> TestRunner such that the same test class can be run in multiple
>>> configurations. These are possible configuration parameters:
>>> - identity setting (application or datastore identity)
>>> - security on/off
>>> - mapping files
>>> - test data
>>> - list of test classes to be executed
>>>
>>> We started with the idea the test runner reads parameters from a
>>> configuration file, e.g. an xml description. Some of the
>>> configuration parameters are important for the build process and I
>>> see issues with maven getting the info from the configuration file.
>>>
>>> I would like to propose to use properties files for the
>>> configuration parameters such that maven can directly read and use
>>> these configuration properties.
>>>
>>> I propose to create a subdirectory called conf in the tck
>>> subproject. It contains configuration files, one test configuration
>>> per file. The file has the standard properties format similar to
>>> the project.properties file. The file defines a set of standard jdo
>>> tck properties (the property names are just a proposal and subject
>>> to change):
>>> jdo.tck.identitytype = application/datastore
>>> jdo.tck.security = on/off
>>> jdo.tck.secutity.policyfile = <policyfilename>
>>> jdo.tck.mapping = <one or more .orm files>
>>> jdo.tck.testdata = <xml file with test data>
>>> jdo.tck.testclasses = <list of classnames>
>>>
>>> The project.properties file of the tck subproject defines a property
>>> called jdo.tck.configuration pointing to one of the configuration
>>> files:
>>> jdo.tck.configuration = ${basedir}/conf/alltests.properties
>>> The user can specify the configuration to use by editing the file
>>> project.properties or by setting a system property:
>>> maven -Djdo.tck.configuration=conf/test.properties runtck
>>>
>>> The maven goal to run the tck for a specific configuration reads the
>>> configuration properties from the file as specified by the property
>>> jdo.tck.configuration:
>>> <ant:property file="${jdo.tck.configuration}"/>
>>> This allows to adapt the classpath to include the enhanced pc
>>> classes based on the identitytype. Any configuration setting needed
>>> by the TestRunner is passed as system property (e.g. the security
>>> policy file) or as argument of the main method (e.g. the list of
>>> test classes to be executed).
>>>
>>> Does this sound reasonable? Any feedback is appreciated.
>>>
>>> Regards Michael
>>
>>
>>
>
>
Re: JDO TCK TestRunner ideas
Posted by Michael Bouschen <mb...@spree.de>.
Hi Michelle,
> Hi, Michael,
>
> I am reviewing the ideas we discussed for controlling test execution
> for multiple configurations. One goal we have is that all allowed
> combinations of tests, mapping files, test data, identity settings,
> ... can be run with a single maven command. If I understand
> correctly, you pictured that the user would select a configuration
> file by setting it in project.properties and only that one
> configuration (which might include many tests, mappings, etc.) would
> be run by maven. Is this correct? Or do you see a way for maven to
> run a set of configuration files on one invocation?
Today the goal runtck run the configuration specified with the property
jdo.tck.configuration. If you want to run a different configuration you
either change the setting of jdo.tck.configuration in project.properties
or set using the -D option it when calling maven (e.g. maven
-Djdo.tck.configuration=conf/my.conf runtck).
maven allows to set properties inside a goal and then call another goal.
The following should run the tck with the configuration from conf/my.conf:
<j:set var="jdo.tck.configuration" value="conf/my.conf"/>
<attainGoal name="runtck"/>
So maybe we can have a new property that just lists all the
configuration files you want to run and then run the above in a loop
iterating the configuration list.
I did not try this, I'm just thinking loud here ...
Regards Michael
>
> -- Michelle
>
> Michael Bouschen wrote:
>
>> Hi,
>>
>> I had an action item to investigate how to extend the JDO TCK
>> TestRunner such that the same test class can be run in multiple
>> configurations. These are possible configuration parameters:
>> - identity setting (application or datastore identity)
>> - security on/off
>> - mapping files
>> - test data
>> - list of test classes to be executed
>>
>> We started with the idea the test runner reads parameters from a
>> configuration file, e.g. an xml description. Some of the
>> configuration parameters are important for the build process and I
>> see issues with maven getting the info from the configuration file.
>>
>> I would like to propose to use properties files for the configuration
>> parameters such that maven can directly read and use these
>> configuration properties.
>>
>> I propose to create a subdirectory called conf in the tck subproject.
>> It contains configuration files, one test configuration per file. The
>> file has the standard properties format similar to the
>> project.properties file. The file defines a set of standard jdo tck
>> properties (the property names are just a proposal and subject to
>> change):
>> jdo.tck.identitytype = application/datastore
>> jdo.tck.security = on/off
>> jdo.tck.secutity.policyfile = <policyfilename>
>> jdo.tck.mapping = <one or more .orm files>
>> jdo.tck.testdata = <xml file with test data>
>> jdo.tck.testclasses = <list of classnames>
>>
>> The project.properties file of the tck subproject defines a property
>> called jdo.tck.configuration pointing to one of the configuration files:
>> jdo.tck.configuration = ${basedir}/conf/alltests.properties
>> The user can specify the configuration to use by editing the file
>> project.properties or by setting a system property:
>> maven -Djdo.tck.configuration=conf/test.properties runtck
>>
>> The maven goal to run the tck for a specific configuration reads the
>> configuration properties from the file as specified by the property
>> jdo.tck.configuration:
>> <ant:property file="${jdo.tck.configuration}"/>
>> This allows to adapt the classpath to include the enhanced pc classes
>> based on the identitytype. Any configuration setting needed by the
>> TestRunner is passed as system property (e.g. the security policy
>> file) or as argument of the main method (e.g. the list of test
>> classes to be executed).
>>
>> Does this sound reasonable? Any feedback is appreciated.
>>
>> Regards Michael
>
>
--
Michael Bouschen Tech@Spree Engineering GmbH
mailto:mbo.tech@spree.de http://www.tech.spree.de/
Tel.:++49/30/235 520-33 Buelowstr. 66
Fax.:++49/30/2175 2012 D-10783 Berlin
Re: JDO TCK TestRunner ideas
Posted by Michelle Caisse <Mi...@Sun.COM>.
Hi, Michael,
I am reviewing the ideas we discussed for controlling test execution for
multiple configurations. One goal we have is that all allowed
combinations of tests, mapping files, test data, identity settings, ...
can be run with a single maven command. If I understand correctly, you
pictured that the user would select a configuration file by setting it
in project.properties and only that one configuration (which might
include many tests, mappings, etc.) would be run by maven. Is this
correct? Or do you see a way for maven to run a set of configuration
files on one invocation?
-- Michelle
Michael Bouschen wrote:
> Hi,
>
> I had an action item to investigate how to extend the JDO TCK
> TestRunner such that the same test class can be run in multiple
> configurations. These are possible configuration parameters:
> - identity setting (application or datastore identity)
> - security on/off
> - mapping files
> - test data
> - list of test classes to be executed
>
> We started with the idea the test runner reads parameters from a
> configuration file, e.g. an xml description. Some of the configuration
> parameters are important for the build process and I see issues with
> maven getting the info from the configuration file.
>
> I would like to propose to use properties files for the configuration
> parameters such that maven can directly read and use these
> configuration properties.
>
> I propose to create a subdirectory called conf in the tck subproject.
> It contains configuration files, one test configuration per file. The
> file has the standard properties format similar to the
> project.properties file. The file defines a set of standard jdo tck
> properties (the property names are just a proposal and subject to
> change):
> jdo.tck.identitytype = application/datastore
> jdo.tck.security = on/off
> jdo.tck.secutity.policyfile = <policyfilename>
> jdo.tck.mapping = <one or more .orm files>
> jdo.tck.testdata = <xml file with test data>
> jdo.tck.testclasses = <list of classnames>
>
> The project.properties file of the tck subproject defines a property
> called jdo.tck.configuration pointing to one of the configuration files:
> jdo.tck.configuration = ${basedir}/conf/alltests.properties
> The user can specify the configuration to use by editing the file
> project.properties or by setting a system property:
> maven -Djdo.tck.configuration=conf/test.properties runtck
>
> The maven goal to run the tck for a specific configuration reads the
> configuration properties from the file as specified by the property
> jdo.tck.configuration:
> <ant:property file="${jdo.tck.configuration}"/>
> This allows to adapt the classpath to include the enhanced pc classes
> based on the identitytype. Any configuration setting needed by the
> TestRunner is passed as system property (e.g. the security policy
> file) or as argument of the main method (e.g. the list of test classes
> to be executed).
>
> Does this sound reasonable? Any feedback is appreciated.
>
> Regards Michael