From 340babeb0237a500afa32a420ab26a426416f047 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sun, 5 Nov 2023 11:12:18 -0800 Subject: [PATCH] Revert "Revert "MacOS: skip test "convert invalid UTF-8 to ISO-8859-1""" This reverts commit bcc19d9457129559b836a0cc6cd81e2c71d42bb5. Just letting Mac OS crash on invalid conversions seems like the most reasonable path for now. Maybe Apple will fix their buggy iconv. --- tests/libpspp/i18n.at | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tests/libpspp/i18n.at b/tests/libpspp/i18n.at index d0e87bb3b9..9d23aeb59c 100644 --- a/tests/libpspp/i18n.at +++ b/tests/libpspp/i18n.at @@ -40,8 +40,19 @@ CHECK_I18N_RECODE([from UTF-8 to ISO-8859-1], [UTF-8], [ISO-8859-1], [\302\242], [\242]) # 0xc0 == 0300 is invalid in UTF-8 -CHECK_I18N_RECODE([invalid UTF-8 to ISO-8859-1], [UTF-8], [ISO-8859-1], - [xy\300z], [xy?z]) +AT_SETUP([convert invalid UTF-8 to ISO-8859-1]) +AT_KEYWORDS([i18n]) +dnl This test fails on Mac OS 14 Sonoma due to changes in the native +dnl MacOS iconv library. Skip the test on MacOS. +AT_CHECK([case $host in #( + *-linux*) ;; #( + *) exit 77 +esac]) +dnl Skip the test if this host doesn't know the source and target encodings. +AT_CHECK([i18n-test supports_encodings 'UTF-8' 'ISO-8859-1']) +AT_CHECK_UNQUOTED([i18n-test recode 'UTF-8' 'ISO-8859-1' 'xy\300z'], [0], [`printf 'xy?z'`]) +AT_CLEANUP]) + # 0xc2 == 0302 is the first byte of a 2-byte UTF-8 sequence CHECK_I18N_RECODE([truncated UTF-8 to ISO-8559-1], [UTF-8], [ISO-8859-1], [xy\302], [xy?]) -- 2.30.2