def test_run_gtp_session(tc): engine = gtp_engine.Gtp_engine_protocol() engine.add_protocol_commands() stream = "known_command list_commands\nxyzzy\nquit\n" command_pipe = test_support.Mock_reading_pipe(stream) response_pipe = test_support.Mock_writing_pipe() gtp_engine.run_gtp_session(engine, command_pipe, response_pipe) tc.assertMultiLineEqual(response_pipe.getvalue(), "= true\n\n? unknown command\n\n=\n\n") command_pipe.close() response_pipe.close()
def test_run_gtp_session_broken_pipe(tc): def break_pipe(args): response_pipe.simulate_broken_pipe() engine = gtp_engine.Gtp_engine_protocol() engine.add_protocol_commands() engine.add_command("break", break_pipe) stream = "known_command list_commands\nbreak\nquit\n" command_pipe = test_support.Mock_reading_pipe(stream) response_pipe = test_support.Mock_writing_pipe() with tc.assertRaises(gtp_engine.ControllerDisconnected) as ar: gtp_engine.run_gtp_session(engine, command_pipe, response_pipe) command_pipe.close() response_pipe.close()