I'd like to run the unit tests and regression tests
(/pgadmin3/xtra/pgscript/test), against our hacked grammar (that is,
our newly generated CPP files that have the additional includes). I
seem to be having much the same problems building them as PgAdmin
itself.
In file included from ./pgsTestExpressionCast.cpp:16:0:
pgscript/pgsParser.yy:110:2: error: ‘pgsStmt’ does not name a type
pgscript/pgsParser.yy:111:2: error: ‘pgsStmtList’ does not name a type
./pgsTestExpressionCast.cpp: In member function ‘void
pgsTestSuite::test_expression_cast()’:
./pgsTestExpressionCast.cpp:21:2: error: ‘pgsCast’ was not declared in
this scope
./pgsTestExpressionCast.cpp:21:12: error: ‘cast’ was not declared in this scope
./pgsTestExpressionCast.cpp:29:43: error: invalid use of incomplete
type ‘struct pgsNumber’
** SNIP **
I performed my usual hack, and get includes from pgsParser.yy:
#include "pgscript/pgScript.h" // not actually needed
#include "pgscript/statements/pgsStatements.h" // not actually needed
#include "pgscript/expressions/pgsExpressions.h" // needed
#include "pgscript/objects/pgsObjects.h" // needed
#include "pgscript/utilities/pgsContext.h" // needed
and the TU compiles.
I now get a linker error: make: *** No rule to make target
`../lib/libpgs.a', needed by `pgsTest'. Stop.
What's libpgs? Presumably it's the PgScript library, but it doesn't
appear to be available from anywhere.
Should I give up on doing anything with the grammar for now? My
inclination is to try and tackle the problem, and just don't address
OGL issues in this initial patch.
--
Regards,
Peter Geoghegan