]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gm2/isolib/run/pass/testio2.mod
Merge modula-2 front end onto gcc.
[thirdparty/gcc.git] / gcc / testsuite / gm2 / isolib / run / pass / testio2.mod
1 (* Copyright (C) 2009 Free Software Foundation, Inc. *)
2 (* This file is part of GNU Modula-2.
3
4 GNU Modula-2 is free software; you can redistribute it and/or modify it under
5 the terms of the GNU General Public License as published by the Free
6 Software Foundation; either version 2, or (at your option) any later
7 version.
8
9 GNU Modula-2 is distributed in the hope that it will be useful, but WITHOUT ANY
10 WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 for more details.
13
14 You should have received a copy of the GNU General Public License along
15 with gm2; see the file COPYING. If not, write to the Free Software
16 Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *)
17
18 MODULE testio2 ;
19
20 FROM TextIO IMPORT ReadString, ReadRestLine, ReadToken, SkipLine ;
21 FROM SeqFile IMPORT OpenResults, ChanId, OpenRead, read ;
22 FROM IOConsts IMPORT ReadResults ;
23 FROM Strings IMPORT Length ;
24 FROM libc IMPORT exit, printf ;
25
26 VAR
27 c: ChanId ;
28 r: OpenResults ;
29 s: ARRAY [0..80] OF CHAR ;
30 BEGIN
31 OpenRead(c, 'testinput', read, r) ;
32 ReadString(c, s) ;
33 IF Length(s)#Length('this is a line of text')
34 THEN
35 printf("failed reading first string\n") ;
36 exit(1)
37 END ;
38 ReadString(c, s) ;
39 IF Length(s)#0
40 THEN
41 printf("failed reading second string\n") ;
42 exit(2)
43 END ;
44 SkipLine(c) ;
45 ReadToken(c, s) ;
46 IF Length(s)#Length('some')
47 THEN
48 printf("failed reading third string\n") ;
49 printf("should have only read 'some' and we read '%s' instead\n", s) ;
50 exit(3)
51 END
52 END testio2.