commit c34c31af734577255b6fb8a84b5f1ce9ff03cd6a
parent 4ca6e08327496ed5efc3465c42464319302ba22a
Author: Joey Gouly <joey.gouly@gmail.com>
Date: Sun, 14 Apr 2024 14:27:04 +0100
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.
Diffstat:
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git 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
@@ -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