apache / pekko-http

The Streaming-first HTTP server/module of Apache Pekko
https://pekko.apache.org/
Apache License 2.0
152 stars 37 forks source link

FileAndResourceDirectivesSpec fails when scala 2.12 used #558

Closed pjfanning closed 4 months ago

pjfanning commented 4 months ago

See https://github.com/apache/pekko-http/actions/runs/9136372804/job/25125085205

Fails regardless of Pekko or Java version.

  [info] FileAndResourceDirectivesSpec:
  [info] org.apache.pekko.http.scaladsl.server.directives.FileAndResourceDirectivesSpec *** ABORTED *** (0 milliseconds)
  [info]   java.lang.IllegalArgumentException was thrown inside "listDirectoryContents" should, construction cannot continue: "URI is not hierarchical" (FileAndResourceDirectivesSpec.scala:327)
  [info]   org.scalatest.exceptions.NotAllowedException:
  [info]   at org.scalatest.wordspec.AnyWordSpecLike.org$scalatest$wordspec$AnyWordSpecLike$$registerBranch(AnyWordSpecLike.scala:226)
  [info]   at org.scalatest.wordspec.AnyWordSpecLike$$anon$1.apply(AnyWordSpecLike.scala:1158)
  [info]   at org.scalatest.verbs.ShouldVerb$StringShouldWrapperForVerb.should(ShouldVerb.scala:194)
  [info]   at org.scalatest.verbs.ShouldVerb$StringShouldWrapperForVerb.should$(ShouldVerb.scala:193)
  [info]   at org.scalatest.matchers.should.Matchers$StringShouldWrapper.should(Matchers.scala:8242)
  [info]   at org.apache.pekko.http.scaladsl.server.directives.FileAndResourceDirectivesSpec.<init>(FileAndResourceDirectivesSpec.scala:327)
  [info]   at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
  [info]   at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
  [info]   at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
  [info]   at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:304)
  [info]   at java.base/java.lang.Class.newInstance(Class.java:725)
  [info]   at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:454)
  [info]   at sbt.TestRunner.runTest$1(TestFramework.scala:153)
  [info]   at sbt.TestRunner.run(TestFramework.scala:168)
  [info]   at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.$anonfun$apply$1(TestFramework.scala:336)
  [info]   at sbt.TestFramework$.sbt$TestFramework$$withContextLoader(TestFramework.scala:296)
  [info]   at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.apply(TestFramework.scala:336)
  [info]   at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.apply(TestFramework.scala:336)
  [info]   at sbt.TestFunction.apply(TestFramework.scala:348)
  [info]   at sbt.Tests$.processRunnable$1(Tests.scala:475)
  [info]   at sbt.Tests$.$anonfun$makeSerial$1(Tests.scala:481)
  [info]   at sbt.std.Transform$$anon$3.$anonfun$apply$2(Transform.scala:47)
  [info]   at sbt.std.Transform$$anon$4.work(Transform.scala:69)
  [info]   at sbt.Execute.$anonfun$submit$2(Execute.scala:283)
  [info]   at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24)
  [info]   at sbt.Execute.work(Execute.scala:292)
  [info]   at sbt.Execute.$anonfun$submit$1(Execute.scala:283)
  [info]   at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
  [info]   at sbt.CompletionService$$anon$2.call(CompletionService.scala:65)
  [info]   at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
  [info]   at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
  [info]   at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
  [info]   at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
  [info]   at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
  [info]   at java.base/java.lang.Thread.run(Thread.java:1583)
  [info]   Cause: java.lang.IllegalArgumentException: URI is not hierarchical
  [info]   at java.base/java.io.File.<init>(File.java:420)
  [info]   at org.apache.pekko.http.scaladsl.server.directives.FileAndResourceDirectivesSpec.$anonfun$new$86(FileAndResourceDirectivesSpec.scala:328)
  [info]   at org.scalatest.SuperEngine.registerNestedBranch(Engine.scala:609)
  [info]   at org.scalatest.wordspec.AnyWordSpecLike.org$scalatest$wordspec$AnyWordSpecLike$$registerBranch(AnyWordSpecLike.scala:218)
  [info]   at org.scalatest.wordspec.AnyWordSpecLike$$anon$1.apply(AnyWordSpecLike.scala:1158)
  [info]   at org.scalatest.verbs.ShouldVerb$StringShouldWrapperForVerb.should(ShouldVerb.scala:194)
  [info]   at org.scalatest.verbs.ShouldVerb$StringShouldWrapperForVerb.should$(ShouldVerb.scala:193)
  [info]   at org.scalatest.matchers.should.Matchers$StringShouldWrapper.should(Matchers.scala:8242)
  [info]   at org.apache.pekko.http.scaladsl.server.directives.FileAndResourceDirectivesSpec.<init>(FileAndResourceDirectivesSpec.scala:327)
  [info]   at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
  [info]   at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
  [info]   at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
  [info]   at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:304)
  [info]   at java.base/java.lang.Class.newInstance(Class.java:725)
  [info]   at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:454)
  [info]   at sbt.TestRunner.runTest$1(TestFramework.scala:153)
  [info]   at sbt.TestRunner.run(TestFramework.scala:168)
  [info]   at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.$anonfun$apply$1(TestFramework.scala:336)
pjfanning commented 4 months ago

Issue appeared within the last week. We last had a successful run about a week ago.

https://github.com/apache/pekko-http/actions/runs/9047971252

pjfanning commented 4 months ago

https://github.com/apache/pekko-http/actions/runs/9140233688 passed after #559