Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unit tests fail due to new test harness in Travis CI #863

ekrich opened this issue Jun 22, 2017 · 1 comment


None yet
2 participants
Copy link

commented Jun 22, 2017

This failure was while compiling for Mac.

[info] Compiling 1 Scala source to /Users/travis/build/scala-native/scala-native/unit-tests/target/scala-2.11/test-classes...
[info] Linking (6775 ms)
[info] Discovered 3023 classes and 17652 methods
[info] Optimizing (9606 ms)
[info] Generating intermediate code (2383 ms)
[info] Produced 62 files
[info] Compiling to native code (3555 ms)
[info] Linking native code (663 ms)
[info] Starting process '/Users/travis/build/scala-native/scala-native/unit-tests/target/scala-2.11/tests-out' on port '9736'.
java.lang.Exception: Couldn't communicate with remote runner.
	at scala.scalanative.sbtplugin.testinterface.ComRunner.getSocket(ComRunner.scala:96)
	at scala.scalanative.sbtplugin.testinterface.ComRunner.<init>(ComRunner.scala:44)
	at scala.scalanative.sbtplugin.testinterface.ScalaNativeRunner.createRemoteRunner(ScalaNativeRunner.scala:49)
	at scala.scalanative.sbtplugin.testinterface.ScalaNativeRunner.<init>(ScalaNativeRunner.scala:26)
	at scala.scalanative.sbtplugin.testinterface.ScalaNativeFramework.runner(ScalaNativeFramework.scala:33)
	at sbt.Defaults$$anonfun$createTestRunners$1.apply(Defaults.scala:562)
	at sbt.Defaults$$anonfun$createTestRunners$1.apply(Defaults.scala:556)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
	at scala.collection.immutable.Map$Map1.foreach(Map.scala:109)
	at scala.collection.TraversableLike$
	at sbt.Defaults$.createTestRunners(Defaults.scala:556)
	at sbt.Defaults$.allTestGroupsTask(Defaults.scala:576)
	at sbt.Defaults$$anonfun$testTasks$7.apply(Defaults.scala:439)
	at sbt.Defaults$$anonfun$testTasks$7.apply(Defaults.scala:439)
	at scala.Function9$$anonfun$tupled$1.apply(Function9.scala:35)
	at scala.Function9$$anonfun$tupled$1.apply(Function9.scala:34)
	at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
	at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
	at sbt.std.Transform$$anon$
	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
	at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
	at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
	at sbt.CompletionService$$anon$
	at java.util.concurrent.Executors$
	at java.util.concurrent.ThreadPoolExecutor.runWorker(
	at java.util.concurrent.ThreadPoolExecutor$
[error] (tests/nativetest:executeTests) java.lang.Exception: Couldn't communicate with remote runner.
[error] Total time: 56 s, completed Jun 22, 2017 1:17:06 PM

@ekrich ekrich changed the title Unit tests fail to run sometimes in Travis CI Unit tests fail due to new test harness in Travis CI Jun 25, 2017

@densh densh added this to the 0.3.1 milestone Jun 27, 2017

@densh densh added the bug label Jun 27, 2017


This comment has been minimized.

Copy link

commented Jun 27, 2017

Thanks for the report!

@densh densh closed this in 9dcfd9b Jun 28, 2017

asoltysik added a commit to asoltysik/scala-native that referenced this issue Jul 14, 2017

Fix scala-native#863: start the test interface server on the sbt side (

Previously, sbt would tell the distant program to start a server on a
given port. Unfortunately, this would prevent tests from running if the
randomly allocated port was already used, and couldn't recover from this

This commit moves the server part to the sbt plugin. Given a complete
implementation of ``, it's easier to select a free port and
make sure that we can listen on this port. Once we're sure everything is
fine, we can start the distant program and instruct it to connect to the
right port.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.