skinny-framework / skinny-framework

:monorail: "Scala on Rails" - A full-stack web app framework for rapid development in Scala

Home Page:https://skinny-framework.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FactoryGirl cannot findfactories directory when '%20' appears in the path

grimrose opened this issue · comments

The problem seems to be caused by an '%20' appearing in the path.

mv skinny-blank-app /tmp/sample\ project
cd /tmp/sample\ project/skinny-blank-app

./skinny g scaffold members member name:String activated:Boolean luckyNumber:Option[Long] birthday:Option[LocalDate]
./skinny db:migrate
./skinny db:migrate test

mkdir -p src/test/resources/factories

./skinny test

result

./sbt: line 6: [: /tmp/sample: binary operator expected
./sbt: line 18: /tmp/sample: No such file or directory
[info] Loading project definition from /private/tmp/sample project/skinny-blank-app/project
[info] Set current project to skinny-blank-app-dev (in build file:/private/tmp/sample%20project/skinny-blank-app/)
22:39:19,199 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
22:39:19,199 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
22:39:19,199 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/private/tmp/sample%20project/skinny-blank-app/target/dev/scala-2.11/test-classes/logback.xml]
22:39:19,200 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs multiple times on the classpath.
22:39:19,200 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [file:/private/tmp/sample%20project/skinny-blank-app/target/dev/scala-2.11/test-classes/logback.xml]
22:39:19,200 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [file:/private/tmp/sample%20project/skinny-blank-app/target/dev/scala-2.11/classes/logback.xml]
22:39:19,279 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
22:39:19,285 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender]
22:39:19,293 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [default]
22:39:19,302 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
22:39:19,349 |-INFO in ch.qos.logback.core.FileAppender[default] - File property is set to [logs/console.log]
22:39:19,352 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [skinny] to DEBUG
22:39:19,352 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.eclipse.jetty] to WARN
22:39:19,352 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.fusesource.scalate] to WARN
22:39:19,352 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [skinny.micro.contrib.ScalateSupport##anon#1.SourceMap] to WARN
22:39:19,352 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to DEBUG
22:39:19,352 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [default] to Logger[ROOT]
22:39:19,353 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
22:39:19,354 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@6987d68c - Registering current configuration as safe fallback point

[info] RootController_IntegrationTestSpec:
[info] - should show top page
[info] RootControllerSpec:
[info] RootController
[info] - shows top page
[info] MembersController_IntegrationTestSpec:
[info] - should show members
[info] - should show a member in detail *** FAILED ***
[info]   java.lang.NullPointerException:
[info]   at scala.collection.mutable.ArrayOps$ofRef$.length$extension(ArrayOps.scala:192)
[info]   at scala.collection.mutable.ArrayOps$ofRef.length(ArrayOps.scala:192)
[info]   at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:32)
[info]   at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
[info]   at scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:682)
[info]   at skinny.test.FactoryGirl$$anonfun$skinny$test$FactoryGirl$$resolvedConfigs$1.apply(FactoryGirl.scala:41)
[info]   at skinny.test.FactoryGirl$$anonfun$skinny$test$FactoryGirl$$resolvedConfigs$1.apply(FactoryGirl.scala:38)
[info]   at scala.collection.Iterator$$anon$12.nextCur(Iterator.scala:434)
[info]   at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:440)
[info]   at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
[info]   ...
[info] - should show new entry form
[info] - should create a member
[info] - should show the edit form *** FAILED ***
[info]   java.lang.NullPointerException:
[info]   at scala.collection.mutable.ArrayOps$ofRef$.length$extension(ArrayOps.scala:192)
[info]   at scala.collection.mutable.ArrayOps$ofRef.length(ArrayOps.scala:192)
[info]   at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:32)
[info]   at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
[info]   at scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:682)
[info]   at skinny.test.FactoryGirl$$anonfun$skinny$test$FactoryGirl$$resolvedConfigs$1.apply(FactoryGirl.scala:41)
[info]   at skinny.test.FactoryGirl$$anonfun$skinny$test$FactoryGirl$$resolvedConfigs$1.apply(FactoryGirl.scala:38)
[info]   at scala.collection.Iterator$$anon$12.nextCur(Iterator.scala:434)
[info]   at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:440)
[info]   at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
[info]   ...
[info] - should update a member *** FAILED ***
[info]   java.lang.NullPointerException:
[info]   at scala.collection.mutable.ArrayOps$ofRef$.length$extension(ArrayOps.scala:192)
[info]   at scala.collection.mutable.ArrayOps$ofRef.length(ArrayOps.scala:192)
[info]   at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:32)
[info]   at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
[info]   at scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:682)
[info]   at skinny.test.FactoryGirl$$anonfun$skinny$test$FactoryGirl$$resolvedConfigs$1.apply(FactoryGirl.scala:41)
[info]   at skinny.test.FactoryGirl$$anonfun$skinny$test$FactoryGirl$$resolvedConfigs$1.apply(FactoryGirl.scala:38)
[info]   at scala.collection.Iterator$$anon$12.nextCur(Iterator.scala:434)
[info]   at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:440)
[info]   at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
[info]   ...
[info] - should delete a member *** FAILED ***
[info]   java.lang.NullPointerException:
[info]   at scala.collection.mutable.ArrayOps$ofRef$.length$extension(ArrayOps.scala:192)
[info]   at scala.collection.mutable.ArrayOps$ofRef.length(ArrayOps.scala:192)
[info]   at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:32)
[info]   at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
[info]   at scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:682)
[info]   at skinny.test.FactoryGirl$$anonfun$skinny$test$FactoryGirl$$resolvedConfigs$1.apply(FactoryGirl.scala:41)
[info]   at skinny.test.FactoryGirl$$anonfun$skinny$test$FactoryGirl$$resolvedConfigs$1.apply(FactoryGirl.scala:38)
[info]   at scala.collection.Iterator$$anon$12.nextCur(Iterator.scala:434)
[info]   at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:440)
[info]   at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
[info]   ...
[info] MemberSpec:
[info] MembersControllerSpec:
[info] MembersController
[info]   shows members
[info]   - shows HTML response
[info]   - shows JSON response
[info]   shows a member
[info]   - shows HTML response *** FAILED ***
[info]     java.lang.NullPointerException:
[info]     ...
[info]   shows new resource input form
[info]   - shows HTML response
[info]   creates a member
[info]   - succeeds with valid parameters
[info]   - fails with invalid parameters
[info] - shows a resource edit input form *** FAILED ***
[info]   java.lang.NullPointerException:
[info]   ...
[info] - updates a member *** FAILED ***
[info]   java.lang.NullPointerException:
[info]   ...
[info] - destroys a member *** FAILED ***
[info]   java.lang.NullPointerException:
[info]   ...
[info] Run completed in 18 seconds, 424 milliseconds.
[info] Total number of tests run: 18
[info] Suites: completed 5, aborted 0
[info] Tests: succeeded 10, failed 8, canceled 0, ignored 0, pending 0
[info] *** 8 TESTS FAILED ***
[error] Failed tests:
[error]     integrationtest.MembersController_IntegrationTestSpec
[error]     controller.MembersControllerSpec
[error] (dev/test:test) sbt.TestsFailedException: Tests unsuccessful
[error] Total time: 20 s, completed 2016/05/14 22:39:36