That sounds like a good plan to me.

On Sun, Oct 27, 2013 at 12:45 AM, Darren Shepherd <
darren.s.sheph...@gmail.com> wrote:

> There is also a lot of static initialization.  I don't know exactly
> what was the issue that broke the build, but I assume its because
> Transaction(Legacy) got loaded, and that class in a static block loads
> db.properties, which then call some encryption utilities that will
> fail if db.properties is not there.  I'd rather remove the static
> initializer (or atleast make it not blow up if its not there).  The
> tricky part is that there are so many "main class" utilities that
> depend on Transaction class.  I really want to standardize all
> utilities that they initialize in the same way so we can clean this
> stuff up, but that just takes time.
>
> Darren
>
> On Sat, Oct 26, 2013 at 11:17 AM, Laszlo Hornyak
> <laszlo.horn...@gmail.com> wrote:
> > Hi Alex,
> >
> > The build was failing again today so I have sent another quick fix with
> > commit id
> > 7902315287c268ff81e3b6664df6ddee7351716a looks like the build is back to
> > normal. The prevous fix was reverted as after Darren's latest changes the
> > jdbc driver was no longer needed for tests in that project.
> >
> > The tests are a bit fragile and in my opinion the reason is that the
> > components are building a bit too much on the environment they are
> running
> > in. So writing good tests is a bit difficult in some cases, in some other
> > cases almost impossible.
> >
> >
> >
> >
> > On Sat, Oct 26, 2013 at 12:57 AM, Alex Huang <alex.hu...@citrix.com>
> wrote:
> >
> >> Hi Laszlo,
> >>
> >> Thanks for the fix.  It does fix this problem.  I took a quick look.
> >>
> >> As I understand it from Alena, Darren had to move the initialization of
> >> the LockMasterListener higher due to some problems Mike experienced.  My
> >> guess is that it had to be higher because Spring cannot work with the
> >> ordered initialization that we used to have for the components (new,
> >> configure, start) so it was moved into static which relies on jvm
> >> initialization order.  So moving the initialization of
> LockMasterListener
> >> back into start() method of ManagementServer basically will break things
> >> for Mike again.  I'll leave it to Darren to resolve this for now.  I
> don't
> >> know enough about Spring loading to resolve this correctly for both
> cases.
> >>
> >> --Alex
> >>
> >> > -----Original Message-----
> >> > From: Laszlo Hornyak [mailto:laszlo.horn...@gmail.com]
> >> > Sent: Friday, October 25, 2013 3:19 PM
> >> > To: dev@cloudstack.apache.org
> >> > Subject: Re: failing unit tests....
> >> >
> >> > I have just sent a fix for that, looks like everything is green now.
> >> Please check!
> >> >
> >> >
> >> > On Fri, Oct 25, 2013 at 11:52 PM, Darren Shepherd <
> >> > darren.s.sheph...@gmail.com> wrote:
> >> >
> >> > > I'll fix that.
> >> > >
> >> > > Darren
> >> > >
> >> > > On Fri, Oct 25, 2013 at 1:54 PM, Alex Huang <alex.hu...@citrix.com>
> >> > wrote:
> >> > > > I'm getting this failing unit test when building with the latest
> >> > > > from
> >> > > master.  Anyone working on it or know what it is already?  From the
> >> > > stack, it looks like it's a problem location the jdbc driver.  This
> >> > > was working just yesterday.
> >> > > >
> >> > > > Test set: com.cloud.alert.AlertControlsUnitTest
> >> > > >
> >> > >
> ----------------------------------------------------------------------
> >> > > ---------
> >> > > > Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed:
> >> > > > 0.175
> >> > > sec <<< FAILURE!
> >> > > > warning(junit.framework.TestSuite$1)  Time elapsed: 0.004 sec  <<<
> >> > > FAILURE!
> >> > > > junit.framework.AssertionFailedError: Exception in constructor:
> >> > > testInjected (java.lang.ExceptionInInitializerError
> >> > > >         at
> >> > >
> com.cloud.alert.AlertControlsUnitTest.<init>(AlertControlsUnitTest.jav
> >> > > a:46)
> >> > > >         at
> >> > > > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> >> > > Method)
> >> > > >         at
> >> > >
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructo
> >> > > rAccessorImpl.java:57)
> >> > > >         at
> >> > >
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCo
> >> > > nstructorAccessorImpl.java:45)
> >> > > >         at
> >> > > java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> >> > > >         at junit.framework.TestSuite.createTest(TestSuite.java:61)
> >> > > >         at
> >> junit.framework.TestSuite.addTestMethod(TestSuite.java:294)
> >> > > >         at
> >> > > junit.framework.TestSuite.addTestsFromTestCase(TestSuite.java:150)
> >> > > >         at junit.framework.TestSuite.<init>(TestSuite.java:129)
> >> > > >         at
> >> > >
> org.junit.internal.runners.JUnit38ClassRunner.<init>(JUnit38ClassRunne
> >> > > r.java:71)
> >> > > >         at
> >> > >
> org.junit.internal.builders.JUnit3Builder.runnerForClass(JUnit3Builder
> >> > > .java:14)
> >> > > >         at
> >> > >
> org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder
> >> > > .java:57)
> >> > > >         at
> >> > >
> org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForCl
> >> > > ass(AllDefaultPossibilitiesBuilder.java:29)
> >> > > >         at
> >> > >
> org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder
> >> > > .java:57)
> >> > > >         at
> >> > >
> org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:2
> >> > > 4)
> >> > > >         at
> >> > >
> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider
> >> > > .java:234)
> >> > > >         at
> >> > >
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4P
> >> > > rovider.java:134)
> >> > > >         at
> >> > >
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.
> >> > > java:113)
> >> > > >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> >> Method)
> >> > > >         at
> >> > >
> >> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> >> > > ava:57)
> >> > > >         at
> >> > >
> >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> >> > s
> >> > > orImpl.java:43)
> >> > > >         at java.lang.reflect.Method.invoke(Method.java:606)
> >> > > >         at
> >> > >
> org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(R
> >> > > eflectionUtils.java:189)
> >> > > >         at
> >> > >
> org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(
> >> > > ProviderFactory.java:165)
> >> > > >         at
> >> > >
> org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(Provid
> >> > > erFactory.java:85)
> >> > > >         at
> >> > >
> >> > org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(Forke
> >> > > dBooter.java:103)
> >> > > >         at
> >> > >
> >> > org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:7
> >> > > 4)
> >> > > > Caused by: com.cloud.utils.exception.CloudRuntimeException: Unable
> >> > > > to
> >> > > initialize a connection to the database for locking purposes:
> >> > > >         at
> >> com.cloud.utils.db.Merovingian2.<init>(Merovingian2.java:74)
> >> > > >         at
> >> > >
> com.cloud.utils.db.Merovingian2.createLockMaster(Merovingian2.java:80)
> >> > > >         at
> >> > >
> com.cloud.server.LockMasterListener.<init>(LockMasterListener.java:33)
> >> > > >         at
> >> > >
> >> > com.cloud.server.ManagementServerImpl.<clinit>(ManagementServerImpl.
> >> > ja
> >> > > va:602)
> >> > > >         ... 27 more
> >> > > > Caused by: java.sql.SQLException: No suitable driver found for
> >> > >
> >> > jdbc:mysql://localhost:3306/cloud?autoReconnect=true&prepStmtCacheSize
> >> > > =517&cachePrepStmts=true&prepStmtCacheSqlLimit=4096
> >> > > >         at
> >> java.sql.DriverManager.getConnection(DriverManager.java:596)
> >> > > >         at
> >> java.sql.DriverManager.getConnection(DriverManager.java:215)
> >> > > >         at
> >> > >
> >> > org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnec
> >> > tio
> >> > > n(DriverManagerConnectionFactory.java:75)
> >> > > >         at
> >> > >
> >> > org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(Poolabl
> >> > eC
> >> > > onnectionFactory.java:582)
> >> > > >
> >> > > > --Alex
> >> > >
> >> >
> >> >
> >> >
> >> > --
> >> >
> >> > EOF
> >>
> >
> >
> >
> > --
> >
> > EOF
>



-- 

EOF

Reply via email to