22535289 libffi Makefile says NO_TESTS but it's wrong
authorRich Burridge <rich.burridge@oracle.com>
Wed, 13 Jan 2016 10:30:45 -0800
changeset 5266 028461eee75e
parent 5265 444c51b844e7
child 5267 42a22f73f3bc
22535289 libffi Makefile says NO_TESTS but it's wrong 22540618 "gmake test" failure for libffi
components/libffi/Makefile
components/libffi/patches/fix-testsuite-failure.patch
components/libffi/test/results-all.master
--- 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
[email protected]@ -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