From: Ben Pfaff Date: Sun, 5 Nov 2023 19:12:18 +0000 (-0800) Subject: Revert "Revert "MacOS: skip test "convert invalid UTF-8 to ISO-8859-1""" X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=340babeb0237a500afa32a420ab26a426416f047;p=pspp 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. --- 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?])