[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