Mercurial > vim
annotate src/testdir/test_vim9_fails.vim @ 32188:70d078793ad2 v9.0.1425
patch 9.0.1425: "wat" and "wast" files are one filetype
Commit: https://github.com/vim/vim/commit/3ea62381c527395ae701715335776f427d22eb7b
Author: Amaan Qureshi <amaanq12@gmail.com>
Date: Thu Mar 23 15:45:46 2023 +0000
patch 9.0.1425: "wat" and "wast" files are one filetype
Problem: "wat" and "wast" files are one filetype.
Solution: Add a separate filetype for "wat" files. (Amaan Qureshi,
closes #12165)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 23 Mar 2023 17:00:06 +0100 |
parents | 54e36d01847b |
children |
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 |