From 8d027aaaef93a28711fe000da87a23c1c149badb Mon Sep 17 00:00:00 2001
From: emaste <emaste@FreeBSD.org>
Date: Mon, 17 Aug 2015 23:19:36 +0000
Subject: On arm64 disable three tests that hang or panic

Each issue has a PR open to track. This workaround allows us to run the
tests to investigate the failures and avoid any new regressions.

PR:		202304, 202305, 202307
Reviewed by:	ngie
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D3378
---
 lib/libc/tests/sys/Makefile   | 3 +++
 lib/libproc/tests/proc_test.c | 9 +++++++++
 lib/libutil/tests/Makefile    | 2 ++
 3 files changed, 14 insertions(+)

(limited to 'lib')

diff --git a/lib/libc/tests/sys/Makefile b/lib/libc/tests/sys/Makefile
index 89431bc..7ecf1d6 100644
--- a/lib/libc/tests/sys/Makefile
+++ b/lib/libc/tests/sys/Makefile
@@ -25,7 +25,10 @@ NETBSD_ATF_TESTS_C+=		kevent_test
 NETBSD_ATF_TESTS_C+=		kill_test
 NETBSD_ATF_TESTS_C+=		link_test
 NETBSD_ATF_TESTS_C+=		listen_test
+# On arm64 triggers panic ARM64TODO: pmap_mincore (PR202307).
+.if ${MACHINE_CPUARCH} != "aarch64"
 NETBSD_ATF_TESTS_C+=		mincore_test
+.endif
 NETBSD_ATF_TESTS_C+=		mkdir_test
 NETBSD_ATF_TESTS_C+=		mkfifo_test
 NETBSD_ATF_TESTS_C+=		mknod_test
diff --git a/lib/libproc/tests/proc_test.c b/lib/libproc/tests/proc_test.c
index dbaace8..2acaa51 100644
--- a/lib/libproc/tests/proc_test.c
+++ b/lib/libproc/tests/proc_test.c
@@ -40,7 +40,9 @@ __FBSDID("$FreeBSD$");
 #include <libproc.h>
 
 static const char *aout_object = "a.out";
+#if !defined(__aarch64__)
 static const char *ldelf_object = "ld-elf.so.1";
+#endif
 static const char *target_prog_file = "target_prog";
 
 /*
@@ -75,6 +77,7 @@ start_prog(const struct atf_tc *tc, bool sig)
 	return (phdl);
 }
 
+#if !defined(__aarch64__)
 static void
 set_bkpt(struct proc_handle *phdl, uintptr_t addr, u_long *saved)
 {
@@ -151,6 +154,7 @@ verify_bkpt(struct proc_handle *phdl, GElf_Sym *sym, const char *symname,
 	ATF_REQUIRE_EQ_MSG(strcmp(mapname, mapbname), 0,
 	    "expected map name '%s' doesn't match '%s'", mapname, mapbname);
 }
+#endif
 
 ATF_TC(map_alias_obj2map);
 ATF_TC_HEAD(map_alias_obj2map, tc)
@@ -255,6 +259,7 @@ ATF_TC_BODY(map_alias_name2sym, tc)
 	proc_free(phdl);
 }
 
+#if !defined(__aarch64__)
 ATF_TC(symbol_lookup);
 ATF_TC_HEAD(symbol_lookup, tc)
 {
@@ -331,6 +336,7 @@ ATF_TC_BODY(symbol_lookup_fail, tc)
 
 	proc_free(phdl);
 }
+#endif
 
 ATF_TC(signal_forward);
 ATF_TC_HEAD(signal_forward, tc)
@@ -379,8 +385,11 @@ ATF_TP_ADD_TCS(tp)
 	ATF_TP_ADD_TC(tp, map_alias_obj2map);
 	ATF_TP_ADD_TC(tp, map_alias_name2map);
 	ATF_TP_ADD_TC(tp, map_alias_name2sym);
+/* On arm64 triggers panic ARM64TODO: pmap_sync_icache (PR202305). */
+#if !defined(__aarch64__)
 	ATF_TP_ADD_TC(tp, symbol_lookup);
 	ATF_TP_ADD_TC(tp, symbol_lookup_fail);
+#endif
 	ATF_TP_ADD_TC(tp, signal_forward);
 
 	return (atf_no_error());
diff --git a/lib/libutil/tests/Makefile b/lib/libutil/tests/Makefile
index 36eb2ae..4a675b0 100644
--- a/lib/libutil/tests/Makefile
+++ b/lib/libutil/tests/Makefile
@@ -5,7 +5,9 @@ TESTSDIR=	${TESTSBASE}/lib/libutil
 TAP_TESTS_C+=	flopen_test
 TAP_TESTS_C+=	grp_test
 TAP_TESTS_C+=	humanize_number_test
+.if ${MACHINE_CPUARCH} != "aarch64" # PR202304: pidfile_test hangs on arm64
 TAP_TESTS_C+=	pidfile_test
+.endif
 TAP_TESTS_C+=	trimdomain_test
 TAP_TESTS_C+=	trimdomain-nodomain_test
 
-- 
cgit v1.1