From what you did post, the InputProcessing()
line would deadlock, because it is writing a lot of data to tempStdout, while noone is reading it.
I would instead do something like
out := new(bytes.Buffer)
InputProcessing(strings.NewReader(s), out)
observed := out.String()