From c34c31af734577255b6fb8a84b5f1ce9ff03cd6a Mon Sep 17 00:00:00 2001 From: Joey Gouly Date: Sun, 14 Apr 2024 14:27:04 +0100 Subject: ci: enable unittests on macos-14 Add more filters so that LuaJIT can parse headers on macOS 14. The system headers use a style of enum introduced in C++11 (and allowed as an extension in C by clang) of the form: enum Name : Type { The system headers also use bitfields in the mach_vm_range_recipe* types: struct Foo { int bar : 32; } Neither of these constructs can be parsed by LuaJIT, so filter the lines out. Neither of these declarations are used by neovim's unittests. There is a (now closed) issue about bitfields for LuaJIT: https://github.com/LuaJIT/LuaJIT/issues/951 Fixes #26145. --- .github/workflows/test.yml | 2 -- test/unit/testutil.lua | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d7af975748..d0ee18ab73 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -114,8 +114,6 @@ jobs: build: { flavor: tsan } - test: unittest build: { flavor: puc-lua } - - test: unittest - build: { runner: macos-14 } # unittests don't work on M1 #26145 - test: oldtest build: { flavor: tsan } runs-on: ${{ matrix.build.runner }} diff --git a/test/unit/testutil.lua b/test/unit/testutil.lua index c90859581d..bea08b69e8 100644 --- a/test/unit/testutil.lua +++ b/test/unit/testutil.lua @@ -146,6 +146,9 @@ local function filter_complex_blocks(body) or string.find(line, 'value_init_') or string.find(line, 'UUID_NULL') -- static const uuid_t UUID_NULL = {...} or string.find(line, 'inline _Bool') + -- used by macOS headers + or string.find(line, 'typedef enum : ') + or string.find(line, 'mach_vm_range_recipe') ) then result[#result + 1] = line -- cgit