/** * @return true if the command is running in foreground */ public boolean isForeground() { boolean ret = delegate.isForeground(); return ret; }
/** * @return true if the command is running in foreground */ public boolean isForeground() { boolean ret = delegate.isForeground(); return ret; }
commands.add(CommandBuilder.command("foo").processHandler(process -> { Job job = shell.jobController().getJob(1); context.assertTrue(process.isForeground()); process.suspendHandler(v -> { context.assertFalse(process.isForeground()); context.assertEquals(0L, latch1.getCount()); try { }); process.resumeHandler(v -> { context.assertTrue(process.isForeground()); context.assertEquals(0L, latch2.getCount()); context.assertEquals(ExecStatus.RUNNING, job.status());
@Override public void testExec(TestContext context) throws Exception { AtomicReference<Vertx> execCommand = new AtomicReference<>(); CommandRegistry registry = CommandRegistry.getShared(vertx); registry.registerCommand(CommandBuilder.command("the-command").processHandler(process -> { context.assertNotNull(Vertx.currentContext()); context.assertNotNull(process.session()); execCommand.set(process.vertx()); context.assertEquals(-1, process.width()); context.assertEquals(-1, process.height()); context.assertEquals(Arrays.asList("arg1", "arg2"), process.args()); context.assertTrue(process.isForeground()); StringBuilder input = new StringBuilder(); process.stdinHandler(data -> { input.append(data); if (input.toString().equals("the_input")) { process.end(2); } }); process.write("the_output"); }).build(vertx)); super.testExec(context); assertEquals(execCommand.get(), vertx); } }
commands.add(CommandBuilder.command("foo").processHandler(process -> { Job job = shell.jobController().getJob(1); context.assertTrue(process.isForeground()); process.suspendHandler(v -> { context.assertFalse(process.isForeground()); context.assertEquals(0, latch1.count()); try { }); process.resumeHandler(v -> { context.assertFalse(process.isForeground()); context.assertEquals(0, latch2.count()); context.assertEquals(ExecStatus.RUNNING, job.status());
commands.add(CommandBuilder.command("foo").processHandler(process -> { process.suspendHandler(v -> { context.assertFalse(process.isForeground()); context.assertEquals(1, latch2.count()); latch2.countDown(); }); process.resumeHandler(v -> { context.assertFalse(process.isForeground()); }); process.foregroundHandler(v -> { context.assertTrue(process.isForeground()); latch3.countDown(); });