annotate src/testdir/test_vim9_fails.vim @ 35174:1e330b17a6c7 default tip

runtime(syntax-tests): Filter out non-Latin-1 characters for syntax tests (#14767) Commit: https://github.com/vim/vim/commit/2f5ff738278160a3b62c565d586eab8a9e39bc33 Author: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com> Date: Mon May 13 22:06:05 2024 +0300 runtime(syntax-tests): Filter out non-Latin-1 characters for syntax tests (https://github.com/vim/vim/issues/14767) Syntax tests are run with the LC_ALL=C environment variable passed to "make". Occasionally, there are CI failures for such test files containing non-Latin-1 characters with error messages pointing to multi-byte characters: https://github.com/vim/vim/actions/runs/8824925004/job/24228298023#step:10:16370 , https://github.com/vim/vim/actions/runs/8840856619/job/24276935260#step:10:16347 , https://github.com/vim/vim/actions/runs/8854043458/job/24316210645#step:10:16362 , https://github.com/vim/vim/actions/runs/8856501136/job/24322848765#step:10:16354 , https://github.com/vim/vim/actions/runs/9038417238/job/24839482152#step:11:16980 . But since the very same unchanged tests pass at other times: https://github.com/vim/vim/actions/runs/8827593571/job/24235935458#step:10:16353 , https://github.com/vim/vim/actions/runs/9065214647/job/24905321661#step:11:17002 ; these failures are unrelated to the nature of syntax tests and should be considered false positives. As a temporary workaround, all bytes of known non-Latin-1 characters can be replaced in memory with an arbitrary ASCII byte (?) by applying a filter > " To ignore part of the dump, provide a "dumps/{filename}.vim" file with > " Vim commands to be applied to both the reference and the current dump, so > " that parts that are irrelevant are not used for the comparison. The result > " is NOT written, thus "term_dumpdiff()" shows the difference anyway. before lines are compared between files. Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Mon, 13 May 2024 21:15:13 +0200
parents 54e36d01847b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22582
a3df1fb28d44 patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1 " Test for Vim9 script with failures, causing memory leaks to be reported.
a3df1fb28d44 patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
2 " The leaks happen after a fork() and can be ignored.
a3df1fb28d44 patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
3
26410
b94ef0b282f1 patch 8.2.3736: test fails without the channel feature
Bram Moolenaar <Bram@vim.org>
parents: 26368
diff changeset
4 source check.vim
b94ef0b282f1 patch 8.2.3736: test fails without the channel feature
Bram Moolenaar <Bram@vim.org>
parents: 26368
diff changeset
5
22582
a3df1fb28d44 patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
6 def Test_assignment()
26410
b94ef0b282f1 patch 8.2.3736: test fails without the channel feature
Bram Moolenaar <Bram@vim.org>
parents: 26368
diff changeset
7 if !has('channel')
b94ef0b282f1 patch 8.2.3736: test fails without the channel feature
Bram Moolenaar <Bram@vim.org>
parents: 26368
diff changeset
8 CheckFeature channel
b94ef0b282f1 patch 8.2.3736: test fails without the channel feature
Bram Moolenaar <Bram@vim.org>
parents: 26368
diff changeset
9 else
22582
a3df1fb28d44 patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
10 var chan1: channel
a3df1fb28d44 patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
11 var job1: job
a3df1fb28d44 patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
12 var job2: job = job_start('willfail')
a3df1fb28d44 patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
13 endif
a3df1fb28d44 patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
14 enddef
26368
744fdb15347d patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents: 22582
diff changeset
15
744fdb15347d patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents: 22582
diff changeset
16 " Unclear why this test causes valgrind to report problems.
744fdb15347d patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents: 22582
diff changeset
17 def Test_job_info_return_type()
744fdb15347d patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents: 22582
diff changeset
18 if !has('job')
744fdb15347d patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents: 22582
diff changeset
19 CheckFeature job
744fdb15347d patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents: 22582
diff changeset
20 else
744fdb15347d patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents: 22582
diff changeset
21 var job: job = job_start(&shell)
744fdb15347d patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents: 22582
diff changeset
22 var jobs = job_info()
744fdb15347d patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents: 22582
diff changeset
23 assert_equal('list<job>', typename(jobs))
744fdb15347d patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents: 22582
diff changeset
24 assert_equal('dict<any>', typename(job_info(jobs[0])))
744fdb15347d patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents: 22582
diff changeset
25 job_stop(job)
744fdb15347d patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents: 22582
diff changeset
26 endif
744fdb15347d patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents: 22582
diff changeset
27 enddef
744fdb15347d patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents: 22582
diff changeset
28
30443
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
29 " Using "idx" from a legacy global function does not work.
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
30 " This caused a crash when called from legacy context.
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
31 " This creates a dict that contains a partial that refers to the dict, causing
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
32 " valgrind to report "possibly leaked memory".
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
33 func Test_partial_call_fails()
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
34 let lines =<< trim END
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
35 vim9script
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
36
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
37 var l = ['a', 'b', 'c']
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
38 def Iter(container: any): any
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
39 var idx = -1
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
40 var obj = {state: container}
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
41 def g:NextItem__(self: dict<any>): any
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
42 ++idx
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
43 return self.state[idx]
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
44 enddef
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
45 obj.__next__ = function('g:NextItem__', [obj])
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
46 return obj
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
47 enddef
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
48
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
49 var it = Iter(l)
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
50 echo it.__next__()
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
51 END
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
52 call writefile(lines, 'XpartialCall', 'D')
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
53 let caught = 'no'
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
54 try
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
55 source XpartialCall
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
56 catch /E1248:/
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
57 let caught = 'yes'
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
58 endtry
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
59 call assert_equal('yes', caught)
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
60 delfunc g:NextItem__
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
61 endfunc
54e36d01847b patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents: 26410
diff changeset
62