stop test from hanging during blocking method call.

This commit is contained in:
ghidraffe
2026-02-11 10:01:45 -05:00
parent 069b90f507
commit 1e90694f91
@@ -16,6 +16,7 @@
package ghidra.pty.windows;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
@@ -69,16 +70,28 @@ public class ConPtyTest extends AbstractPtyTest {
writer.println("echo test");
writer.flush();
String line;
do {
line = reader.readLine();
}
while (!"test".equals(line));
// set up reading cmd output on a thread since "readLine" is blocking
Thread t = new Thread(() -> {
String line;
try {
do {
line = reader.readLine();
}
while (!"test".equals(line));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
});
t.setDaemon(true);
t.start();
writer.println("exit 3");
writer.flush();
assertEquals(3, cmd.waitExited());
assertFalse("Content read successfully from the cmd", t.isAlive());
}
}