Ein Testwerkzeug V

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

TriangleTester.om
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.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005