db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <Richard.Hille...@Sun.COM>
Subject Re: auto-loading & tests confusion/questions
Date Thu, 24 Aug 2006 22:56:17 GMT
Hi Dan,

Daniel John Debrunner wrote:

>I have a few questions about the auto-loading setup for the JUnit tests
>and the tests themselves:
>
>1) TestConfiguration.autoloading() - I would see autoloading() as an
>aspect of the VM setup and not of the test configuration. I see
>TestConfiguration representing how we want the tests to run (embedded
>vs. client, database name etc.), auto-loading doesn't seem to fit into
>this. Can I move this method out of the class, it would make more sense
>as a static method on JDBC. JDBC.vmSupportAutoloading().
>  
>
Sounds good to me.

>2) The javadoc for TestConfiguration.autoloading() says:
>"Return true if we expect that the DriverManager will autoload the
>client driver." I don't see this method as being special to the client
>driver, or does "client" here mean any JDBC driver?
>  
>
It could say, instead, "will autoload the JDBC driver".

>3) TestConfiguration.autoloading() has this code (edited for space):
>
>   if ( !JDBC.vmSupportsJDBC4() )
>     return false;
>
>   if ( getSystemStartupProperty( "jdbc.drivers" ) != null
>     return true;
>
>Isn't this the wrong way round. If "jdbc.drivers"  is set then that will
>work in any jvm, it doesn't require JDBC 4.
>  
>
That's right. This is a bug and if you wanted to test property-based 
autoloading, this logic would fail. Right now all that is tested is the 
autoloading introduced by jdk1.6.

>4) Should this test in TestConfiguration.autoloading() check that the
>required driver name is in the property?
>if ( getSystemStartupProperty( "jdbc.drivers" ) != null
>
>5) I assume this just needs cleaning: From AutoloadBooting,
>note the variable name does not match its use.
>
>		boolean		isAutoloading = !getTestConfiguration().autoloading();
>		
>		//
>		// Forcibly load the network client if we are not autoloading it.
>		//
>		if ( isAutoloading )
>  
>
Yep, looks goofy.

>6) The tests AutoloadBooting and AutoloadTest are in the jdbc4 package,
>but there is nothing specific to JDBC 4 here, so should they be in the
>jdbcapi directory? Since they are built using mustang they will not run
>on lower vms, even though I assume they could be used to test the
>jdbc.drivers property use with Derby.
>  
>
They could be moved someplace else. Have at it!

>7) One of the test uses engine internals to see if the embedded engine
>has booted, I would recommend against that. It potentially ties the
>tests to a specific version of Derby, whereas it will be great in the
>future if we can run the 10.2 tests against a future version to ensure
>there are no regressions.
>  
>
We will need some other device for answering the question "Is the engine 
up and running?"

>
>Thanks,
>Dan.
>
>  
>
Are you volunteering to clean this up?

Thanks,
-Rick

>
>
>  
>


Mime
View raw message