diff options
author | Manoj Srivastava <srivasta@debian.org> | 2016-07-29 18:07:24 -0700 |
---|---|---|
committer | Manoj Srivastava <srivasta@debian.org> | 2016-07-29 18:07:24 -0700 |
commit | f1d010bed8760aa87f9c72eded97d4d9b98cc620 (patch) | |
tree | 439628ed03b3b68404b7198883f993d1ef2b6753 /tests/top_main.c |
Import flex_2.6.1.orig.tar.gz
[dgit import orig flex_2.6.1.orig.tar.gz]
Diffstat (limited to 'tests/top_main.c')
-rw-r--r-- | tests/top_main.c | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/top_main.c b/tests/top_main.c new file mode 100644 index 0000000..b273214 --- /dev/null +++ b/tests/top_main.c @@ -0,0 +1,67 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +#include <assert.h> + +#include "top.h" + +/* The scanner itself is not important here. + * We simply try to use all the functions that are exported in the + * header, to see if we get any compiler warnings. + */ +int +main ( int argc, char** argv ) +{ + (void)argc; + (void)argv; + + yyscan_t scanner; + FILE *fp; + char * extra = "EXTRA"; + + testlex_init(&scanner); + testset_in(stdin,scanner); + testset_out(stdout,scanner); + testset_extra(extra,scanner); + + fp = testget_in(scanner); + assert(fp == stdin); + fp = testget_out(scanner); + assert(fp == stdout); + + while(testlex(scanner)) { + char * text; + int line; + line = testget_lineno(scanner); + text = testget_text(scanner); + + if( (char*)testget_extra(scanner) != extra) + break; + + if ( !text || line < 0) + continue; + } + testlex_destroy(scanner); + printf("TEST RETURNING OK.\n"); + return 0; +} |