From 413d30f541faee70593d386f9be571d27e53b96d Mon Sep 17 00:00:00 2001 From: Will Estes Date: Thu, 12 Jun 2014 19:22:42 -0400 Subject: refactor prefix_r test for new test suite layout --- tests/.gitignore | 4 +- tests/Makefile.am | 7 +++- tests/prefix_r.l | 83 +++++++++++++++++++++++++++++++++++++++++ tests/prefix_r.txt | 1 + tests/test-prefix-r/.gitignore | 7 ---- tests/test-prefix-r/Makefile.am | 49 ------------------------ tests/test-prefix-r/README | 2 - tests/test-prefix-r/scanner.l | 83 ----------------------------------------- tests/test-prefix-r/test.input | 1 - 9 files changed, 92 insertions(+), 145 deletions(-) create mode 100644 tests/prefix_r.l create mode 100644 tests/prefix_r.txt delete mode 100644 tests/test-prefix-r/.gitignore delete mode 100644 tests/test-prefix-r/Makefile.am delete mode 100644 tests/test-prefix-r/README delete mode 100644 tests/test-prefix-r/scanner.l delete mode 100644 tests/test-prefix-r/test.input diff --git a/tests/.gitignore b/tests/.gitignore index d5afa67..1002a28 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -43,4 +43,6 @@ noansi_r.c posix posix.c prefix_nr -prefix_nr.c \ No newline at end of file +prefix_nr.c +prefix_r +prefix_r.c diff --git a/tests/Makefile.am b/tests/Makefile.am index 2cdb493..06036e9 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -46,7 +46,8 @@ check_PROGRAMS = \ noansi_nr \ noansi_r \ posix \ - prefix_nr + prefix_nr \ + prefix_r alloc_extra_SOURCES = alloc_extra.l array_nr_SOURCES = array_nr.l @@ -68,6 +69,7 @@ noansi_nr_SOURCES = noansi_nr.l noansi_r_SOURCES = noansi_r.l posix_SOURCES = posix.l prefix_nr_SOURCES = prefix_nr.l +prefix_r_SOURCES = prefix_r.l BUILT_SOURCES = \ bison_nr_scanner.h \ @@ -105,7 +107,8 @@ basic_nr.txt \ mem_r.txt \ noansi_nr.txt \ noansi_r.txt \ - prefix_nr.txt + prefix_nr.txt \ + prefix_r.txt # specify how to process .l files in order to test the flex built by make all diff --git a/tests/prefix_r.l b/tests/prefix_r.l new file mode 100644 index 0000000..848ac3e --- /dev/null +++ b/tests/prefix_r.l @@ -0,0 +1,83 @@ +/* + * 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. + */ + +%{ +/* Builds "scanner.c". */ +/* The scanner itself is a no-op. A successful compilation is all we want. */ +#include +#include +#include "config.h" + +%} +%option reentrant +%option 8bit prefix="FOO" +%option nounput nomain noyywrap +%option warn + + +%% + + +.|\n|\r { + + /* Compile, but do not execute the following code. */ + if( 0 ) { + FOO_create_buffer( (FILE*)0, 0, yyscanner); + FOO_delete_buffer( (YY_BUFFER_STATE)0, yyscanner); + FOO_flush_buffer( (YY_BUFFER_STATE)0, yyscanner); + FOO_init_buffer( (YY_BUFFER_STATE)0, (FILE*)0, yyscanner); + FOO_load_buffer_state( yyscanner); + FOO_scan_buffer( (char*)0, (yy_size_t)0, yyscanner); + FOO_scan_bytes( (yyconst char*)0, 0, yyscanner); + FOO_scan_string( (yyconst char*)0, yyscanner); + FOO_switch_to_buffer( (YY_BUFFER_STATE)0, yyscanner); + FOOrestart( (FILE*)0, (yyscan_t )0); + + FOOget_extra( (yyscan_t )0 ); + FOOget_in( (yyscan_t )0 ); + FOOget_leng( (yyscan_t )0 ); + FOOget_out( (yyscan_t )0 ); + FOOget_text( (yyscan_t )0 ); + FOOlex( (yyscan_t )0 ); + FOOlex_destroy( (yyscan_t )0 ); + FOOlex_init( (yyscan_t *)0 ); + FOOset_extra( (void *)0, (yyscan_t )0 ); + FOOset_in( (FILE*)0, (yyscan_t )0 ); + FOOset_out( (FILE*)0, (yyscan_t )0 ); + } + } +%% + +int main(void); + +int +main () +{ + yyscan_t scanner; + FOOlex_init( &scanner); + FOOlex( scanner); + FOOlex_destroy( scanner); + printf( "TEST RETURNING OK.\n"); + return 0; +} + diff --git a/tests/prefix_r.txt b/tests/prefix_r.txt new file mode 100644 index 0000000..0e6c88f --- /dev/null +++ b/tests/prefix_r.txt @@ -0,0 +1 @@ +Dummy input. diff --git a/tests/test-prefix-r/.gitignore b/tests/test-prefix-r/.gitignore deleted file mode 100644 index eb782b4..0000000 --- a/tests/test-prefix-r/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -Makefile -Makefile.in -parser.c -parser.h -scanner.c -test-prefix-r -OUTPUT diff --git a/tests/test-prefix-r/Makefile.am b/tests/test-prefix-r/Makefile.am deleted file mode 100644 index 1021029..0000000 --- a/tests/test-prefix-r/Makefile.am +++ /dev/null @@ -1,49 +0,0 @@ -# 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. - - -FLEX = $(top_builddir)/flex - -EXTRA_DIST = scanner.l test.input -CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) -OBJS = scanner.o # parser.o - -AM_CPPFLAGS = -I$(srcdir) -I$(top_srcdir) -I$(top_builddir) -#LDFLAGS = $(top_srcdir)/libfl.a -#LFLAGS = --header="scanner.h" -#YFLAGS = --defines --output=parser.c - -testname = test-prefix-r - -scanner.c: $(srcdir)/scanner.l - $(FLEX) $(LFLAGS) $< - -parser.c: $(srcdir)/parser.y - $(BISON) $(YFLAGS) $< - -$(testname)$(EXEEXT): $(OBJS) - $(CC) $(CFLAGS) -o $@ $(LDFLAGS) $(OBJS) $(LOADLIBES) - -test: $(testname)$(EXEEXT) - ./$(testname)$(EXEEXT) < $(srcdir)/test.input - -.c.o: - $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< diff --git a/tests/test-prefix-r/README b/tests/test-prefix-r/README deleted file mode 100644 index 91f75c9..0000000 --- a/tests/test-prefix-r/README +++ /dev/null @@ -1,2 +0,0 @@ -This check is to make sure the prefix "yy" is substituted where it should be. - diff --git a/tests/test-prefix-r/scanner.l b/tests/test-prefix-r/scanner.l deleted file mode 100644 index 4c25982..0000000 --- a/tests/test-prefix-r/scanner.l +++ /dev/null @@ -1,83 +0,0 @@ -/* - * 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. - */ - -%{ -/* Builds "scanner.c". */ -/* The scanner itself is a no-op. A successful compilation is all we want. */ -#include -#include -#include "config.h" - -%} -%option reentrant -%option 8bit outfile="scanner.c" prefix="FOO" -%option nounput nomain noyywrap -%option warn - - -%% - - -.|\n|\r { - - /* Compile, but do not execute the following code. */ - if( 0 ) { - FOO_create_buffer( (FILE*)0, 0, yyscanner); - FOO_delete_buffer( (YY_BUFFER_STATE)0, yyscanner); - FOO_flush_buffer( (YY_BUFFER_STATE)0, yyscanner); - FOO_init_buffer( (YY_BUFFER_STATE)0, (FILE*)0, yyscanner); - FOO_load_buffer_state( yyscanner); - FOO_scan_buffer( (char*)0, (yy_size_t)0, yyscanner); - FOO_scan_bytes( (yyconst char*)0, 0, yyscanner); - FOO_scan_string( (yyconst char*)0, yyscanner); - FOO_switch_to_buffer( (YY_BUFFER_STATE)0, yyscanner); - FOOrestart( (FILE*)0, (yyscan_t )0); - - FOOget_extra( (yyscan_t )0 ); - FOOget_in( (yyscan_t )0 ); - FOOget_leng( (yyscan_t )0 ); - FOOget_out( (yyscan_t )0 ); - FOOget_text( (yyscan_t )0 ); - FOOlex( (yyscan_t )0 ); - FOOlex_destroy( (yyscan_t )0 ); - FOOlex_init( (yyscan_t *)0 ); - FOOset_extra( (void *)0, (yyscan_t )0 ); - FOOset_in( (FILE*)0, (yyscan_t )0 ); - FOOset_out( (FILE*)0, (yyscan_t )0 ); - } - } -%% - -int main(void); - -int -main () -{ - yyscan_t scanner; - FOOlex_init( &scanner); - FOOlex( scanner); - FOOlex_destroy( scanner); - printf( "TEST RETURNING OK.\n"); - return 0; -} - diff --git a/tests/test-prefix-r/test.input b/tests/test-prefix-r/test.input deleted file mode 100644 index 0e6c88f..0000000 --- a/tests/test-prefix-r/test.input +++ /dev/null @@ -1 +0,0 @@ -Dummy input. -- cgit v1.2.3