neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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:
M.github/workflows/test.yml | 2--
Mtest/unit/testutil.lua | 3+++
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