texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]


From: Patrice Dumas
Date: Sun, 23 Oct 2022 16:46:29 -0400 (EDT)

branch: master
commit 32a1699d8d6f56d1b598d569ab2e89d553a446bd
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sun Oct 23 22:46:17 2022 +0200

    * tp/tests/run_parser_all.sh (check_need_command_line_unicode),
    tp/tests/many_input_files/*non_ascii*.sh: skip tests needing
    UTF-8 encoded non-ASCII characters on the command line on Windows,
    as the shell may interpret those characters to be encoded in the
    current user codeset and pass them incorrectly to the programs.
    Report from Eli Zaretskii.
---
 ChangeLog                                               |  9 +++++++++
 tp/tests/formatting/list-of-tests                       | 10 +++++-----
 tp/tests/many_input_files/input_dir_non_ascii.sh        |  5 +++++
 tp/tests/many_input_files/output_dir_file_non_ascii.sh  |  5 +++++
 tp/tests/many_input_files/output_dir_non_ascii.sh       |  5 +++++
 .../many_input_files/tex_l2h_output_dir_non_ascii.sh    |  5 +++++
 .../many_input_files/tex_t4ht_output_dir_non_ascii.sh   |  5 +++++
 tp/tests/run_parser_all.sh                              | 17 +++++++++++++++++
 8 files changed, 56 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4c791be540..3f3f99f0b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2022-10-23  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/tests/run_parser_all.sh (check_need_command_line_unicode),
+       tp/tests/many_input_files/*non_ascii*.sh: skip tests needing
+       UTF-8 encoded non-ASCII characters on the command line on Windows,
+       as the shell may interpret those characters to be encoded in the
+       current user codeset and pass them incorrectly to the programs.
+       Report from Eli Zaretskii.
+
 2022-10-23  Patrice Dumas  <pertusus@free.fr>
 
        * tp/tests/run_parser_all.sh,
diff --git a/tp/tests/formatting/list-of-tests 
b/tp/tests/formatting/list-of-tests
index a26bea28d1..123271f219 100644
--- a/tp/tests/formatting/list-of-tests
+++ b/tp/tests/formatting/list-of-tests
@@ -18,18 +18,18 @@ cpp_lines ../../t/input_files/cpp_lines.texi -c 
MESSAGE_ENCODING=UTF-8
 # ./texi2any.pl --footnote-style=bâd
 # ./texi2any.pl --paragraph-indent=ïndent
 # check non ascii command line arguments and css files
-non_ascii_command_line osé_utf8.texi -c COMMAND_LINE_ENCODING=UTF-8 -c 
MESSAGE_ENCODING=UTF-8 -c OUTPUT_FILE_NAME_ENCODING=UTF-8 --html 
--split=Mekanïk --document-language=Destruktïw -c 'Kommandöh vâl' -D TÛT -D 
'vùr ké' -U ôndef -c 'FORMAT_MENU mînù' 
--macro-expand=@OUT_DIR@osé-texinfo.texi --internal-links=@OUT_DIR@intérnal.txt 
--css-include çss.css --css-include cêss.css --css-ref=rëf --css-ref=öref
+non_ascii_command_line osé_utf8.texi -D 'needcommandlineunicode Need 
command-line unicode' -c COMMAND_LINE_ENCODING=UTF-8 -c MESSAGE_ENCODING=UTF-8 
-c OUTPUT_FILE_NAME_ENCODING=UTF-8 --html --split=Mekanïk 
--document-language=Destruktïw -c 'Kommandöh vâl' -D TÛT -D 'vùr ké' -U ôndef 
-c 'FORMAT_MENU mînù' --macro-expand=@OUT_DIR@osé-texinfo.texi 
--internal-links=@OUT_DIR@intérnal.txt --css-include çss.css --css-include 
cêss.css --css-ref=rëf --css-ref=öref
 
 # test for the copying of image with non ascii characters for epub
-non_ascii_test_epub osé_utf8.texi -c COMMAND_LINE_ENCODING=UTF-8 -c 
MESSAGE_ENCODING=UTF-8 -c OUTPUT_FILE_NAME_ENCODING=UTF-8 --init epub3.pm -c 
'EPUB_CREATE_CONTAINER_FILE 0'
+non_ascii_test_epub osé_utf8.texi -D 'needcommandlineunicode Need command-line 
unicode' -c COMMAND_LINE_ENCODING=UTF-8 -c MESSAGE_ENCODING=UTF-8 -c 
OUTPUT_FILE_NAME_ENCODING=UTF-8 --init epub3.pm -c 'EPUB_CREATE_CONTAINER_FILE 
0'
 
 # check that the output is right when based on @setfilename
-non_ascii_test_rawtext osé_utf8.texi -c COMMAND_LINE_ENCODING=UTF-8 -c 
MESSAGE_ENCODING=UTF-8 -c OUTPUT_FILE_NAME_ENCODING=UTF-8 -c 
INPUT_FILE_NAME_ENCODING=UTF-8 -c TEXINFO_OUTPUT_FORMAT=rawtext
+non_ascii_test_rawtext osé_utf8.texi -D 'needcommandlineunicode Need 
command-line unicode' -c COMMAND_LINE_ENCODING=UTF-8 -c MESSAGE_ENCODING=UTF-8 
-c OUTPUT_FILE_NAME_ENCODING=UTF-8 -c INPUT_FILE_NAME_ENCODING=UTF-8 -c 
TEXINFO_OUTPUT_FORMAT=rawtext
 
 # check that the output is right when based on input file name
-non_ascii_no_setfilename_test_rawtext osé_utf8_no_setfilename.texi -c 
COMMAND_LINE_ENCODING=UTF-8 -c MESSAGE_ENCODING=UTF-8 -c 
OUTPUT_FILE_NAME_ENCODING=UTF-8 -c INPUT_FILE_NAME_ENCODING=UTF-8 -c 
TEXINFO_OUTPUT_FORMAT=rawtext
+non_ascii_no_setfilename_test_rawtext osé_utf8_no_setfilename.texi -D 
'needcommandlineunicode Need command-line unicode' -c 
COMMAND_LINE_ENCODING=UTF-8 -c MESSAGE_ENCODING=UTF-8 -c 
OUTPUT_FILE_NAME_ENCODING=UTF-8 -c INPUT_FILE_NAME_ENCODING=UTF-8 -c 
TEXINFO_OUTPUT_FORMAT=rawtext
 
-non_ascii_test_latex osé_utf8.texi -c COMMAND_LINE_ENCODING=UTF-8 -c 
MESSAGE_ENCODING=UTF-8 -c OUTPUT_FILE_NAME_ENCODING=UTF-8 -c 
INPUT_FILE_NAME_ENCODING=UTF-8 --latex
+non_ascii_test_latex osé_utf8.texi -D 'needcommandlineunicode Need 
command-line unicode' -c COMMAND_LINE_ENCODING=UTF-8 -c MESSAGE_ENCODING=UTF-8 
-c OUTPUT_FILE_NAME_ENCODING=UTF-8 -c INPUT_FILE_NAME_ENCODING=UTF-8 --latex
 
 # test of non utf8 encoded file name in non utf8 document
 # "Need recoded file names" string is used in test driving script
diff --git a/tp/tests/many_input_files/input_dir_non_ascii.sh 
b/tp/tests/many_input_files/input_dir_non_ascii.sh
index f56ecc6729..378db875b2 100755
--- a/tp/tests/many_input_files/input_dir_non_ascii.sh
+++ b/tp/tests/many_input_files/input_dir_non_ascii.sh
@@ -25,6 +25,11 @@ stdout_file=stdout_$basename.out
 
 . ../../defs || exit 1
 
+# Need command-line unicode for this test, which is not reliable on Windows
+if test "z$HOST_IS_WINDOWS_VARIABLE" = 'zyes' ; then
+  exit 77
+fi
+
 [ -d $diffs_dir ] || mkdir $diffs_dir
 staging_dir=$diffs_dir/staging
 [ -d $staging_dir ] || mkdir $staging_dir
diff --git a/tp/tests/many_input_files/output_dir_file_non_ascii.sh 
b/tp/tests/many_input_files/output_dir_file_non_ascii.sh
index 21d50863ee..e9ed159fc2 100755
--- a/tp/tests/many_input_files/output_dir_file_non_ascii.sh
+++ b/tp/tests/many_input_files/output_dir_file_non_ascii.sh
@@ -25,6 +25,11 @@ stdout_file=stdout_$basename.out
 
 . ../../defs || exit 1
 
+# Need command-line unicode for this test, which is not reliable on Windows
+if test "z$HOST_IS_WINDOWS_VARIABLE" = 'zyes' ; then
+  exit 77
+fi
+
 [ -d $diffs_dir ] || mkdir $diffs_dir
 staging_dir=$diffs_dir/staging
 [ -d $staging_dir ] || mkdir $staging_dir
diff --git a/tp/tests/many_input_files/output_dir_non_ascii.sh 
b/tp/tests/many_input_files/output_dir_non_ascii.sh
index 351bad24a3..7bc4ab84ea 100755
--- a/tp/tests/many_input_files/output_dir_non_ascii.sh
+++ b/tp/tests/many_input_files/output_dir_non_ascii.sh
@@ -25,6 +25,11 @@ stdout_file=stdout_$basename.out
 
 . ../../defs || exit 1
 
+# Need command-line unicode for this test, which is not reliable on Windows
+if test "z$HOST_IS_WINDOWS_VARIABLE" = 'zyes' ; then
+  exit 77
+fi
+
 [ -d $diffs_dir ] || mkdir $diffs_dir
 staging_dir=$diffs_dir/staging
 [ -d $staging_dir ] || mkdir $staging_dir
diff --git a/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii.sh 
b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii.sh
index 03022d0dd1..afe0aaf1ab 100755
--- a/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii.sh
+++ b/tp/tests/many_input_files/tex_l2h_output_dir_non_ascii.sh
@@ -36,6 +36,11 @@ else
   exit 77
 fi
 
+# Need command-line unicode for this test, which is not reliable on Windows
+if test "z$HOST_IS_WINDOWS_VARIABLE" = 'zyes' ; then
+  exit 77
+fi
+
 [ -d $diffs_dir ] || mkdir $diffs_dir
 staging_dir=$diffs_dir/staging
 [ -d $staging_dir ] || mkdir $staging_dir
diff --git a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii.sh 
b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii.sh
index 1968a15478..08f0b380f2 100755
--- a/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii.sh
+++ b/tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii.sh
@@ -24,6 +24,11 @@ else
   exit 77
 fi
 
+# Need command-line unicode for this test, which is not reliable on Windows
+if test "z$HOST_IS_WINDOWS_VARIABLE" = 'zyes' ; then
+  exit 77
+fi
+
 [ -d $diffs_dir ] || mkdir $diffs_dir
 staging_dir=$diffs_dir/staging
 [ -d $staging_dir ] || mkdir $staging_dir
diff --git a/tp/tests/run_parser_all.sh b/tp/tests/run_parser_all.sh
index a5ec97d169..b9e62a5a26 100755
--- a/tp/tests/run_parser_all.sh
+++ b/tp/tests/run_parser_all.sh
@@ -18,6 +18,22 @@ check_need_recoded_file_names ()
    return 0
 }
 
+# Some tests use non-ASCII characters on their command line,
+# using UTF-8 to encode those characters in the source files.
+# Shell on Windows may consider those characters to be
+# encoded in the current codeset, passing them incorrectly to
+# the programs.
+check_need_command_line_unicode ()
+{
+  if echo "$remaining" | grep 'Need command-line unicode' >/dev/null; then
+    if test "z$HOST_IS_WINDOWS_VARIABLE" = 'zyes' ; then
+      echo "S: (no reliable command-line Unicode) $current"
+       return 1
+    fi
+  fi
+  return 0
+}
+
 check_latex2html_and_tex4ht ()
 {
     use_latex2html=no
@@ -358,6 +374,7 @@ while read line; do
 
     skipped_test=no
     check_need_recoded_file_names || skipped_test=yes
+    check_need_command_line_unicode || skipped_test=yes
     check_latex2html_and_tex4ht || skipped_test=yes
     if [ "$skipped_test" = 'yes' ] ; then
       if test $one_test = 'yes' ; then



reply via email to

[Prev in Thread] Current Thread [Next in Thread]