Merge branch 'issue-266-make-travis-ci-cover-mingw' (#266)

This commit is contained in:
Sebastian Pipping 2019-07-31 00:26:23 +02:00
commit 5b365c7fe8
4 changed files with 76 additions and 3 deletions

View File

@ -30,7 +30,11 @@ 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
- 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

View File

@ -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

48
expat/fix-xmltest-log.sh Executable file
View File

@ -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}"

View File

@ -108,10 +108,27 @@ 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" \
check run-xmltest
check run-xmltest \
|| {
RUN cat tests/runtests.log
RUN cat tests/runtestspp.log
false
}
}