22535289 libffi Makefile says NO_TESTS but it's wrong
22540618 "gmake test" failure for libffi
--- a/components/libffi/Makefile Wed Jan 13 10:21:51 2016 -0800
+++ b/components/libffi/Makefile Wed Jan 13 10:30:45 2016 -0800
@@ -43,6 +43,16 @@
CC += $(CC_BITS)
+COMPONENT_TEST_DIR = $(@D)/testsuite
+COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
+
+COMPONENT_TEST_TRANSFORMS += \
+ '-e "s|^Test Run By.*$$|XXX_REMOVE_XXX|g" ' \
+ '-e "s|^Native configuration is.*$$|XXX_REMOVE_XXX|g" ' \
+ '-e "s|^make.*: Leaving directory.*$$|XXX_REMOVE_XXX|g" ' \
+ '-e "s|^make.*: Entering directory.*$$|XXX_REMOVE_XXX|g" ' \
+ '-e "/^XXX_REMOVE_XXX$$/d" '
+
CFLAGS += -DFFI_MMAP_EXEC_WRIT=1
CONFIGURE_OPTIONS += --enable-raw-api=no
@@ -56,7 +66,7 @@
install: $(INSTALL_32_and_64)
-test: $(NO_TESTS)
+test: $(TEST_32_and_64)
system-test: $(NO_TESTS)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libffi/patches/fix-testsuite-failure.patch Wed Jan 13 10:30:45 2016 -0800
@@ -0,0 +1,19 @@
+Fix the testsuite failure:
+FAIL: libffi.call/err_bad_abi.c -O0 -W -Wall (test for excess errors)
+
+This patch will be sent upstream.
+
+--- libffi-3.0.9/testsuite/libffi.call/err_bad_abi.c.orig 2016-01-13 09:44:54.467493090 -0800
++++ libffi-3.0.9/testsuite/libffi.call/err_bad_abi.c 2016-01-13 09:45:29.667133485 -0800
+@@ -17,11 +17,9 @@
+ ffi_cif cif;
+ void *code;
+ ffi_closure *pcl = ffi_closure_alloc(sizeof(ffi_closure), &code);
+- void* args[1];
+ ffi_type* arg_types[1];
+
+ arg_types[0] = NULL;
+- args[0] = NULL;
+
+ CHECK(ffi_prep_cif(&cif, 255, 0, &ffi_type_void,
+ arg_types) == FFI_BAD_ABI);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libffi/test/results-all.master Wed Jan 13 10:30:45 2016 -0800
@@ -0,0 +1,33 @@
+/usr/gnu/bin/make check-DEJAGNU
+Making a new site.exp file...
+srcdir=`CDPATH="${ZSH_VERSION+.}:" && cd $(SOURCE_DIR)/testsuite && pwd`; export srcdir; \
+EXPECT=`if [ -f ../../expect/expect ] ; then echo ../../expect/expect ; else echo expect ; fi`; export EXPECT; \
+runtest=`if [ -f $(SOURCE_DIR)/../dejagnu/runtest ] ; then echo $(SOURCE_DIR)/../dejagnu/runtest ; else echo runtest; fi`; \
+if /bin/bash -c "$runtest --version" > /dev/null 2>&1; then \
+ exit_status=0; l='libffi'; for tool in $l; do \
+ if $runtest --tool $tool --srcdir $srcdir ; \
+ then :; else exit_status=1; fi; \
+ done; \
+else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+fi; \
+exit $exit_status
+WARNING: Couldn't find the global config file.
+WARNING: Couldn't find tool init file
+
+ === libffi tests ===
+
+Schedule of variations:
+ unix
+
+Running target unix
+Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
+Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
+Using $(SOURCE_DIR)/testsuite/config/default.exp as tool-and-target-specific interface file.
+Running $(SOURCE_DIR)/testsuite/libffi.call/call.exp ...
+Running $(SOURCE_DIR)/testsuite/libffi.special/special.exp ...
+
+ === libffi Summary ===
+
+# of expected passes 1624
+# of expected failures 10
+# of unsupported tests 15