|
|
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 |