patch 9.1.0107: CI: Fix MacOS-14 tests
Problem: CI: Fix MacOS-14 tests (after 9.1.0070)
Solution: Re-enable sound tests by granting Mic access,
disable Test_diff_screen because of buggy MacOS diff
(non GNU version), re-enable Test_term_gettitle()
(Yee Cheng Chin)
macos-14 runner was turned on in #13943, but it had to turn off a few
tests in order for CI to run. Re-enable them and fix the underlying
issues.
* `Test_diff_screen`: The test failure is due to a bug in Apple's diff
utility. Apple introduced a new diff tool based on FreeBSD in macOS 13
and it has buggy behaviors when using unified diff (`-U0`) and the
diff is on the first line of the file. Simply disable this test for
now if we detect Apple diff (instead of the old GNU diff). Can
re-enable this in the future if Apple fixes the issue.
* `Test_play_event` / `Test_play_silent`: GitHub Actions currently has
an issue with playing sound in CI in macos-14 runners. It for some
reason triggers a microphone permission dialog popup which blocks the
CI action (see https://github.com/actions/runner-images/issues/9330).
To fix this, add a temporary step in macos-14 to manually allow
microphone permissions in the runner.
* `Test_term_gettitle`: I could not reproduce the failure, so I just
turned it on and it seems to run just fine. Maybe it's a timing issue
and whatnot but either way that should be fixed when we can reproduce
the issue.
closes: #14032
Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/test_diffmode.vim b/src/testdir/test_diffmode.vim
index bae94f6..b44879f 100644
--- a/src/testdir/test_diffmode.vim
+++ b/src/testdir/test_diffmode.vim
Binary files differ
diff --git a/src/testdir/test_sound.vim b/src/testdir/test_sound.vim
index 020d458..e97ac61 100644
--- a/src/testdir/test_sound.vim
+++ b/src/testdir/test_sound.vim
@@ -15,9 +15,6 @@
if has('win32')
throw 'Skipped: Playing event with callback is not supported on Windows'
endif
- if has('osx') && !empty($CI) && system('uname -m') =~# 'arm64'
- throw 'Skipped: FIXME: Running this test on M1 Mac hangs on GitHub Actions'
- endif
let g:playcallback_count = 0
let g:id = 0
let event_name = 'bell'
@@ -38,10 +35,6 @@
endfunc
func Test_play_silent()
- if has('osx') && !empty($CI) && system('uname -m') =~# 'arm64'
- throw 'Skipped: FIXME: Running this test on M1 Mac hangs on GitHub Actions'
- endif
-
let fname = fnamemodify('silent.wav', '%p')
let g:playcallback_count = 0
diff --git a/src/testdir/test_terminal2.vim b/src/testdir/test_terminal2.vim
index c7d1a9a..9798c51 100644
--- a/src/testdir/test_terminal2.vim
+++ b/src/testdir/test_terminal2.vim
@@ -536,10 +536,6 @@
" Test for term_gettitle()
func Test_term_gettitle()
- if has('osx') && !empty($CI) && system('uname -m') =~# 'arm64'
- throw 'Skipped: FIXME: Title got on M1 Mac is broken on GitHub Actions'
- endif
-
" term_gettitle() returns an empty string for a non-terminal buffer
" and for a non-existing buffer.
call assert_equal('', bufnr('%')->term_gettitle())