To: vim_dev@googlegroups.com Subject: Patch 9.0.0564 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 9.0.0564 Problem: A few tests keep failing on MacOS M1. Solution: Add a test check CheckNotMacM1. Fix timer tests. Files: src/testdir/check.vim, src/testdir/test_autocmd.vim, src/testdir/test_timers.vim *** ../vim-9.0.0563/src/testdir/check.vim 2022-07-26 14:44:33.625670422 +0100 --- src/testdir/check.vim 2022-09-23 21:13:22.733581057 +0100 *************** *** 111,116 **** --- 111,124 ---- endif endfunc + " Command to check for not running on a MacOS M1 system. + command CheckNotMacM1 call CheckNotMacM1() + func CheckNotMacM1() + if has('mac') && system('uname -a') =~ '\' + throw 'Skipped: does not work on MacOS M1' + endif + endfunc + " Command to check that making screendumps is supported. " Caller must source screendump.vim command CheckScreendump call CheckScreendump() *** ../vim-9.0.0563/src/testdir/test_autocmd.vim 2022-09-22 18:08:34.339338137 +0100 --- src/testdir/test_autocmd.vim 2022-09-23 21:15:54.473230916 +0100 *************** *** 2998,3003 **** --- 2998,3005 ---- " Tests for SigUSR1 autocmd event, which is only available on posix systems. func Test_autocmd_sigusr1() CheckUnix + " FIXME: should this work on MacOS M1? + CheckNotMacM1 CheckExecutable /bin/kill let g:sigusr1_passed = 0 *** ../vim-9.0.0563/src/testdir/test_timers.vim 2022-09-23 18:22:17.809281375 +0100 --- src/testdir/test_timers.vim 2022-09-23 21:25:23.765253248 +0100 *************** *** 129,135 **** let id1 = timer_start(1000, 'MyHandler') let id2 = timer_start(2000, 'MyHandler') let info = timer_info() ! call assert_equal(2, len(info)) call timer_stopall() let info = timer_info() --- 129,136 ---- let id1 = timer_start(1000, 'MyHandler') let id2 = timer_start(2000, 'MyHandler') let info = timer_info() ! " count one for the TestTimeout() timer ! call assert_equal(3, len(info)) call timer_stopall() let info = timer_info() *************** *** 198,215 **** func Test_timer_stop_in_callback() let g:test_is_flaky = 1 ! call assert_equal(0, len(timer_info())) let g:timer1 = timer_start(10, 'StopTimer1') let slept = 0 for i in range(10) ! if len(timer_info()) == 0 break endif sleep 10m let slept += 10 endfor ! " This should take only 30 msec, but on Mac it's often longer ! call assert_inrange(0, 50, slept) endfunc func StopTimerAll(timer) --- 199,220 ---- func Test_timer_stop_in_callback() let g:test_is_flaky = 1 ! call assert_equal(1, len(timer_info())) let g:timer1 = timer_start(10, 'StopTimer1') let slept = 0 for i in range(10) ! if len(timer_info()) == 1 break endif sleep 10m let slept += 10 endfor ! if slept == 100 ! call assert_equal(1, len(timer_info())) ! else ! " This should take only 30 msec, but on Mac it's often longer ! call assert_inrange(0, 50, slept) ! endif endfunc func StopTimerAll(timer) *************** *** 218,226 **** func Test_timer_stop_all_in_callback() let g:test_is_flaky = 1 ! call assert_equal(0, len(timer_info())) ! call timer_start(10, 'StopTimerAll') call assert_equal(1, len(timer_info())) let slept = 0 for i in range(10) if len(timer_info()) == 0 --- 223,232 ---- func Test_timer_stop_all_in_callback() let g:test_is_flaky = 1 ! " One timer is for TestTimeout() call assert_equal(1, len(timer_info())) + call timer_start(10, 'StopTimerAll') + call assert_equal(2, len(timer_info())) let slept = 0 for i in range(10) if len(timer_info()) == 0 *************** *** 229,235 **** sleep 10m let slept += 10 endfor ! call assert_inrange(0, 30, slept) endfunc func FeedkeysCb(timer) --- 235,245 ---- sleep 10m let slept += 10 endfor ! if slept == 100 ! call assert_equal(0, len(timer_info())) ! else ! call assert_inrange(0, 30, slept) ! endif endfunc func FeedkeysCb(timer) *************** *** 370,375 **** --- 380,388 ---- " Test that the garbage collector isn't triggered if a timer callback invokes " vgetc(). func Test_nocatch_timer_garbage_collect() + " FIXME: why does this fail only on MacOS M1? + CheckNotMacM1 + " 'uptimetime. must be bigger than the timer timeout set ut=200 call test_garbagecollect_soon() *** ../vim-9.0.0563/src/version.c 2022-09-23 21:01:51.019203230 +0100 --- src/version.c 2022-09-23 21:25:53.741294089 +0100 *************** *** 701,702 **** --- 701,704 ---- { /* Add new patch number below this line */ + /**/ + 564, /**/ -- hundred-and-one symptoms of being an internet addict: 148. You find it easier to dial-up the National Weather Service Weather/your_town/now.html than to simply look out the window. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///