Skip to content

Hyperkit's go api could not create console on stdio. #325

Open
@hotgake

Description

@hotgake

Could not create console on stdio with ConsoleStdio or StdioInteractiveConsole

Case 1. StdioInteractiveConsole

If I set the value of Serial.InteractiveConsole to StdioInteractiveConsole to create console on stdio, it return an error:
If StdioInteractiveConsole is set, stdio must be a TTY.

Unlike the description of the error, this error occurs when isTerminal() condition returns true. That is, although stdio is a tty, error occurs.

if isTerminal(os.Stdout) {
  return errors.New("If StdioInteractiveConsole is set, stdio must be a TTY")
}

Case 2. ConsoleStdio

If I set the value of Hyperkit.Console (without Serial) field to ConsoleStdio and call run(), an error occurs: exec: Stdout already set.

With stdio console, cmd.Stdout is set to os.Stdout (cmd.Stdout = os.Stdout). But the next line, cmd.StdoutPipe() method is called and the method return error when cmd.Stdout is not nil.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions