Hi Matthew, This is great. Debugging the TCK with a real debugger. Imagine! Craig On Dec 30, 2005, at 4:24 PM, madams@apache.org wrote: > Author: madams > Date: Fri Dec 30 16:24:19 2005 > New Revision: 360206 > > URL: http://svn.apache.org/viewcvs?rev=360206&view=rev > Log: > added debugability with goals "debugtck.jdori" and "debugtck.iut" > > Modified: > db/jdo/trunk/tck20/maven.xml > > Modified: db/jdo/trunk/tck20/maven.xml > URL: http://svn.apache.org/viewcvs/db/jdo/trunk/tck20/maven.xml? > rev=360206&r1=360205&r2=360206&view=diff > ====================================================================== > ======== > --- db/jdo/trunk/tck20/maven.xml (original) > +++ db/jdo/trunk/tck20/maven.xml Fri Dec 30 16:24:19 2005 > @@ -33,23 +33,38 @@ > > Custom goals for this project are: > installSchema - installs the database schema > + > enhance.iut - enhances persistence capable classes > with the implementation under test enhancer if enhancement is not > up to date > enhance.jdori - enhances persistence capable > classes with the JDO Reference Implementation enhancer if > enhancement is not up to date > + > runtck.iut - runs the TCK on the implementation > under test > runtck.jdori - runs the TCK on the JDO Reference > Implementation > > + debugtck.jdori - waits for a debugger to attach > and then runs the TCK on the JDO RI > + debugtck.iut - waits for a debugger to attach and > then runs the TCK on the implementation under test > + > + > Options for this project are: > -Djdo.tck.cfglist=xxx - a list of configuration > files (must be in test/conf) > -Djdo.tck.dblist=xxx - a list of databases > -Djdo.tck.identitytypes=xxx - a list of identity > types (applicationidentity, datastoreidentity) > -Djdo.tck.cleanupaftertest=xxx - true/false. > Setting it to false will retain data in database after test. This > will allow inspection of data after test is run. Default is true echo> > + -Djdo.tck.debug.port=##### - the port number the > JVM should listen for a debugger on (default 8787) > + -Djdo.tck.debug.jvmargs=xxx - the "-Xdebug ..." > arguments in the event you want to supply your own debug > directives > > Examples: > maven -Djdo.tck.identitytypes=datastoreidentity > installSchema > Installs the database schema for datastore > identity for all supported databases > + > maven -Djdo.tck.cfglist="alltests.conf cfg1.conf" > runtck.jdori > Runs the test configurations specified in > alltests.conf and cfg1.conf on the JDORI, using all supported > identity types and databases. > > + maven -Djdo.tck.cfglist=detach.conf > debugtck.jdori > + Runs the test detach.conf configuration, > waiting for a debugger to attach on the default port > + > + maven -Djdo.tck.cfglist=detach.conf - > Djdo.tck.debug.port=9343 debugtck.jdori > + Runs the test detach.conf configuration, > waiting for a debugger to attach on port 9343 > + > Note: > By default, the database schema is NOT installed > when the custom goals runtck.iut and runtck.jdori are run. > maven build installs the database schema and runs > the TCK on the JDO Reference Implementation. > @@ -201,6 +216,25 @@ > > > > + > + defaultValue=""/> > + > + defaultValue=""/> > + > + > + > + > + + value="-Xdebug -Xnoagent -Djava.compiler=NONE - > Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=$ > {jdo.tck.debug.port}" > + /> > + > + > + Using debug arguments: > + ${jdo.tck.debug.jvmargs} > + > + > + > + > > > > @@ -238,6 +272,25 @@ > > > > + > + defaultValue=""/> > + > + defaultValue=""/> > + > + > + > + > + + value="-Xdebug -Xnoagent -Djava.compiler=NONE - > Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=$ > {jdo.tck.debug.port}" > + /> > + > + > + Using debug arguments: > + ${jdo.tck.debug.jvmargs} > + > + > + > + > > > > @@ -290,6 +343,13 @@ > javax.jdo.option.Mapping=${jdo.tck.database}$ > {jdo.tck.mapping} > javax.jdo.mapping.Schema=${schemaname} > > + > + > + > + > + JVM will wait until debugger attaches on port $ > {jdo.tck.debug.port}... > + > + > classname="${jdo.tck.testrunnerclass}"> > > @@ -319,8 +379,11 @@ > value="${jdo.tck.cleanupaftertest}"/> > value="${jdo.tck.requiredOptions}"/> > + > > > + > + > > > > @@ -339,6 +402,12 @@ > javax.jdo.option.Mapping=${jdo.tck.database}$ > {jdo.tck.mapping} > javax.jdo.mapping.Schema=${schemaname} > > + > + > + > + JVM will wait until debugger attaches on port $ > {jdo.tck.debug.port}... > + > + > value="org.apache.jdo.tck.util.BatchTestRunner"/> > @@ -370,8 +439,11 @@ > value="${jdo.tck.cleanupaftertest}"/> > value="${jdo.tck.requiredOptions}"/> > + > > > + > + > > > Finished run with database="${jdo.tck.database}" > identitytype="${jdo.tck.identitytype}" mapping="$ > {jdo.tck.mapping}". > > Craig Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:Craig.Russell@sun.com P.S. A good JDO? O, Gasp!