texinfo-commits
[Top][All Lists]
Advanced

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

[no subject]


From: Gavin D. Smith
Date: Sun, 17 Nov 2024 12:17:54 -0500 (EST)

branch: master
commit e2fcb0821616f9c0ac08e2ebe7d5c80aa23486d6
Author: Gavin Smith <gavinsmith0123@gmail.com>
AuthorDate: Sun Nov 17 16:59:57 2024 +0000

    Skip tests for non-ASCII file names
    
    * tp/tests/Makefile.am (non_ascii_extracted_stamp.txt)
    (built_input/non_ascii): Use "stamp" file in check_DATA instead
    of input files directory.  This allows these files not to
    be created under given conditions.
    (non_ascii_extracted_stamp.txt) [HOST_IS_WINDOWS]: do not extract
    non_ascii.tar and record non-ASCII input files as unavailable.
    
    * tp/tests/encoded/list-of-tests,
    * tp/tests/tex_html/list-of-tests: mark some tests to skip with
    -D 'neednonasciifilenames Need non-ASCII file names.
    
    * tp/tests/run_parser_all.sh (check_need_non_ascii_file_names):
    Add check for marker in tests specifications file.
    
    * tp/tests/many_input_files/input_dir_non_ascii.sh,
    * tp/tests/many_input_files/output_dir_file_non_ascii.sh,
    * tp/tests/many_input_files/output_dir_non_ascii.sh,
    * tp/tests/many_input_files/tex_l2h_output_dir_non_ascii.sh,
    * tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii.sh:
    Add ad hoc code to skip tests.
---
 .gitignore                                         |  1 +
 ChangeLog                                          | 25 ++++++++++++++++++++++
 tp/tests/Makefile.am                               | 18 +++++++++++-----
 tp/tests/encoded/list-of-tests                     | 20 ++++++++---------
 tp/tests/many_input_files/input_dir_non_ascii.sh   |  6 ++++--
 .../many_input_files/output_dir_file_non_ascii.sh  |  7 ++++++
 tp/tests/many_input_files/output_dir_non_ascii.sh  |  7 ++++++
 .../tex_l2h_output_dir_non_ascii.sh                |  7 ++++++
 .../tex_t4ht_output_dir_non_ascii.sh               |  7 ++++++
 tp/tests/run_parser_all.sh                         | 17 +++++++++++++++
 tp/tests/tex_html/list-of-tests                    |  4 ++--
 11 files changed, 100 insertions(+), 19 deletions(-)

