Fix test configuration for nodejs.

This commit is contained in:
Oliver Buchtala 2013-09-26 04:13:32 +02:00
commit 7adf93ef0f
4 changed files with 18 additions and 8 deletions

View file

@ -80,11 +80,11 @@ _setup = \
echo "$(ACTION)ing testcase $* under javascript ($(JSENGINE))" ; \ echo "$(ACTION)ing testcase $* under javascript ($(JSENGINE))" ; \
fi; fi;
ifeq (v8,$(ENGINE)) ifneq (jsc,$(ENGINE))
# This test can not be run with v8 as it uses v8 API incompatible output typemaps # This test can not be run with v8 as it uses v8 API incompatible output typemaps
typemap_variables.cpptest: typemap_variables.cpptest:
echo "skipping testcase typemap_variables under javascript (v8)." echo "skipping testcase typemap_variables under javascript ($(JSENGINE))."
# with v8 we have to generate C++ wrappers only # with v8 we have to generate C++ wrappers only
# these tests did raise warnings which are ignored # these tests did raise warnings which are ignored
@ -98,8 +98,18 @@ ifeq (node,$(JSENGINE))
SWIGOPT += -v8 -DBUILDING_NODE_EXTENSION=1 SWIGOPT += -v8 -DBUILDING_NODE_EXTENSION=1
# shut up some warnings
# contract macro has an empty 'else' at the end...
aggregate.cpptest: GYP_CFLAGS = \"-Wno-empty-body\"
contract_wrap.cpptest: GYP_CFLAGS = \"-Wno-empty-body\"
# dunno... ignoring generously
apply_signed_char.cpptest: GYP_CFLAGS = \"Wno-ignored-qualifiers\"
constant_pointers.cpptest: GYP_CFLAGS = \"Wno-ignored-qualifiers\"
enum_thorough.cpptest: GYP_CFLAGS = \"-Wno-ignored-qualifiers\"
__setup = \ __setup = \
sh ./setup_test.sh $*; \ sh ./setup_test.sh $* $(GYP_CFLAGS); \
$(SWIG) -c++ -javascript $(SWIGOPT) ../$*.i; $(SWIG) -c++ -javascript $(SWIGOPT) ../$*.i;
nodejs_swig_and_compile = \ nodejs_swig_and_compile = \
@ -124,9 +134,6 @@ ifeq (node,$(JSENGINE))
%.multicpptest: %.multicpptest:
$(_setup) $(_setup)
$(__setup)
$(nodejs_swig_and_compile)
$(run_testcase)
else else
@ -171,3 +178,4 @@ clean:
rm -f *_wrap.cxx rm -f *_wrap.cxx
rm -f *_wrap.c rm -f *_wrap.c
rm -f *.so rm -f *.so
rm -f *.o

View file

@ -1,4 +1,4 @@
var char_strings = require("char_strings"); var char_strings = require("./char_strings");
var assertIsEqual = function(expected, actual) { var assertIsEqual = function(expected, actual) {
if (expected !== actual) { if (expected !== actual) {

View file

@ -18,6 +18,8 @@
], ],
['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"',
{ {
'cflags': [ "-Wno-unused-variable", "-Wno-unused-but-set-variable", "-Wno-unused-but-set-parameter", $cflags],
'cflags_cc': [ "-Wno-unused-variable", "-Wno-unused-but-set-variable", "-Wno-unused-but-set-parameter", $cflags],
'cflags!': [ '-fno-exceptions' ], 'cflags!': [ '-fno-exceptions' ],
'cflags_cc!': [ '-fno-exceptions', '-fno-rtti' ] 'cflags_cc!': [ '-fno-exceptions', '-fno-rtti' ]
} }

View file

@ -2,5 +2,5 @@
if [ ! -d $1 ]; then if [ ! -d $1 ]; then
mkdir $1; mkdir $1;
fi fi
sed s/\$testcase/$1/ node_template/binding.gyp.in > $1/binding.gyp sed -e "s/\$testcase/$1/" -e "s/\$cflags/$2/" < node_template/binding.gyp.in > $1/binding.gyp
sed s/\$testcase/$1/ node_template/index.js.in > $1/index.js sed s/\$testcase/$1/ node_template/index.js.in > $1/index.js