|
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; |
Mit UnixPipes.Spawn3 wird ein Programm so
gestartet, daß die Standard-Eingabe, Standard-Ausgabe
und die Standard-Fehlerausgabe des neuen Prozesses
mit dem aufrufenden Prozess verbunden sind.
| |
Pipes sind unter UNIX unidirektionale Kommunikationskanäle
zwischen Prozessen.
| |
Auf der Kommandozeile werden sie mit einem senkrechten Strich
konstruiert. Beispiel: ls /usr/bin | grep cal |
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005 |