Merge pull request #8408 from anatoliykmetyuk/fix/issue-8340-serviceloader-fork

Fix #8340: Add regression test
This commit is contained in:
eugene yokota 2025-12-09 22:28:02 -05:00 committed by GitHub
commit 69f8ad63d3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,6 @@
val scalatest = "org.scalatest" %% "scalatest" % "3.2.19"
scalaVersion := "3.3.4"
Test / fork := true
libraryDependencies += scalatest % Test

View File

@ -0,0 +1,6 @@
package example
trait Service {
def name: String
}

View File

@ -0,0 +1,6 @@
package example
class ServiceImpl extends Service {
override def name: String = "MyServiceImpl"
}

View File

@ -0,0 +1,16 @@
package example
import org.scalatest.funsuite.AnyFunSuite
import java.util.ServiceLoader
import scala.jdk.CollectionConverters._
class ServiceTest extends AnyFunSuite {
test("ServiceLoader should find service implementation when Test / fork := true") {
val services = ServiceLoader.load(classOf[Service])
val iterator = services.iterator()
assert(iterator.hasNext, "ServiceLoader should find at least one service")
val service = iterator.next()
assert(service.name == "MyServiceImpl", s"Expected service name 'MyServiceImpl', got '${service.name}'")
}
}

View File

@ -0,0 +1 @@
> test