|
PROCEDURE RunTestCase(VAR test: TestCase) : BOOLEAN; VAR stdin, stdout, stderr: Streams.Stream; BEGIN IF ~UnixPipes.Spawn3("./Triangles", Streams.linebuf, stdin, stdout, stderr, NIL) THEN RETURN FALSE END; Write.LineS(stdin, test.input); Streams.Release(stdin); Read.LineS(stdout, test.output); Streams.Release(stdout); Streams.Release(stderr); RETURN test.output = test.expected END RunTestCase; |
Zu beachten ist hier, daß die Bezeichnungen
stdin, stdout und stderr aus der
Sicht des aufgerufenen Programms so benannt sind.
| |
Entsprechend wird bei der Prozedur RunTestCase
auf stdin geschrieben und diese Ausgabe erscheint
dann als Eingabe beim aufgerufenen Programm.
| |
Die Ausgabe von Triangles kann dann danach
von stdout gelesen werden.
| |
Die Fehlerausgabe stderr wird hier nicht
weiter ausgewertet.
|
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005 |