aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2024-09-09 23:22:15 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2024-09-10 12:13:38 +0200
commitadc067ba745cebf2e2a2f9523bc14136ca1d2680 (patch)
tree25c96d2f1c6f98a61c9e4efb6ccc07d1a3b350e3
parent62ccd355f060d29a46346e08086c7be6de57cdd8 (diff)
downloadsciteco-adc067ba745cebf2e2a2f9523bc14136ca1d2680.tar.gz
fixed win32 CI and nightly builds (refs #5)
* The libtool wrapper binaries do not pass down UTF-8 strings correctly, so the Unicode tests failed under some circumstances. * As we aren't actually linking against any locally-built shared libraries, we are passing --disable-shared to libtool which inhibts wrapper generation on win32 and fixes the test suite. * Also use up to date autotools. This didn't fix anything, though. * test suite: try writing an Unicode filename as well * There have been problems doing that on Win32 where UTF-8 was not correctly passed down from the command line and some Windows API calls were only working with ANSI filenames etc.
-rw-r--r--.github/workflows/ci.yml9
-rw-r--r--.github/workflows/nightly.yml16
-rw-r--r--tests/testsuite.at2
3 files changed, 19 insertions, 8 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 03474c6..de9274e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -112,16 +112,19 @@ jobs:
- name: Install Build Dependencies
run: >
pacman -S --noconfirm --needed
- base-devel autotools mingw-w64-i686-toolchain
+ base-devel mingw-w64-i686-autotools mingw-w64-i686-toolchain
mingw-w64-i686-glib2 mingw-w64-i686-pdcurses
groff mingw-w64-i686-doxygen
- name: Configure Build
env:
PDCURSES_CFLAGS: -I/mingw32/include/pdcurses/
+ # --disable-shared makes sure that libtool won't create wrapper binaries.
+ # They are not required and cause problems when running the test suite
+ # as they don't pass down UTF-8 parameters properly.
run: |
autoreconf -i
- ./configure --with-interface=pdcurses-gui --enable-debug --enable-html-manual
+ ./configure --with-interface=pdcurses-gui --enable-debug --disable-shared --enable-html-manual
- run: make
- run: make install
@@ -133,7 +136,7 @@ jobs:
run: cd doc && make devdoc
- name: make distcheck
env:
- DISTCHECK_CONFIGURE_FLAGS: --with-interface=pdcurses-gui
+ DISTCHECK_CONFIGURE_FLAGS: --with-interface=pdcurses-gui --disable-shared
PDCURSES_CFLAGS: -I/mingw32/include/pdcurses/
run: make distcheck
- name: Build Source Tarball
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 1bd9321..2e438ef 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -169,7 +169,7 @@ jobs:
- name: Install Build Dependencies
run: >
pacman -S --noconfirm --needed
- base-devel autotools mingw-w64-i686-toolchain
+ base-devel mingw-w64-i686-autotools mingw-w64-i686-toolchain
mingw-w64-i686-glib2 mingw-w64-i686-pdcurses
groff
@@ -188,14 +188,17 @@ jobs:
CFLAGS: -O3 -flto
CXXFLAGS: -O3 -flto
LDFLAGS: -flto
+ # --disable-shared makes sure that libtool won't create wrapper binaries.
+ # They are not required and cause problems when running the test suite
+ # as they don't pass down UTF-8 parameters properly.
run: |
autoreconf -i
mkdir build-wingui build-wincon
(cd build-wingui
- ../configure --with-interface=pdcurses-gui --enable-html-manual --program-prefix=g \
+ ../configure --with-interface=pdcurses-gui --disable-shared --enable-html-manual --program-prefix=g \
PDCURSES_LIBS="-lpdcurses_wingui -lgdi32 -lcomdlg32 -lwinmm")
(cd build-wincon
- ../configure --with-interface=pdcurses --enable-html-manual \
+ ../configure --with-interface=pdcurses --disable-shared --enable-html-manual \
PDCURSES_LIBS="-lpdcurses_wincon -lgdi32 -lwinmm")
- name: make
@@ -263,7 +266,7 @@ jobs:
- name: Install Build Dependencies
run: >
pacman -S --noconfirm --needed
- base-devel autotools mingw-w64-i686-toolchain
+ base-devel mingw-w64-i686-autotools mingw-w64-i686-toolchain
mingw-w64-i686-glib2 mingw-w64-i686-gtk3
groff
@@ -273,9 +276,12 @@ jobs:
CFLAGS: -O3 -flto
CXXFLAGS: -O3 -flto
LDFLAGS: -flto
+ # --disable-shared makes sure that libtool won't create wrapper binaries.
+ # They are not required and cause problems when running the test suite
+ # as they don't pass down UTF-8 parameters properly.
run: |
autoreconf -i
- ./configure --with-interface=gtk --enable-html-manual
+ ./configure --with-interface=gtk --disable-shared --enable-html-manual
- name: make
run: make -j 2
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 3e121fb..4749b13 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -93,6 +93,8 @@ AT_SETUP([Unicode])
AT_CHECK([$SCITECO -e "8594@I/Здравствуй, мир!/ Z-17\"N(0/0)' J0A-8594\"N(0/0)'"], 0, ignore, ignore)
AT_CHECK([$SCITECO -e "8594@^Ua/Здравствуй, мир!/ :Qa-17\"N(0/0)' 0Qa-8594\"N(0/0)'"], 0, ignore, ignore)
AT_CHECK([$SCITECO -e "@I/Здравствуй, мир!/ JW .-10\"N(0/0)' ^E-20\"N(0/0)' 204:EE .-10\"N(0/0)'"], 0, ignore, ignore)
+AT_CHECK([$SCITECO -e "@I/TEST/ @EW/юникод.txt/"], 0, ignore, ignore)
+AT_CHECK([test -f юникод.txt], 0, ignore, ignore)
AT_CLEANUP
AT_SETUP([Automatic EOL normalization])