annotate src/testdir/test_file_perm.vim @ 17308:d04de6c49f59 v8.1.1653

patch 8.1.1653: ubsan warns for possibly passing NULL pointer commit https://github.com/vim/vim/commit/0d07155c8bbaca1a527b79da358438253a60839f Author: Bram Moolenaar <Bram@vim.org> Date: Mon Jul 8 22:04:03 2019 +0200 patch 8.1.1653: ubsan warns for possibly passing NULL pointer Problem: Ubsan warns for possibly passing NULL pointer. Solution: Skip code when length is zero. (Dominique Pelle, closes https://github.com/vim/vim/issues/4631)
author Bram Moolenaar <Bram@vim.org>
date Mon, 08 Jul 2019 22:15:04 +0200
parents 988ddc5742f5
children 4935244c1128
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8451
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Test getting and setting file permissions.
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
3 func Test_file_perm()
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
4 call assert_equal('', getfperm('Xtest'))
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5 call assert_equal(0, setfperm('Xtest', 'r--------'))
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7 call writefile(['one'], 'Xtest')
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 call assert_true(len(getfperm('Xtest')) == 9)
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 call assert_equal(1, setfperm('Xtest', 'rwx------'))
8461
988ddc5742f5 commit https://github.com/vim/vim/commit/8322e1f06e8fa39a6bb790a7d8d7db5d7aff3366
Christian Brabandt <cb@256bit.org>
parents: 8451
diff changeset
11 if has('win32')
988ddc5742f5 commit https://github.com/vim/vim/commit/8322e1f06e8fa39a6bb790a7d8d7db5d7aff3366
Christian Brabandt <cb@256bit.org>
parents: 8451
diff changeset
12 call assert_equal('rw-rw-rw-', getfperm('Xtest'))
988ddc5742f5 commit https://github.com/vim/vim/commit/8322e1f06e8fa39a6bb790a7d8d7db5d7aff3366
Christian Brabandt <cb@256bit.org>
parents: 8451
diff changeset
13 else
988ddc5742f5 commit https://github.com/vim/vim/commit/8322e1f06e8fa39a6bb790a7d8d7db5d7aff3366
Christian Brabandt <cb@256bit.org>
parents: 8451
diff changeset
14 call assert_equal('rwx------', getfperm('Xtest'))
988ddc5742f5 commit https://github.com/vim/vim/commit/8322e1f06e8fa39a6bb790a7d8d7db5d7aff3366
Christian Brabandt <cb@256bit.org>
parents: 8451
diff changeset
15 endif
8451
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 call assert_equal(1, setfperm('Xtest', 'r--r--r--'))
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 call assert_equal('r--r--r--', getfperm('Xtest'))
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20 call assert_fails("setfperm('Xtest', '---')")
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 call assert_equal(1, setfperm('Xtest', 'rwx------'))
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23 call delete('Xtest')
c0b5c2b0a5ee commit https://github.com/vim/vim/commit/8049253b96838b3584600e5ad229abad37a95b10
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 endfunc