Okay, I reproduced the issue (I guess for some reason my git svn version of ESME is not up to date... sigh).
The issue is exactly as the error indicates. The particular line (User.scala: 64) is calling S.? outside of a request context. This means there is no way to tell what the localization string should be because there is no "S state". The underlying cause is that the User is being created outside the scope of an HTTP request. We need to do something a tad funky with the initialization code. I'll look into it. Thanks, David On Thu, Dec 3, 2009 at 9:49 AM, Ethan Jewett <[email protected]> wrote: > Hi all, > > Currently tests are failing to run for me with a "mvn clean test" in > the trunk server on the latest revision (886861). Can someone confirm? > We can then identify what check-in broke the build and fix it. > > Failure is below, which seems to match the failure occurring in Hudson. > > Thanks, > Ethan > > > > 2009-12-03 12:45:51.137:INFO::Started [email protected]:8989 > org.apache.maven.surefire.booter.SurefireExecutionException: null; > nested exception is java.lang.ExceptionInInitializerError: null > java.lang.ExceptionInInitializerError > at > org.apache.esme.lib.MsgParserSpecsAsTest.<init>(MsgParseTest.scala:45) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at java.lang.Class.newInstance0(Class.java:355) > at java.lang.Class.newInstance(Class.java:308) > at > org.specs.runner.JUnitSuiteRunner.testSuite(JUnitSuiteRunner.scala:37) > at org.specs.runner.JUnitSuiteRunner.run(JUnitSuiteRunner.scala:45) > at > org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) > at > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) > at org.apache.maven.surefire.Surefire.run(Surefire.java:177) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338) > at > org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997) > Caused by: java.lang.IllegalStateException: Attempted to use resource > bundles outside of an initialized S scope. S only usable when > initialized, such as during request processing. Did you call S.? from > Boot? > at net.liftweb.http.S$.resourceBundles(S.scala:611) > at net.liftweb.http.S$.$qmark(S.scala:637) > at net.liftweb.http.S$.$qmark(S.scala:655) > at > org.apache.esme.model.User$.org$apache$esme$model$User$$profileChanged(User.scala:64) > at org.apache.esme.model.User$$anonfun$1.apply(User.scala:50) > at org.apache.esme.model.User$$anonfun$1.apply(User.scala:50) > at > net.liftweb.mapper.MetaMapper$$anonfun$eachField$2.apply(MetaMapper.scala:1177) > at > net.liftweb.mapper.MetaMapper$$anonfun$eachField$2.apply(MetaMapper.scala:1177) > at scala.List.foreach(List.scala:841) > at > net.liftweb.mapper.MetaMapper$class.eachField(MetaMapper.scala:1177) > at net.liftweb.mapper.MetaMapper$class.net > $liftweb$mapper$MetaMapper$$_afterSave(MetaMapper.scala:1190) > at > net.liftweb.mapper.MetaMapper$$anonfun$15.apply(MetaMapper.scala:706) > at > net.liftweb.mapper.MetaMapper$$anonfun$15.apply(MetaMapper.scala:643) > at net.liftweb.mapper.DB$$anonfun$use$1.apply(DB.scala:424) > at net.liftweb.util.DynoVar$class.run(ThreadGlobal.scala:91) > at net.liftweb.mapper.DB$currentConn$.run(DB.scala:411) > at net.liftweb.mapper.DB$.use(DB.scala:421) > at net.liftweb.mapper.MetaMapper$class.save(MetaMapper.scala:642) > at org.apache.esme.model.User$.save(User.scala:49) > at net.liftweb.mapper.Mapper$$anonfun$save$1.apply(Mapper.scala:88) > at net.liftweb.mapper.Mapper$$anonfun$save$1.apply(Mapper.scala:88) > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:67) > at net.liftweb.mapper.Safe$.runSafe(Safe.scala:44) > at net.liftweb.mapper.Mapper$class.runSafe(Mapper.scala:54) > at org.apache.esme.model.User.runSafe(User.scala:181) > at net.liftweb.mapper.Mapper$class.save(Mapper.scala:87) > at org.apache.esme.model.User.save(User.scala:181) > at org.apache.esme.JettyTestServer$.start(JettySetup.scala:65) > at org.apache.esme.lib.MsgParserSpecs$.<init>(MsgParseTest.scala:49) > at org.apache.esme.lib.MsgParserSpecs$.<clinit>(MsgParseTest.scala) > ... 19 more > [ERROR] There are test failures. > -- Lift, the simply functional web framework http://liftweb.net Beginning Scala http://www.apress.com/book/view/1430219890 Follow me: http://twitter.com/dpp Surf the harmonics
