[hibernate-dev] RE: Hibernate test suite

Steve Ebersole steve.ebersole at jboss.com
Wed Dec 13 09:40:13 EST 2006


I did not touch the build script at all as part of that previous
commit...

________________________________________
From: Aleksandar Kostadinov [mailto:akostadinov at jboss.org] 
Sent: Wednesday, December 13, 2006 8:37 AM
To: Steve Ebersole
Cc: hibernate-dev at lists.jboss.org
Subject: Re: Hibernate test suite

Yeah, I see that the problem is not finding the jdbc driver. I meant
that all other databases tests fail with a new reason, but the same for
all of them.
I asked you if there is a change in how hibernate searches for it. 
Cruisecontrol invokes ant with the following pratameters:
-Djar.driver=${driver.jar}
-Dhibernate.test.validatefailureexpected=true
-lib lib

Here driver.jar is the jdbc driver location. Is there some change that
prevents this from working and is it possible to make this work. 

Steve Ebersole wrote: 
No the failures are different.  Previously we were getting NPE; now CCE.

The tests run fine for me in my IDE.  The only way I have been able to
reproduce such a CCE is for the JDBC driver to be unavailable when the
junit task starts up.  This causes the constructor of one of the test
classes to fail, which JUnit handles by creating a "stand-in" test case
of type an inner type as defined in the TestSuite.warning() method.  I
have added extra protections to allow non-FunctionalTestCase instance to
be handled by the FunctionalTestClassTestSuite which I will be checking
in soon.

In the meantime, I would assume this indicates a problem with the CC
test runs not being able to find the drivers.  Hard to tell without the
stack trace and error log...


-----Original Message-----
From: Aleksandar Kostadinov [mailto:akostadinov at jboss.org] 
Sent: Wednesday, December 13, 2006 3:30 AM
To: Steve Ebersole
Cc: hibernate-dev at lists.jboss.org
Subject: Re: Hibernate test suite

Only hsql tests work.

Other databases tests fail with the same reason.

Is there a change in the way testsuite should be ran? How to set jdbc
driver? Properties file changes?

Steve Ebersole wrote:

  
I am just now checking in the reorganization of the Hibernate test
    
suite
  
I have been working on for the last few days.

The main piece is the addition of the org.hibernate.junit package in
    
the
  
test source directory.  Specifically, tests in the test suite now have
two well defined flavors:
1) org.hibernate.junit.UnitTestCase
2) org.hibernate.junit.functional.FunctionalTestCase

The vast majority of the Hibernate test suite falls into the later
category...

Also, a new custom TestSuite subclass was introduced for
FunctionalTestCase classes
(org.hibernate.junit.functional.FunctionalTestClassTestSuite).
FunctionalTestCase classes should use this custom test suite from their
suite() method.  The main reason for this set up is to allow better
sharing of a SessionFactory between TestCase methods.  Previously, the
org.hibernate.test.TestCase class had this responsibility.  The
    
problems
  
being that it did not have visibility into when the "run" completed.
    
So
  
it just left the schema for the last run test hanging around.  This new
set up makes sure that does not happen, because it is the test suite
which is responsible for building/closing the SessionFactory.
FunctionalTestCase does build a SessionFactory if one is not injected
into it by FunctionalTestClassTestSuite (or some other source).  It
considers this a "locally managed" SessionFactory which will get closed
after the completion of the test method; this is for running a single
method in an IDE.

Anyway, the test suite should start working again ;)

 

    




More information about the hibernate-dev mailing list