From e52f64229a4f60a2c1463611989c2b55471f36bb Mon Sep 17 00:00:00 2001 From: Johannes Altmanninger Date: Sun, 5 Mar 2023 16:47:48 +0100 Subject: [PATCH 1/5] cirrus: use Clang 11 instead of 10 on Linux This fixes the CI failure where clang could not find . Removing the include would not be enough, there are some other failures. Debian Stable ships Clang 11 so this seems accessible enough. --- .cirrus.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index 27930b77..2c50dda9 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -22,7 +22,7 @@ linux_task: matrix: - name: linux_clang container: - image: silkeh/clang:10 + image: silkeh/clang:11 env: CXX: clang++ - name: linux_gcc From ecae85f8afbe7581fe00af5f140a38c385dc26fa Mon Sep 17 00:00:00 2001 From: Johannes Altmanninger Date: Sun, 5 Mar 2023 17:03:02 +0100 Subject: [PATCH 2/5] cirrus: fix installation of gcc 10 on macOS Cirrus CI switched macOS machines to M1 where "brew install gcc@10" fails due to architecture mismatch. I'm not sure if it's possible to install gcc 10 natively for ARM. Let's work around this by installing the x86_64 compatibility layer. Apparently we need to install a x86_64 Homebrew to install x86_64 packages. --- .cirrus.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index 2c50dda9..72deff1b 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -41,7 +41,10 @@ macos_task: env: CXX: /usr/local/opt/llvm@11/bin/clang++ - name: macos_gcc - gcc_script: brew install gcc@10 + gcc_script: + - /usr/sbin/softwareupdate --install-rosetta --agree-to-license + - arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" + - arch -x86_64 /usr/local/bin/brew install gcc@10 env: CXX: g++-10 test_script: make -j4 test From caabd064362ffb22205f1ab08b8f012b12b24108 Mon Sep 17 00:00:00 2001 From: Johannes Altmanninger Date: Sun, 5 Mar 2023 16:44:21 +0100 Subject: [PATCH 3/5] cirrus: fix path to Homebrew clang on macOS Looks like this changed when they switched to M1. --- .cirrus.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index 72deff1b..84bcc12a 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -39,7 +39,7 @@ macos_task: - name: macos_clang clang_script: brew install llvm@11 env: - CXX: /usr/local/opt/llvm@11/bin/clang++ + CXX: /opt/homebrew/opt/llvm@11/bin/clang++ - name: macos_gcc gcc_script: - /usr/sbin/softwareupdate --install-rosetta --agree-to-license From 45d2d350f26f90d30f5301870343a71cd1ece893 Mon Sep 17 00:00:00 2001 From: Johannes Altmanninger Date: Sun, 5 Mar 2023 17:02:52 +0100 Subject: [PATCH 4/5] Disable trim-front-split-glyph test on platforms with broken Unicode support AKA macOS. --- test/regression/4843-trim-front-split-glyph/enabled | 2 ++ 1 file changed, 2 insertions(+) create mode 100755 test/regression/4843-trim-front-split-glyph/enabled diff --git a/test/regression/4843-trim-front-split-glyph/enabled b/test/regression/4843-trim-front-split-glyph/enabled new file mode 100755 index 00000000..cb6be3fc --- /dev/null +++ b/test/regression/4843-trim-front-split-glyph/enabled @@ -0,0 +1,2 @@ +#!/bin/sh +[ $(echo -n "⌛" | wc -m) = '1' ] && locale | grep LC_CTYPE | grep -qi 'utf-*8' From 0f55d21970421f48ddf09a46a68ce30d8a40c73f Mon Sep 17 00:00:00 2001 From: Johannes Altmanninger Date: Sun, 5 Mar 2023 17:09:22 +0100 Subject: [PATCH 5/5] Add sleep to prevent mouse-during-insert test failure The macOS CI manges to trigger this race. When it happens the "c" inserted by the last command is not seen by the test runner. Let's fix this by adding yet another sleep. --- test/regression/0-mouse-during-insert/script | 1 + 1 file changed, 1 insertion(+) diff --git a/test/regression/0-mouse-during-insert/script b/test/regression/0-mouse-during-insert/script index aaf225ce..5ce30601 100644 --- a/test/regression/0-mouse-during-insert/script +++ b/test/regression/0-mouse-during-insert/script @@ -9,3 +9,4 @@ sleep .1 ui_in '{ "jsonrpc": "2.0", "method": "mouse_release", "params": [ "left", 0, 4 ] }' sleep .1 ui_in '{ "jsonrpc": "2.0", "method": "keys", "params": [ "c" ] }' +sleep .1