From 735ac3b6820acaf93b2a896bca1794f682dfcebe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20=C5=BBarnowski?= Date: Wed, 4 Dec 2019 09:52:53 +0100 Subject: [PATCH] Propagate debugger failure on action error --- .../meta/internal/metals/debug/TestDebugger.scala | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/unit/src/main/scala/scala/meta/internal/metals/debug/TestDebugger.scala b/tests/unit/src/main/scala/scala/meta/internal/metals/debug/TestDebugger.scala index 89da549d1ed..688a20309cf 100644 --- a/tests/unit/src/main/scala/scala/meta/internal/metals/debug/TestDebugger.scala +++ b/tests/unit/src/main/scala/scala/meta/internal/metals/debug/TestDebugger.scala @@ -55,10 +55,13 @@ final class TestDebugger(connect: RemoteServer.Listener => Debugger)( } yield () } - def awaitOutput(prefix: String, seconds: Int = 30): Future[Unit] = { + def awaitOutput(prefix: String, seconds: Int = 90): Future[Unit] = { import org.eclipse.lsp4j.debug.{OutputEventArgumentsCategory => Category} - ifNotFailed(output.awaitPrefix(Category.STDOUT, prefix)) - .withTimeout(seconds, TimeUnit.SECONDS) + ifNotFailed { + output + .awaitPrefix(Category.STDOUT, prefix) + .withTimeout(seconds, TimeUnit.SECONDS) + } } def allOutput: Future[String] = { @@ -89,6 +92,7 @@ final class TestDebugger(connect: RemoteServer.Listener => Debugger)( case None => action.andThen { case Failure(error) => // fail when the action fails + failure.foreach(error.addSuppressed) fail(error) Future.failed(error) case Success(value) =>