Module Name: src Committed By: rillig Date: Fri Feb 2 23:30:39 UTC 2024
Modified Files: src/distrib/sets/lists/tests: mi src/tests/usr.bin/xlint/lint1: t_integration.sh Added Files: src/tests/usr.bin/xlint/lint1: lex_utf8.c Log Message: tests/lint: test UTF-8 mode To generate a diff of this commit: cvs rdiff -u -r1.1303 -r1.1304 src/distrib/sets/lists/tests/mi cvs rdiff -u -r0 -r1.1 src/tests/usr.bin/xlint/lint1/lex_utf8.c cvs rdiff -u -r1.82 -r1.83 src/tests/usr.bin/xlint/lint1/t_integration.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/distrib/sets/lists/tests/mi diff -u src/distrib/sets/lists/tests/mi:1.1303 src/distrib/sets/lists/tests/mi:1.1304 --- src/distrib/sets/lists/tests/mi:1.1303 Fri Feb 2 19:07:57 2024 +++ src/distrib/sets/lists/tests/mi Fri Feb 2 23:30:38 2024 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1303 2024/02/02 19:07:57 rillig Exp $ +# $NetBSD: mi,v 1.1304 2024/02/02 23:30:38 rillig Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -6735,6 +6735,7 @@ ./usr/tests/usr.bin/xlint/lint1/lex_integer_ilp32.exp tests-obsolete obsolete,atf ./usr/tests/usr.bin/xlint/lint1/lex_string.c tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/xlint/lint1/lex_string.exp tests-obsolete obsolete,atf +./usr/tests/usr.bin/xlint/lint1/lex_utf8.c tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/xlint/lint1/lex_whitespace.c tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/xlint/lint1/lex_whitespace.exp tests-obsolete obsolete,atf ./usr/tests/usr.bin/xlint/lint1/lex_wide_char.c tests-usr.bin-tests compattestfile,atf Index: src/tests/usr.bin/xlint/lint1/t_integration.sh diff -u src/tests/usr.bin/xlint/lint1/t_integration.sh:1.82 src/tests/usr.bin/xlint/lint1/t_integration.sh:1.83 --- src/tests/usr.bin/xlint/lint1/t_integration.sh:1.82 Wed Jul 5 11:42:14 2023 +++ src/tests/usr.bin/xlint/lint1/t_integration.sh Fri Feb 2 23:30:39 2024 @@ -1,4 +1,4 @@ -# $NetBSD: t_integration.sh,v 1.82 2023/07/05 11:42:14 rillig Exp $ +# $NetBSD: t_integration.sh,v 1.83 2024/02/02 23:30:39 rillig Exp $ # # Copyright (c) 2008, 2010 The NetBSD Foundation, Inc. # All rights reserved. @@ -62,8 +62,6 @@ configure_test_case() } function platform_has(prop) { - if (platform[prop] != "") - return prop == archsubdir if (!match(prop, /^(schar|uchar|ilp32|lp64|int|long|ldbl64|ldbl96|ldbl128)$/)) { printf("bad property '\''%s'\''\n", prop) > "/dev/stderr" exit(1) @@ -109,6 +107,14 @@ configure_test_case() local config config="$(awk "$awk" "$1")" || exit 1 eval "$config" + + case "_${1%.c}_" in + *_utf8_*) + LC_ALL=en_US.UTF-8;; + *) + LC_ALL=C;; + esac + export LC_ALL } # shellcheck disable=SC2155 Added files: Index: src/tests/usr.bin/xlint/lint1/lex_utf8.c diff -u /dev/null src/tests/usr.bin/xlint/lint1/lex_utf8.c:1.1 --- /dev/null Fri Feb 2 23:30:39 2024 +++ src/tests/usr.bin/xlint/lint1/lex_utf8.c Fri Feb 2 23:30:39 2024 @@ -0,0 +1,15 @@ +/* $NetBSD: lex_utf8.c,v 1.1 2024/02/02 23:30:39 rillig Exp $ */ +# 3 "lex_utf8.c" + +/* + * Test lexing of multibyte characters and strings in an UTF-8 locale. + */ + +/* + * Since lint always runs in the default "C" locale, it does not support any + * multibyte character encoding, thus treating each byte as a separate + * character. If lint were to support UTF-8, the array dimension would be 3 + * instead of 7. + */ +/* expect+1: error: negative array dimension (-7) [20] */ +typedef int mblen[-(int)(sizeof(L"Ä😄") / sizeof(L""))];