diff options
author | Jakob Odersky <jakob@odersky.com> | 2017-01-08 21:16:25 +0100 |
---|---|---|
committer | Jakob Odersky <jakob@odersky.com> | 2017-01-21 17:22:10 -0800 |
commit | 23959966760174477a6b0fcbf9dd1e8ef37c643b (patch) | |
tree | 9a0ee44eb43a8c13af57b0d06313f3aabf9e4555 /flow-core/src/test/scala/ch/jodersky/flow/PseudoTerminal.scala | |
parent | 6c371ba6d69c891c1f0d6df00bb643e1d543cc9d (diff) | |
download | akka-serial-23959966760174477a6b0fcbf9dd1e8ef37c643b.tar.gz akka-serial-23959966760174477a6b0fcbf9dd1e8ef37c643b.tar.bz2 akka-serial-23959966760174477a6b0fcbf9dd1e8ef37c643b.zip |
Rename project to akka-serial
Diffstat (limited to 'flow-core/src/test/scala/ch/jodersky/flow/PseudoTerminal.scala')
-rw-r--r-- | flow-core/src/test/scala/ch/jodersky/flow/PseudoTerminal.scala | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/flow-core/src/test/scala/ch/jodersky/flow/PseudoTerminal.scala b/flow-core/src/test/scala/ch/jodersky/flow/PseudoTerminal.scala deleted file mode 100644 index 8e891ae..0000000 --- a/flow-core/src/test/scala/ch/jodersky/flow/PseudoTerminal.scala +++ /dev/null @@ -1,43 +0,0 @@ -package ch.jodersky.flow - -import java.io.{File, IOException} -import java.nio.file.Files - -import scala.concurrent.duration._ -import scala.sys.process._ -import scala.util.control.NonFatal - -trait PseudoTerminal { - - final val SetupTimeout = 100.milliseconds - - def withEcho[A](action: (String, SerialSettings) => A): A = { - val dir = Files.createTempDirectory("flow-pty").toFile - val pty = new File(dir, "pty") - - val socat = try { - val s = Seq( - "socat", - "-d -d", - s"exec:cat,pty,raw,b115200,echo=0", - s"pty,raw,b115200,echo=0,link=${pty.getAbsolutePath}" - ).run(ProcessLogger(println(_)), false) - Thread.sleep(SetupTimeout.toMillis) // allow ptys to set up - s - } catch { - case NonFatal(ex) => - throw new IOException( - "Error running echo service, make sure the program 'socat' is installed", ex) - } - - try { - val result = action(pty.getAbsolutePath, SerialSettings(baud = 115200)) - Thread.sleep(SetupTimeout.toMillis) // allow for async cleanup before destroying ptys - result - } finally { - socat.destroy() - dir.delete() - } - } - -} |