1 /*
2 * This file is part of flex.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 *
14 * Neither the name of the University nor the names of its contributors
15 * may be used to endorse or promote products derived from this software
16 * without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
19 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
20 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 * PURPOSE.
22 */
23
24 #include <assert.h>
25
26 #include "top.h"
27
28 /* The scanner itself is not important here.
29 * We simply try to use all the functions that are exported in the
30 * header, to see if we get any compiler warnings.
31 */
32 int
main(int argc,char ** argv)33 main ( int argc, char** argv )
34 {
35 (void)argc;
36 (void)argv;
37
38 yyscan_t scanner;
39 FILE *fp;
40 char * extra = "EXTRA";
41
42 testlex_init(&scanner);
43 testset_in(stdin,scanner);
44 testset_out(stdout,scanner);
45 testset_extra(extra,scanner);
46
47 fp = testget_in(scanner);
48 assert(fp == stdin);
49 fp = testget_out(scanner);
50 assert(fp == stdout);
51
52 while(testlex(scanner)) {
53 char * text;
54 int line;
55 line = testget_lineno(scanner);
56 text = testget_text(scanner);
57
58 if( (char*)testget_extra(scanner) != extra)
59 break;
60
61 if ( !text || line < 0)
62 continue;
63 }
64 testlex_destroy(scanner);
65 printf("TEST RETURNING OK.\n");
66 return 0;
67 }
68