From 0ff0d45359ad997061e39a119475b770d129282d Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Sun, 28 Jul 2019 22:15:58 +0200 Subject: [PATCH 1/5] qa.sh: Show tests/runtests*.log on "make check" failure for MinGW --- expat/qa.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/expat/qa.sh b/expat/qa.sh index a5442c84..73a40ac1 100755 --- a/expat/qa.sh +++ b/expat/qa.sh @@ -111,7 +111,12 @@ run_tests() { RUN "${MAKE}" \ CFLAGS="${CFLAGS} -Werror" \ CXXFLAGS="${CXXFLAGS} -Werror" \ - check run-xmltest + check run-xmltest \ + || { + RUN cat tests/runtests.log + RUN cat tests/runtestspp.log + false + } } From f0b8636ccc8a061a7a3e1468d2d84d30a856a759 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Sun, 28 Jul 2019 22:32:00 +0200 Subject: [PATCH 2/5] qa.sh: Add missing DLL symlinks for MinGW --- expat/qa.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/expat/qa.sh b/expat/qa.sh index 73a40ac1..d74ebc35 100755 --- a/expat/qa.sh +++ b/expat/qa.sh @@ -108,6 +108,18 @@ run_tests() { egypt) return 0 ;; esac + if [[ ${CC} =~ mingw ]]; then + # NOTE: Filenames are hardcoded for Travis Ubuntu trusty, as of now + for i in tests xmlwf xmlwf/.libs ; do + RUN ln -s \ + /usr/i686-w64-mingw32/lib/libwinpthread-1.dll \ + /usr/lib/gcc/i686-w64-mingw32/4.8/libgcc_s_sjlj-1.dll \ + /usr/lib/gcc/i686-w64-mingw32/4.8/libstdc++-6.dll \ + ../lib/.libs/libexpat-1.dll \ + ${i}/ + done + fi + RUN "${MAKE}" \ CFLAGS="${CFLAGS} -Werror" \ CXXFLAGS="${CXXFLAGS} -Werror" \ From 3a3f873a166ca10b8e6cd8f579b76293626aaf7d Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Tue, 30 Jul 2019 00:43:44 +0200 Subject: [PATCH 3/5] Makefile.am: Make "run-xmltest" robust to wine error output --- expat/Makefile.am | 4 +++- expat/fix-xmltest-log.sh | 48 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100755 expat/fix-xmltest-log.sh diff --git a/expat/Makefile.am b/expat/Makefile.am index 8acc6f3c..2d8b66c8 100644 --- a/expat/Makefile.am +++ b/expat/Makefile.am @@ -100,6 +100,8 @@ EXTRA_DIST = \ \ Changes \ README.md \ + \ + fix-xmltest-log.sh \ test-driver-wrapper.sh @@ -144,7 +146,7 @@ run-xmltest: tests/xmlconf if WITH_XMLWF $(MAKE) -C xmlwf tests/xmltest.sh "$(PWD)/run.sh $(PWD)/xmlwf/xmlwf@EXEEXT@" 2>&1 | tee tests/xmltest.log - dos2unix tests/xmltest.log + ./fix-xmltest-log.sh tests/xmltest.log diff -u tests/xmltest.log.expected tests/xmltest.log else @echo 'ERROR: xmlwf is needed for "make run-xmltest".' >&2 diff --git a/expat/fix-xmltest-log.sh b/expat/fix-xmltest-log.sh new file mode 100755 index 00000000..c143e93c --- /dev/null +++ b/expat/fix-xmltest-log.sh @@ -0,0 +1,48 @@ +#! /usr/bin/env bash +# __ __ _ +# ___\ \/ /_ __ __ _| |_ +# / _ \\ /| '_ \ / _` | __| +# | __// \| |_) | (_| | |_ +# \___/_/\_\ .__/ \__,_|\__| +# |_| XML parser +# +# Copyright (c) 2019 Expat development team +# Licensed under the MIT license: +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to permit +# persons to whom the Software is furnished to do so, subject to the +# following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +# NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. + +set -e + +filename="${1:-tests/xmltest.log}" + +dos2unix "${filename}" + +tempfile="$(mktemp)" +sed \ + -e 's/^wine: Call .* msvcrt\.dll\._wperror, aborting$/ibm49i02.dtd: No such file or directory/' \ + \ + -e '/^wine: /d' \ + -e '/^Application tried to create a window, but no driver could be loaded.$/d' \ + -e '/^Make sure that your X server is running and that $DISPLAY is set correctly.$/d' \ + -e '/^err:systray:initialize_systray Could not create tray window$/d' \ + -e '/^In ibm\/invalid\/P49\/: Unhandled exception: unimplemented .\+/d' \ + \ + "${filename}" > "${tempfile}" +mv "${tempfile}" "${filename}" From eb8d19e5b041ebb3ce574cdef4c0928c02d5e618 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Tue, 30 Jul 2019 21:31:56 +0200 Subject: [PATCH 4/5] Travis CI: Compress some whitespace for upcoming extension --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 29c528d3..b899b0e6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,7 +30,7 @@ matrix: - os: linux env: MODE=qa-sh QA_COMPILER=clang CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=undefined - os: linux - env: MODE=qa-sh QA_COMPILER=gcc CC=gcc CXX=g++ LD=ld QA_PROCESSOR=gcov + env: MODE=qa-sh QA_COMPILER=gcc CC=gcc CXX=g++ LD=ld QA_PROCESSOR=gcov addons: homebrew: From 356d4841d71d06fbe881c16a39e68ed4e2ca8892 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Tue, 30 Jul 2019 21:32:41 +0200 Subject: [PATCH 5/5] Travis CI: Cover MinGW --- .travis.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.travis.yml b/.travis.yml index b899b0e6..01dd26e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,6 +31,10 @@ matrix: env: MODE=qa-sh QA_COMPILER=clang CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=undefined - os: linux env: MODE=qa-sh QA_COMPILER=gcc CC=gcc CXX=g++ LD=ld QA_PROCESSOR=gcov + - os: linux + env: MODE=qa-sh QA_COMPILER=gcc CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ LD=i686-w64-mingw32-ld QA_PROCESSOR=gcov CONFIGURE_ARGS="--host=i686-w64-mingw32 --enable-xml-attr-info" + - os: linux + env: MODE=qa-sh QA_COMPILER=gcc CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ LD=i686-w64-mingw32-ld QA_PROCESSOR=gcov CONFIGURE_ARGS="--host=i686-w64-mingw32 --enable-xml-attr-info CPPFLAGS=-DXML_UNICODE_WCHAR_T" addons: homebrew: @@ -47,7 +51,9 @@ addons: - docbook2x - dos2unix - lzip + - mingw-w64 - rpm + - wine script: - ./.travis.sh