Mercurial > vim
annotate src/testdir/test_getcwd.in @ 9546:271f3ae34835 v7.4.2053
commit https://github.com/vim/vim/commit/e21d62435ef966b8adb40dee13ef9d6791316674
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jul 16 20:43:14 2016 +0200
patch 7.4.2053
Problem: Can't run scripttests in the top directory.
Solution: Add targets to the top Makefile.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 16 Jul 2016 20:45:10 +0200 |
parents | 05e7d084c6c2 |
children | a539e9e4e534 |
rev | line source |
---|---|
7653
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 Tests for getcwd(), haslocaldir(), and :lcd vim: set ft=vim : |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 STARTTEST |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 :so small.vim |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 :" Do all test in a separate window to avoid E211 when we recursively |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 :" delete the Xtopdir directory during cleanup |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 :" |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 :" This will cause a few errors, do it silently. |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 :set visualbell |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 :set nocp viminfo+=nviminfo |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 :" |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 :function! GetCwdInfo(win, tab) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 : let tab_changed = 0 |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 : let mod = ":t" |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 : if a:tab > 0 && a:tab != tabpagenr() |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 : let tab_changed = 1 |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 : exec "tabnext " . a:tab |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 : endif |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 : let bufname = fnamemodify(bufname(winbufnr(a:win)), mod) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 : if tab_changed |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 : tabprevious |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 : endif |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 : if a:win == 0 && a:tab == 0 |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 : let dirname = fnamemodify(getcwd(), mod) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 : let lflag = haslocaldir() |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 : elseif a:tab == 0 |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 : let dirname = fnamemodify(getcwd(a:win), mod) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 : let lflag = haslocaldir(a:win) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 : else |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 : let dirname = fnamemodify(getcwd(a:win, a:tab), mod) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
31 : let lflag = haslocaldir(a:win, a:tab) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
32 : endif |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
33 : return bufname . ' ' . dirname . ' ' . lflag |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 :endfunction |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 :" On windows a stale "Xtopdir" directory may exist, remove it so that |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 :" we start from a clean state. |
9254
05e7d084c6c2
commit https://github.com/vim/vim/commit/abc70bbf363dbbe3f2bf714102f55648a512791e
Christian Brabandt <cb@256bit.org>
parents:
7653
diff
changeset
|
37 :call delete("Xtopdir", "rf") |
7653
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
38 :let r=[] |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
39 :new |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
40 :let cwd=getcwd() |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
41 :let test_out = cwd . '/test.out' |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
42 :call mkdir('Xtopdir') |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
43 :cd Xtopdir |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
44 :call mkdir('Xdir1') |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
45 :call mkdir('Xdir2') |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
46 :call mkdir('Xdir3') |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
47 :new a |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
48 :new b |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
49 :new c |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
50 :3wincmd w |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
51 :lcd Xdir1 |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
52 :call add(r, GetCwdInfo(0, 0)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
53 :wincmd W |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
54 :call add(r, GetCwdInfo(0, 0)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
55 :wincmd W |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
56 :lcd Xdir3 |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
57 :call add(r, GetCwdInfo(0, 0)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
58 :call add(r, GetCwdInfo(bufwinnr("a"), 0)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
59 :call add(r, GetCwdInfo(bufwinnr("b"), 0)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
60 :call add(r, GetCwdInfo(bufwinnr("c"), 0)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
61 :wincmd W |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
62 :call add(r, GetCwdInfo(bufwinnr("a"), tabpagenr())) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
63 :call add(r, GetCwdInfo(bufwinnr("b"), tabpagenr())) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
64 :call add(r, GetCwdInfo(bufwinnr("c"), tabpagenr())) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
65 :" |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
66 :tabnew x |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
67 :new y |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
68 :new z |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
69 :3wincmd w |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
70 :call add(r, GetCwdInfo(0, 0)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
71 :wincmd W |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
72 :lcd Xdir2 |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
73 :call add(r, GetCwdInfo(0, 0)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
74 :wincmd W |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
75 :lcd Xdir3 |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
76 :call add(r, GetCwdInfo(0, 0)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
77 :call add(r, GetCwdInfo(bufwinnr("x"), 0)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
78 :call add(r, GetCwdInfo(bufwinnr("y"), 0)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
79 :call add(r, GetCwdInfo(bufwinnr("z"), 0)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
80 :let tp_nr = tabpagenr() |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
81 :tabrewind |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
82 :call add(r, GetCwdInfo(3, tp_nr)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
83 :call add(r, GetCwdInfo(2, tp_nr)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
84 :call add(r, GetCwdInfo(1, tp_nr)) |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
85 :" |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
86 :call writefile(r, test_out, "a") |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
87 :q |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
88 :exec "cd " . cwd |
9254
05e7d084c6c2
commit https://github.com/vim/vim/commit/abc70bbf363dbbe3f2bf714102f55648a512791e
Christian Brabandt <cb@256bit.org>
parents:
7653
diff
changeset
|
89 :call delete("Xtopdir", "rf") |
7653
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
90 :qa! |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
91 ENDTEST |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
92 |
d4370fef0175
commit https://github.com/vim/vim/commit/c970330676eaae7ba7cd05cfa46df5a413853ef9
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
93 |