From: Bruno Haible Date: Tue, 17 Jan 2023 14:15:57 +0000 (+0100) Subject: execute tests: Avoid test failure on Android. X-Git-Tag: v1.0~1821 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=cb27bd35b5f870533b405db9c33d4a3b9a6314de;p=gnulib.git execute tests: Avoid test failure on Android. * tests/test-execute-main.c (main): Reset the SIGPIPE handler to default. --- diff --git a/ChangeLog b/ChangeLog index 6ef5f6d172..42e60a9be7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2023-01-17 Bruno Haible + + execute tests: Avoid test failure on Android. + * tests/test-execute-main.c (main): Reset the SIGPIPE handler to + default. + 2023-01-17 Bruno Haible hard-locale: Port to Android ≥ 5.0. diff --git a/tests/test-execute-main.c b/tests/test-execute-main.c index d89b34465b..fbaa9c9d2e 100644 --- a/tests/test-execute-main.c +++ b/tests/test-execute-main.c @@ -58,6 +58,18 @@ main (int argc, char *argv[]) const char *progname = "test-execute-child"; int test = atoi (argv[2]); +#if defined __ANDROID__ + /* On Android 11, when this test is executed through 'make' (GNU make 4.4) and + build-aux/test-driver, i.e. through + make check TESTS=test-execute.sh + or + rm -f test-execute.sh.log; make test-execute.sh.log + the signal handler for SIGPIPE is set to SIG_IGN. This causes the tests + 3 and 4 to fail. Work around it by resetting the signal handler for + SIGPIPE to the default. */ + signal (SIGPIPE, SIG_DFL); +#endif + switch (test) { case 14: