Problem with Linux test reports

Regression tests for Linux are updating OK every day, but the advanced developer and user reports seem to be stuck at Jul 5th. Joaquín M López Muñoz Telefónica, Investigación y Desarrollo

Joaquín Mª López Muñoz wrote:
Regression tests for Linux are updating OK every day, but the advanced developer and user reports seem to be stuck at Jul 5th.
The problem is a parse error produces by xsltproc while parsing test_results.xml in order to build extended_test_results.xml: # Merging with expected results... # xsltproc -o /boost/head-regression/results/cs-Linux/extended_test_results.xml --param expected_results_file "'/boost/head-regression/etc/result-release-1_31_0.xml'" --param failures_markup_file "'/boost/head-regression/boost/status/explicit-failures-markup.xml'" "/boost/head-regression/boost/tools/regression/xsl_reports/xsl/add_expected_results.xsl" "/boost/head-regression/results/test_results.xml" /boost/head-regression/results/test_results.xml:4627: parser error : internal error pp(380): error in "trim_test": test bcs1 == LITERAL( "abcd" ) failed [L? ??? ?T? ^ /boost/head-regression/results/test_results.xml:4627: parser error : Extra content at the end of the document pp(380): error in "trim_test": test bcs1 == LITERAL( "abcd" ) failed [L? ??? ?T? ^ I've uploaded test_results.xml to http://tinyurl.com/2kxkl (3MB; gzipped). I've uploaded the related file test/test/basic_cstring_test.test/gcc-3.3.3-linux/debug/basic_cstring_test.output to http://tinyurl.com/2dkws (6K; text) Aleksey, could you please check that out? Regards, m

Martin Wille ha escrito:
Joaquín Mª López Muñoz wrote:
Regression tests for Linux are updating OK every day, but the advanced developer and user reports seem to be stuck at Jul 5th.
The problem is a parse error produces by xsltproc while parsing test_results.xml in order to build extended_test_results.xml:
# Merging with expected results... # xsltproc -o /boost/head-regression/results/cs-Linux/extended_test_results.xml --param expected_results_file "'/boost/head-regression/etc/result-release-1_31_0.xml'" --param failures_markup_file "'/boost/head-regression/boost/status/explicit-failures-markup.xml'" "/boost/head-regression/boost/tools/regression/xsl_reports/xsl/add_expected_results.xsl" "/boost/head-regression/results/test_results.xml" /boost/head-regression/results/test_results.xml:4627: parser error : internal error pp(380): error in "trim_test": test bcs1 == LITERAL( "abcd" ) failed [L? ??? ?T?
^
I've inspected the problem and seems to me that test_results.xml has been fed unicode-like characters, which results in null bytes being inserted and the XML parser complaining. The first offending test is in line 280 of basic_cstring_test.cpp (part of Boost.Test own test suite) BOOST_CHECK_EQUAL( bcs1, LITERAL( "abcd" ) ); When this check fails, an indication is outputted to the console *that also prints the values of the compared objects* (strings, in this case.) This test is run both for char and wchar_t variants, so I guess the problem happens on the latter case. HTH Joaquín M López Muñoz Telefónica, Investigación y Desarrollo

Joaquín Mª López Muñoz writes:
Martin Wille ha escrito:
Joaquín Mª López Muñoz wrote:
Regression tests for Linux are updating OK every day, but the advanced developer and user reports seem to be stuck at Jul 5th.
The problem is a parse error produces by xsltproc while parsing test_results.xml in order to build extended_test_results.xml:
# Merging with expected results... # xsltproc -o /boost/head-regression/results/cs-Linux/extended_test_results.xml --param expected_results_file "'/boost/head-regression/etc/result-release-1_31_0.xml'" --param failures_markup_file "'/boost/head-regression/boost/status/explicit-failures-markup.xml'" "/boost/head-regression/boost/tools/regression/xsl_reports/xsl/add_expected_results.xsl" "/boost/head-regression/results/test_results.xml" /boost/head-regression/results/test_results.xml:4627: parser error : internal error pp(380): error in "trim_test": test bcs1 == LITERAL( "abcd" ) failed [L? ??? ?T?
^
I've inspected the problem and seems to me that test_results.xml has been fed unicode-like characters, which results in null bytes being inserted and the XML parser complaining.
These are not unicode, they are just random memory content. Otherwise, you are right, some of them slipped through escaping code and confused the XSLT processor. Thanks for looking at it! -- Aleksey Gurtovoy MetaCommunications Engineering

Martin Wille writes:
Joaquín Mª López Muñoz wrote:
Regression tests for Linux are updating OK every day, but the advanced developer and user reports seem to be stuck at Jul 5th.
The problem is a parse error produces by xsltproc while parsing test_results.xml in order to build extended_test_results.xml:
# Merging with expected results... # xsltproc -o /boost/head-regression/results/cs-Linux/extended_test_results.xml --param expected_results_file "'/boost/head-regression/etc/result-release-1_31_0.xml'" --param failures_markup_file "'/boost/head-regression/boost/status/explicit-failures-markup.xml'" "/boost/head-regression/boost/tools/regression/xsl_reports/xsl/add_expected_results.xsl" "/boost/head-regression/results/test_results.xml" /boost/head-regression/results/test_results.xml:4627: parser error : internal error pp(380): error in "trim_test": test bcs1 == LITERAL( "abcd" ) failed [L? ??? ?T? ^ /boost/head-regression/results/test_results.xml:4627: parser error : Extra content at the end of the document pp(380): error in "trim_test": test bcs1 == LITERAL( "abcd" ) failed [L? ??? ?T? ^
I've uploaded test_results.xml to http://tinyurl.com/2kxkl (3MB; gzipped). I've uploaded the related file test/test/basic_cstring_test.test/gcc-3.3.3-linux/debug/basic_cstring_test.output to http://tinyurl.com/2dkws (6K; text)
Aleksey, could you please check that out?
Looks like xsltproc can't handle certain ASCII characters that Python considers printable. Fixed in the CVS (in "report.py"). -- Aleksey Gurtovoy MetaCommunications Engineering
participants (3)
-
Aleksey Gurtovoy
-
Joaquín Mª López Muñoz
-
Martin Wille