Re: Help with new test case.

Kaz Kylheku <[email protected]>
Newsgroups gmane.comp.parsers.bison.bugs
Message-ID <[email protected]>
On 2020-09-05 00:59, Kaz Kylheku wrote:
> Hi,
> 
> I'm trying to add a test case in the form of a new entry in examples/c.

I moved all the build rules into local.mk, and got it to work.

> 'examples/c/buildscenario/buildscenario.c', needed by
> 'examples/c/buildscenario/examples_c_buildscenario_buildscenario-buildscenario.o'.  Stop.

This seems to have been solved using:

    nodist_%C%_buildscenario_OBJECTS = %D%/y.tab.o %D%/main.o

The entire local.mk looks like this. It builds, and the executable
examples/c/buildscenario/buildscenario is produced.

Only problem is that when the test is executed, it fails.
If I add a "ls -l" to the test script, it shows that the temporary
test directory that it is running in such as /home/kaz/bison/22392.dir
is empty; the executable isn't being propagated into it.

I can't see what the other local.mk files are doing to bring that
about, that mine isn't.

local.mk follows.


buildscenariodir = $(docdir)/%D%

check_PROGRAMS += %D%/buildscenario

dist_buildscenario_DATA = %D%/parser.y %D%/parser.h %D%/main.c 
%D%/Makefile %D%
nodist_%C%_buildscenario_SOURCES = %D%/parse.y %D%/main.c %D%/parse.h
nodist_%C%_buildscenario_OBJECTS = %D%/y.tab.o %D%/main.o

TESTS += %D%/buildscenario.test
EXTRA_DIST += %D%/buildscenario.test

CLEANDIRS += %D%/*.dSYM
CLEANFILES += $(%C%_buildscenario_buildscenario_OBJECTS)

buildscenario_CPPFLAGS =
buildscenario_CFLAGS = $(TEST_CFLAGS) \
                        -W -Wall -ansi -pedantic \
                        -Werror=implicit-function-declaration \
                        -Werror=missing-prototypes \
                        -Werror=strict-prototypes

buildscenario_BISON = bison --yacc
buildscenario_BISONFLAGS = -Wno-deprecated

%D%/y.tab.c: %D%/parser.y
         $(buildscenario_BISON) $(buildscenario_BISONFLAGS) -v -d $<
         @# workaround for Bison 3.x: yyparse declared in y.tab.h
         sed -e /yyparse/d < y.tab.h > y.tab.h.tmp
         mv y.tab.h.tmp %D%/y.tab.h
         mv y.tab.c %D%/y.tab.c
         mv y.output %D%/y.output

%D%/main.o: %D%/parser.h

%D%/y.tab.o: %D%/parser.h %D%/y.tab.h
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.