diff options
Diffstat (limited to 'tests/test-table-opts')
-rw-r--r-- | tests/test-table-opts/Makefile.am | 132 | ||||
-rw-r--r-- | tests/test-table-opts/scanner.l | 82 | ||||
-rw-r--r-- | tests/test-table-opts/test.input | 2 |
3 files changed, 0 insertions, 216 deletions
diff --git a/tests/test-table-opts/Makefile.am b/tests/test-table-opts/Makefile.am deleted file mode 100644 index 235e6c8..0000000 --- a/tests/test-table-opts/Makefile.am +++ /dev/null @@ -1,132 +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. - -# ------------------------------------------------ -# This test is really a set of tests, one for -# each compression flag. -Ca, -Cem, etc.. -# 'test-opt' builds non-serialized scanners with various table options. -# 'test-ver' verifies that the serialized tables match the in-code tables. -# 'test-ser' deserializes the tables at runtime. -# 'test-mul' checks that we can store multiple tables in a single file. -# ------------------------------------------------ - -FLEX = $(top_builddir)/flex - -testname := test-table-opts -allopts := -Ca -Ce -Cf -CF -Cm -Cem -Cae -Caef -CaeF -Cam -Caem - -# the test names themselves -opttests := $(foreach opt,$(allopts), test-opt-nr$(opt) test-opt-r$(opt)) -sertests := $(foreach opt,$(allopts), test-ser-nr$(opt) test-ser-r$(opt)) -vertests := $(foreach opt,$(allopts), test-ver-nr$(opt) test-ver-r$(opt)) -alltests := $(opttests) $(vertests) $(sertests) test-mul - -# the executables to build -optexe := $(addsuffix $(EXEEXT),$(opttests)) -verexe := $(addsuffix $(EXEEXT),$(vertests)) -serexe := $(addsuffix $(EXEEXT),$(sertests)) -allexe := $(optexe) $(verexe) $(serexe) - -# the .c files -optsrc := $(addsuffix .c,$(opttests)) -versrc := $(addsuffix .c,$(vertests)) -sersrc := $(addsuffix .c,$(sertests)) -allsrc := $(optsrc) $(versrc) $(sersrc) - -# the .o files -optobj := $(addsuffix .o,$(opttests)) -verobj := $(addsuffix .o,$(vertests)) -serobj := $(addsuffix .o,$(sertests)) -allobj := $(optobj) $(verobj) $(serobj) - -# the .tables files -sertables := $(addsuffix .tables,$(sertests)) -alltables := $(addsuffix .tables,$(alltests)) - -EXTRA_DIST = scanner.l test.input -CLEANFILES = scanner.c OUTPUT $(allobj) $(allsrc) $(alltables) \ - all-ser.tables $(allexe) -AM_CPPFLAGS = -I$(srcdir) -I$(top_srcdir) -I$(top_builddir) - -test: test-opt test-ser test-ver test-mul - -test-opt-r%.c: $(srcdir)/scanner.l - $(FLEX) -L -P $(subst -,_,$(basename $(@F))) --reentrant $* -o $@ $< - -test-opt-nr%.c: $(srcdir)/scanner.l - $(FLEX) -L -P $(subst -,_,$(basename $(@F))) $* -o $@ $< - -test-ser-r%.c: $(srcdir)/scanner.l - $(FLEX) -L -P $(subst -,_,$(basename $(@F))) -R --tables-file="test-ser-r$*.tables" $* -o $@ $< - -test-ser-nr%.c: $(srcdir)/scanner.l - $(FLEX) -L -P $(subst -,_,$(basename $(@F))) --tables-file="test-ser-nr$*.tables" $* -o $@ $< - -test-ver-r%.c: $(srcdir)/scanner.l - $(FLEX) -L -P $(subst -,_,$(basename $(@F))) -R --tables-file="test-ver-r$*.tables" --tables-verify $* -o $@ $< - -test-ver-nr%.c: $(srcdir)/scanner.l - $(FLEX) -L -P $(subst -,_,$(basename $(@F))) --tables-file="test-ver-nr$*.tables" --tables-verify $* -o $@ $< - -test-opt%$(EXEEXT): test-opt%.o - $(CC) $(CFLAGS) -o $@ $(LDFLAGS) $< $(LOADLIBES) - -test-ser%$(EXEEXT): test-ser%.o - $(CC) $(CFLAGS) -o $@ $(LDFLAGS) $< $(LOADLIBES) - -test-ver%$(EXEEXT): test-ver%.o - $(CC) $(CFLAGS) -o $@ $(LDFLAGS) $< $(LOADLIBES) - -test-opt: $(optexe) - for t in $(optexe) ; do \ - ./$$t `basename $$t $(EXEEXT)`.tables < $(srcdir)/test.input \ - || { echo $t FAILED ; exit 1 ; } ; \ - done - -test-ver: $(verexe) - for t in $(verexe) ; do \ - ./$$t `basename $$t $(EXEEXT)`.tables < $(srcdir)/test.input \ - || { echo $t FAILED ; exit 1 ; } ; \ - done - -test-ser: $(serexe) - for t in $(serexe) ; do \ - ./$$t `basename $$t $(EXEEXT)`.tables < $(srcdir)/test.input \ - || { echo $t FAILED ; exit 1 ; } ; \ - done - -test-mul: $(serexe) - $(RM) all-ser.tables - cat $(sertables) > all-ser.tables - for t in $(serexe) ; do \ - ./$$t all-ser.tables < $(srcdir)/test.input || { echo $$t FAILED; exit 1; } ; \ - done - -test-opt-nr-%.o: test-opt-nr-%.c ; $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< -test-ser-nr-%.o: test-ser-nr-%.c ; $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) -DTEST_HAS_TABLES_EXTERNAL $(CFLAGS) $< -test-ver-nr-%.o: test-ver-nr-%.c ; $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) -DTEST_HAS_TABLES_EXTERNAL $(CFLAGS) $< - -test-opt-r-%.o: test-opt-r-%.c ; $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) -DTEST_IS_REENTRANT $(CFLAGS) $< -test-ser-r-%.o: test-ser-r-%.c ; $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) -DTEST_HAS_TABLES_EXTERNAL -DTEST_IS_REENTRANT $(CFLAGS) $< -test-ver-r-%.o: test-ver-r-%.c ; $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) -DTEST_HAS_TABLES_EXTERNAL -DTEST_IS_REENTRANT $(CFLAGS) $< - -.PHONY: test test-opt test-ser test-ver test-mul -.SECONDARY: $(allobj) $(allsrc) diff --git a/tests/test-table-opts/scanner.l b/tests/test-table-opts/scanner.l deleted file mode 100644 index 3ad6199..0000000 --- a/tests/test-table-opts/scanner.l +++ /dev/null @@ -1,82 +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. - */ - -%{ -/* A template scanner file to build "scanner.c". */ -#include <stdio.h> -#include <stdlib.h> -#include "config.h" -%} - -%option 8bit -%option nounput nomain noyywrap -%option warn yylineno - - - -%% - -foo|bar ; -[[:digit:]]+ ; -[[:blank:]]+ ; -.|\n ; -%% - -int main ( int argc, char** argv ) -{ - FILE* fp = NULL; - void *yyscanner=0; - M4_YY_DECL_GUTS_VAR(); - -#ifdef TEST_IS_REENTRANT - yylex_init(&yyscanner); -#endif - -#ifdef TEST_HAS_TABLES_EXTERNAL - if((fp = fopen(argv[1],"r"))== NULL) - YY_FATAL_ERROR("could not open tables file for reading"); - - if(yytables_fload(fp M4_YY_CALL_LAST_ARG) < 0) - YY_FATAL_ERROR("yytables_fload returned < 0"); - if(M4_YY_TABLES_VERIFY) - exit(0); -#endif - - if(argc > 2){ - if((fp = fopen(argv[2],"r"))== NULL) - YY_FATAL_ERROR("could not open input file for reading"); - yyin = fp; - } - while(yylex(M4_YY_CALL_ONLY_ARG) != 0) - ; - -#ifdef TEST_HAS_TABLES_EXTERNAL - yytables_destroy(M4_YY_CALL_ONLY_ARG); -#endif - yylex_destroy(M4_YY_CALL_ONLY_ARG); - - if(argc < 0) /* silence the compiler */ - yyscanner = (void*)fp; - - return 0; -} diff --git a/tests/test-table-opts/test.input b/tests/test-table-opts/test.input deleted file mode 100644 index aec9276..0000000 --- a/tests/test-table-opts/test.input +++ /dev/null @@ -1,2 +0,0 @@ -0000 foo 1111 foo 0000 bar foobar -0000 foo 1111 foo 0000 bar foobar |