Mercurial > vim
annotate src/testdir/test_job_fails.vim @ 18045:af0b4ffab794 v8.1.2018
patch 8.1.2018: using freed memory when out of memory and displaying message
Commit: https://github.com/vim/vim/commit/e5fbd7393067c279860598ac8359d1617b1082b9
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Sep 9 20:04:13 2019 +0200
patch 8.1.2018: using freed memory when out of memory and displaying message
Problem: Using freed memory when out of memory and displaying message.
Solution: Make a copy of the message first.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 09 Sep 2019 20:15:03 +0200 |
parents | 415185e2c970 |
children | b3e93a05c3ca |
rev | line source |
---|---|
9764
e0b783389bea
commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " This test is in a separate file, because it usually causes reports for memory |
e0b783389bea
commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 " leaks under valgrind. That is because when fork/exec fails memory is not |
e0b783389bea
commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 " freed. Since the process exists right away it's not a real leak. |
e0b783389bea
commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 |
e0b783389bea
commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 source shared.vim |
e0b783389bea
commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 |
e0b783389bea
commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 func Test_job_start_fails() |
e0b783389bea
commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 if has('job') |
12765
c1347c968d31
patch 8.0.1260: using global variables for WaitFor()
Christian Brabandt <cb@256bit.org>
parents:
9764
diff
changeset
|
9 let job = job_start('axdfxsdf') |
9764
e0b783389bea
commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 if has('unix') |
13798
415185e2c970
patch 8.0.1771: in tests, when WaitFor() fails it doesn't say why
Christian Brabandt <cb@256bit.org>
parents:
12765
diff
changeset
|
11 call WaitForAssert({-> assert_equal("dead", job_status(job))}) |
9764
e0b783389bea
commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 else |
13798
415185e2c970
patch 8.0.1771: in tests, when WaitFor() fails it doesn't say why
Christian Brabandt <cb@256bit.org>
parents:
12765
diff
changeset
|
13 call WaitForAssert({-> assert_equal("fail", job_status(job))}) |
9764
e0b783389bea
commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 endif |
e0b783389bea
commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 endif |
e0b783389bea
commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 endfunc |