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

Reply via email to