diff --git a/.gitignore b/.gitignore
index e432257e75..4bbaec53a5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -274,6 +274,7 @@ tp/tests/*.trs
 tp/tests/test_scripts/*.log
 tp/tests/test_scripts/*.trs
 tp/tests/input_file_names_recoded_stamp.txt
+tp/tests/non_ascii_extracted_stamp.txt
 tp/tests/built_input
 
 tp/tests/many_input_files/different_encodings
diff --git a/ChangeLog b/ChangeLog
index 86d41a108d..ee2e105964 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2024-11-17  Gavin Smith <gavinsmith0123@gmail.com>
+
+       Skip tests for non-ASCII file names
+
+       * tp/tests/Makefile.am (non_ascii_extracted_stamp.txt)
+       (built_input/non_ascii): Use "stamp" file in check_DATA instead
+       of input files directory.  This allows these files not to
+       be created under given conditions.
+       (non_ascii_extracted_stamp.txt) [HOST_IS_WINDOWS]: do not extract
+       non_ascii.tar and record non-ASCII input files as unavailable.
+
+       * tp/tests/encoded/list-of-tests,
+       * tp/tests/tex_html/list-of-tests: mark some tests to skip with
+       -D 'neednonasciifilenames Need non-ASCII file names.
+
+       * tp/tests/run_parser_all.sh (check_need_non_ascii_file_names):
+       Add check for marker in tests specifications file.
+
+       * tp/tests/many_input_files/input_dir_non_ascii.sh,
+       * tp/tests/many_input_files/output_dir_file_non_ascii.sh,
+       * tp/tests/many_input_files/output_dir_non_ascii.sh,
+       * tp/tests/many_input_files/tex_l2h_output_dir_non_ascii.sh,
+       * tp/tests/many_input_files/tex_t4ht_output_dir_non_ascii.sh:
+       Add ad hoc code to skip tests.
+
 2024-11-17  Patrice Dumas  <pertusus@free.fr>
 
        * configure.ac (texinfo_cv_sys_iconv_converts_euc_cn): set to "cross
diff --git a/tp/tests/Makefile.am b/tp/tests/Makefile.am
index e363361533..d2abf13956 100644
--- a/tp/tests/Makefile.am
+++ b/tp/tests/Makefile.am
@@ -70,7 +70,7 @@ input_file_names_recoded_stamp.txt: 
$(srcdir)/input/included_latin1.texi
        mkdir -p built_input ; if $(PERL) 
$(srcdir)/../maintain/copy_change_file_name_encoding.pl 
$(srcdir)/input/included_latin1.texi built_input ; then echo 'OK' > $@ ; else 
echo 'FAILED' > $@ ; fi
 
 distclean-local:
-       rm -rf input_file_names_recoded_stamp.txt built_input
+       rm -rf input_file_names_recoded_stamp.txt non_ascii_extracted_stamp.txt 
built_input
 
 # Files with non-ASCII file names
 na=input/non_ascii
@@ -95,11 +95,19 @@ $(srcdir)/input/non_ascii.tar:
        cd $(srcdir)/input && \
        tar cf non_ascii.tar non_ascii
 
-check_DATA += built_input/non_ascii
-built_input/non_ascii: input/non_ascii.tar
-       rm -rf $@ && mkdir -p $@ && \
+check_DATA += non_ascii_extracted_stamp.txt
+
+if ! HOST_IS_WINDOWS
+non_ascii_extracted_stamp.txt: input/non_ascii.tar
+       rm -rf built_input/non_ascii && mkdir -p built_input/non_ascii && \
        cd built_input && \
-       tar xmf "$(abs_srcdir)/input/non_ascii.tar"
+       tar xmf "$(abs_srcdir)/input/non_ascii.tar" && \
+       echo OK > ../non_ascii_extracted_stamp.txt
+else
+non_ascii_extracted_stamp.txt:
+       echo FAIL > non_ascii_extracted_stamp.txt
+endif
+
 # tar m discards file modification dates from the archive.
 
 EXTRA_DIST = run_parser_all.sh parser_tests.sh escape_file_names.pl \
diff --git a/tp/tests/encoded/list-of-tests b/tp/tests/encoded/list-of-tests
index f93ad83c6f..94166bea44 100644
--- a/tp/tests/encoded/list-of-tests
+++ b/tp/tests/encoded/list-of-tests
@@ -18,23 +18,23 @@
 # for all the tests.
 
 # check non ascii in verbatiminclude file name
-#no_command_line_encoding built_input/non_ascii/osé_utf8.texi --html
+#no_command_line_encoding built_input/non_ascii/osé_utf8.texi --html -D 
'neednonasciifilenames Need non-ASCII file names'
 
 # check non ascii command line arguments and css files
-non_ascii_command_line built_input/non_ascii/osé_utf8.texi -D 
'needcommandlineunicode Need command-line unicode' --html --no-split -c 
DO_ABOUT=1 -c COMMAND_LINE_ENCODING=UTF-8 -c MESSAGE_ENCODING=UTF-8 -c 
OUTPUT_FILE_NAME_ENCODING=UTF-8 --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  [...]
+non_ascii_command_line built_input/non_ascii/osé_utf8.texi -D 
'needcommandlineunicode Need command-line unicode' --html --no-split -c 
DO_ABOUT=1 -c COMMAND_LINE_ENCODING=UTF-8 -c MESSAGE_ENCODING=UTF-8 -c 
OUTPUT_FILE_NAME_ENCODING=UTF-8 --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  [...]
 
 # test for the copying of image with non ascii characters for epub
-non_ascii_test_epub built_input/non_ascii/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'
+non_ascii_test_epub built_input/non_ascii/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' -D 'neednonasciifilenames Need non-ASCII file names'
 
 # check that the output is right when based on @setfilename
-non_ascii_test_rawtext built_input/non_ascii/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
+non_ascii_test_rawtext built_input/non_ascii/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 -D 'neednonasciifilenames Need non-ASCII file 
names'
 
 # check that the output is right when based on input file name
-non_ascii_no_setfilename_test_rawtext 
built_input/non_ascii/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_no_setfilename_test_rawtext 
built_input/non_ascii/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 -D 
'neednonasciifilenames Need non-ASCII file names'
 
-non_ascii_test_info built_input/non_ascii/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 --info
+non_ascii_test_info built_input/non_ascii/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 --info -D 
'neednonasciifilenames Need non-ASCII file names'
 
-non_ascii_test_latex built_input/non_ascii/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
+non_ascii_test_latex built_input/non_ascii/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 -D 
'neednonasciifilenames Need non-ASCII file names'
 
 # test of non utf8 encoded file name in non utf8 document
 # "Need recoded file names" string is used in test driving script
@@ -55,11 +55,11 @@ 
manual_include_accented_file_name_latin1_use_locale_encoding manual_include_acce
 # customization options are used.
 verbatiminclude_names_latin1_html verbatiminclude_names_latin1.texi --html -c 
MESSAGE_ENCODING=UTF-8
 
-verbatiminclude_names_latin1_html_explicit_encoding 
verbatiminclude_names_latin1.texi --html -c INPUT_FILE_NAME_ENCODING=UTF-8 -c 
MESSAGE_ENCODING=UTF-8
+verbatiminclude_names_latin1_html_explicit_encoding 
verbatiminclude_names_latin1.texi --html -c INPUT_FILE_NAME_ENCODING=UTF-8 -c 
MESSAGE_ENCODING=UTF-8 -D 'neednonasciifilenames Need non-ASCII file names'
 
-verbatiminclude_names_latin1_rawtext verbatiminclude_names_latin1.texi -c 
TEXINFO_OUTPUT_FORMAT=rawtext
+verbatiminclude_names_latin1_rawtext verbatiminclude_names_latin1.texi -c 
TEXINFO_OUTPUT_FORMAT=rawtext -D 'neednonasciifilenames Need non-ASCII file 
names'
 
-verbatiminclude_names_latin1_explicit_encoding_rawtext 
verbatiminclude_names_latin1.texi -c TEXINFO_OUTPUT_FORMAT=rawtext -c 
INPUT_FILE_NAME_ENCODING=UTF-8
+verbatiminclude_names_latin1_explicit_encoding_rawtext 
verbatiminclude_names_latin1.texi -c TEXINFO_OUTPUT_FORMAT=rawtext -c 
INPUT_FILE_NAME_ENCODING=UTF-8 -D 'neednonasciifilenames Need non-ASCII file 
names'
 
 # test that a file with some latin1 characters, typically used for person names
 # but no declared encoding does not give a result that is too bad, and lead
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 3238ad1ff5..4f45d30898 100755
--- a/tp/tests/many_input_files/input_dir_non_ascii.sh
+++ b/tp/tests/many_input_files/input_dir_non_ascii.sh
@@ -26,8 +26,10 @@ prepended_command=
 
 . ../../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
+if sed 1q ../non_ascii_extracted_stamp.txt | grep 'OK' >/dev/null; then
+  :
+else
+  echo "S: (no non-ASCII file names) $basename"
   exit 77
 fi
 
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 6115597a6b..f79fa96e8b 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
@@ -26,6 +26,13 @@ prepended_command=
 
 . ../../defs || exit 1
 
+if sed 1q ../non_ascii_extracted_stamp.txt | grep 'OK' >/dev/null; then
+  :
+else
+  echo "S: (no non-ASCII file names) $basename"
+  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
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 cc6806fedf..0ad3148089 100755
--- a/tp/tests/many_input_files/output_dir_non_ascii.sh
+++ b/tp/tests/many_input_files/output_dir_non_ascii.sh
@@ -26,6 +26,13 @@ prepended_command=
 
 . ../../defs || exit 1
 
+if sed 1q ../non_ascii_extracted_stamp.txt | grep 'OK' >/dev/null; then
+  :
+else
+  echo "S: (no non-ASCII file names) $basename"
+  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
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 ab2a9c7617..7c6dd1dedf 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
@@ -37,6 +37,13 @@ else
   exit 77
 fi
 
+if sed 1q ../non_ascii_extracted_stamp.txt | grep 'OK' >/dev/null; then
+  :
+else
+  echo "S: (no non-ASCII file names) $basename"
+  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
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 9ca1d389dd..83224f7264 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
@@ -25,6 +25,13 @@ else
   exit 77
 fi
 
+if sed 1q ../non_ascii_extracted_stamp.txt | grep 'OK' >/dev/null; then
+  :
+else
+  echo "S: (no non-ASCII file names) $basename"
+  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
diff --git a/tp/tests/run_parser_all.sh b/tp/tests/run_parser_all.sh
index 371aff0339..db0d10633c 100755
--- a/tp/tests/run_parser_all.sh
+++ b/tp/tests/run_parser_all.sh
@@ -18,6 +18,17 @@ check_need_recoded_file_names ()
    return 0
 }
 
+check_need_non_ascii_file_names ()
+{
+   if echo "$remaining" | grep 'Need non-ASCII file names' >/dev/null; then
+     if [ "$no_non_ascii_file_names" = 'yes' ]; then
+       echo "S: (no non-ASCII file names) $current"
+       return 1
+     fi
+   fi
+   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
@@ -275,6 +286,11 @@ if test "z$HOST_IS_WINDOWS_VARIABLE" = 'zyes' ; then
   no_recoded_file_names=yes
 fi
 
+no_non_ascii_file_names=yes
+if sed 1q non_ascii_extracted_stamp.txt | grep 'OK' >/dev/null; then
+  no_non_ascii_file_names=no
+fi
+
 one_test=no
 if test -n "$1"; then
   one_test=yes
@@ -419,6 +435,7 @@ while read line; do
 
     skipped_test=no
     check_need_recoded_file_names || skipped_test=yes
+    check_need_non_ascii_file_names || skipped_test=yes
     check_need_command_line_unicode || skipped_test=yes
     check_latex2html_and_tex4ht || skipped_test=yes
     check_unicode_collate_ok || skipped_test=yes
diff --git a/tp/tests/tex_html/list-of-tests b/tp/tests/tex_html/list-of-tests
index 7285b8c477..6dbd9a8894 100644
--- a/tp/tests/tex_html/list-of-tests
+++ b/tp/tests/tex_html/list-of-tests
@@ -27,8 +27,8 @@ tex_eqalign_l2h tex_eqalign.texi --html --no-split -c 
'HTML_MATH l2h' --iftex
 math_not_closed math_not_closed.texi --html --no-split -c 'HTML_MATH l2h' 
--iftex
 tex_not_closed tex_not_closed.texi --html --no-split -c 'HTML_MATH l2h' --iftex
 tex_in_copying tex_in_copying.texi --html --no-split -c 'HTML_MATH l2h' --iftex
-tex_encoded_utf8_l2h built_input/non_ascii/tex_encodé_utf8.texi --html 
--no-split -c 'HTML_MATH l2h' --iftex -c 'COMMAND_LINE_ENCODING UTF-8' -c 
OUTPUT_FILE_NAME_ENCODING=UTF-8
-tex_encoded_utf8_httex built_input/non_ascii/tex_encodé_utf8.texi --html 
--no-split --init tex4ht.pm --iftex -c 'COMMAND_LINE_ENCODING UTF-8' -c 
OUTPUT_FILE_NAME_ENCODING=UTF-8
+tex_encoded_utf8_l2h built_input/non_ascii/tex_encodé_utf8.texi --html 
--no-split -c 'HTML_MATH l2h' --iftex -c 'COMMAND_LINE_ENCODING UTF-8' -c 
OUTPUT_FILE_NAME_ENCODING=UTF-8 -D 'neednonasciifilenames Need non-ASCII file 
names'
+tex_encoded_utf8_httex built_input/non_ascii/tex_encodé_utf8.texi --html 
--no-split --init tex4ht.pm --iftex -c 'COMMAND_LINE_ENCODING UTF-8' -c 
OUTPUT_FILE_NAME_ENCODING=UTF-8 -D 'neednonasciifilenames Need non-ASCII file 
names'
 tex_encoded_latin1_l2h tex_encode_latin1.texi --html --no-split -c 'HTML_MATH 
l2h' --iftex
 tex_encoded_latin1_httex tex_encode_latin1.texi --html --no-split --init 
tex4ht.pm --iftex
 formatting_singular ../coverage/formatting.texi -c 'TEXI2HTML=1' -D 
'needcollationcompat Need collation compatibility' --init-file 
t2h_singular.init -c 'HTML_MATH l2h' -c 'EXTENSION htm' -c 'PREFIX sing' -c 
'TOP_FILE index.htm' --no-verbose



reply via email to

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