Commit Graph

7081 Commits

Author SHA1 Message Date
Rui Abreu Ferreira
f3cc843755 win: libuv_process_spawn(): special-case cmd.exe
Disable CommandLineToArgvW-standard quoting for cmd.exe.

libuv assumes spawned processes follow the convention expected by
CommandLineToArgvW(). But cmd.exe is non-conformant, so for cmd.exe:
- With system([]), the caller has full control (and responsibility) to
  quote arguments correctly.
- With system(''), shell* options are used.

libuv quoting is disabled if argv[0] is:
- cmd.exe
- cmd
- $COMSPEC resolving to a path with filename cmd.exe

Closes #6329
References #6387
2017-04-12 02:10:34 +02:00
Rui Abreu Ferreira
799443c994 win/test: Enable more system() tests 2017-04-12 02:10:33 +02:00
Justin M. Keyes
d6e5f94ae9 win: defaults: 'shellredir', 'shellxquote', 'shellxescape' 2017-04-12 01:35:49 +02:00
Björn Linse
69775f603f ci: install Turkish locale and make locale tests more reliable 2017-04-11 10:24:19 +02:00
ZyX
78082e8d3e functests: Check whether it is a problem with an array 2017-04-11 11:05:19 +03:00
Justin M. Keyes
119f0ca854 test: helpers.execute() => helpers.feed_command() 2017-04-11 02:37:39 +02:00
Justin M. Keyes
dab3f86d09 win/test: Enable recover_spec.lua 2017-04-11 02:37:39 +02:00
ZyX
acd9ed8d83 functests: Add another check for the similar transformation
Reasoning is majorly the same: check whether lua has bug or API function has 
bug, but on the other side: previous commit is checking whether similar bug when 
using API via msgpack RPC, this commit is checking whether another API function 
used via lua bindings triggers the same bug. Should additionally give a hint 
about which lua code contains a bug.
2017-04-11 02:32:13 +03:00
ZyX
add76592d9 functests: Test for “string cannot contain newline” set_lines error
Should make me able to determine whether they are lua bindings that contain 
a bug or set_lines.
2017-04-11 02:24:37 +03:00
Justin M. Keyes
2d29638744 test: :file {name} 2017-04-11 00:39:12 +02:00
Justin M. Keyes
6cbf290d56 test/rmdir(): fallback to Nvim delete()
Lua has too many pitfalls here:
- os.execute() requires shell-escaping
- os.execute() has breaking changes between Lua 5.1 and 5.2
- No native way in Lua to handle "readonly" etc. on Windows
2017-04-11 00:39:12 +02:00
ZyX
9cad5155e3 functests: Make sure funcs.luaeval receives only one argument 2017-04-11 01:18:42 +03:00
Justin M. Keyes
0ce9618918 test/rmdir(): Remove readonly attr on Windows. 2017-04-10 22:59:30 +02:00
ZyX
ab4d13e2fa Merge branch 'master' into luaviml'/lua 2017-04-10 22:21:06 +03:00
Justin M. Keyes
fec53f0bdf Merge #6479 from bfredl/tolower
remove vim_tolower/etc functions with broken locale-dependent behavior
2017-04-10 15:23:44 +02:00
Justin M. Keyes
dd7f41e5a0 Merge #6488 from ZyX-I/coverity-fixes 2017-04-10 14:04:19 +02:00
Björn Linse
a3a06d0248 test: add tests for gu/gU behavior in Turkish locale 2017-04-10 12:02:25 +02:00
ZyX
fa7ace446e coverity/56795: Fix NULL dereference in :syn keyword non-printable
Bug was introduced 3 years earlier, in 13848aa: NULL keyword_copy was 
incorrectly treated as an indicator of OOM.
2017-04-09 23:38:05 +03:00
ZyX
35584594f5 coverity/13689: Check file header with memcmp
Not that it is actually useful (would fail in any case), but should fix coverity 
report.
2017-04-09 22:30:48 +03:00
ZyX
8f75b67c07 coverity/13688: Check for NUL bytes in salfrom 2017-04-09 22:16:26 +03:00
ZyX
ecce981dba coverity/13687: Do not allow NUL byte in region names 2017-04-09 22:02:51 +03:00
ZyX
5b4f07ee86 spellfile: Use old error
This makes first test not actually show any change in behaviour.
2017-04-09 22:02:51 +03:00
ZyX
8d982ab522 coverity/13686: Do not allow NUL byte in precondition regex
Before this commit it emitted e_spell_trunc in the first case and
treated file as completely valid on the second. While first is fine
(both errors are actually valid, though old error is probably better),
second results in incorrect regex used.
2017-04-09 22:02:36 +03:00
ZyX
dbe67868b5 Merge branch 'master' into rename-execute 2017-04-09 19:14:20 +03:00
ZyX
f5be643205 functests: Fix linter errors 2017-04-09 03:31:13 +03:00
ZyX
0ac2afdec7 functests: Fix some ui/*_spec tests 2017-04-09 03:24:26 +03:00
ZyX
ddaa41dee4 functests: Fix ui/bufhl_spec 2017-04-09 03:24:26 +03:00
ZyX
88ea362c70 functests: Fix ui/screen_basic_spec 2017-04-09 03:24:23 +03:00
ZyX
ba7d8bf0c2 functests: Fix terminal/highlight_spec 2017-04-09 03:24:22 +03:00
ZyX
e0560a0f3f functests: Fix terminal/cursor_spec
It looks like Neovim has a bug: if `startinsert` is called using `command()` 
then `-- TERMINAL --` gets replaced with `-- --` (and also a cursor appears).
2017-04-09 03:24:21 +03:00
ZyX
444cab3731 functests: Fix legacy/wordcount_spec
Another test where bug was hidden by execute().
2017-04-09 03:24:21 +03:00
ZyX
bd84bf8c81 functests: Fix legacy/eval_spec 2017-04-09 03:24:20 +03:00
ZyX
e170186a8d functests: Fix legacy/close_count_spec 2017-04-09 03:24:20 +03:00
ZyX
bc98c37532 functests: Fix legacy/autocmd_option_spec 2017-04-09 03:24:19 +03:00
ZyX
a3b0146fb7 functests: Fix legacy/arglist_spec 2017-04-09 03:24:19 +03:00
ZyX
2824eb7774 functests: Fix legacy/107_adjust_window_and_contents_spec 2017-04-09 03:24:18 +03:00
ZyX
5fd8f637af functests: Fix legacy/097_glob_path_spec 2017-04-09 03:24:18 +03:00
ZyX
9a0c921909 functests: Fix legacy/096_location_list_spec 2017-04-09 03:24:17 +03:00
ZyX
d53fae5f54 functests: Fix legacy/067_augroup_exists_spec 2017-04-09 03:24:15 +03:00
ZyX
69d1003bf7 functests: Fix some tests which are failing locally for unrelated reasons 2017-04-09 03:24:14 +03:00
ZyX
c35bd4d074 functests: Fix legacy/074_global_var_in_viminfo_spec 2017-04-09 03:24:13 +03:00
ZyX
4da4d5cfd9 functests: Fix legacy/065_float_and_logic_operators_spec 2017-04-09 03:24:12 +03:00
ZyX
cb57644cb4 functests: Fix legacy/063_match_and_matchadd_spec 2017-04-09 03:24:10 +03:00
ZyX
b3b31e1065 functests: Fix legacy/062_tab_pages_spec 2017-04-09 03:24:10 +03:00
ZyX
ed0ad7ce3e functests: Fix legacy/051_highlight_spec test 2017-04-09 03:24:09 +03:00
ZyX
a1b81f7eca functests: Fix legacy/030_fileformats_spec test
For some reason it had a number of not working bwipeout! commands. execute() 
successfully hid the failures, command() is not that permissive.
2017-04-09 03:24:09 +03:00
ZyX
65fb622000 functests: Replace execute with either command or feed_command
Hope this will make people using feed_command less likely: this hides bugs.
Already found at least two:

1. msgpackparse() will show internal error: hash_add() in case of duplicate
   keys, though it will still work correctly. Currently silenced.
2. ttimeoutlen was spelled incorrectly, resulting in option not being set when
   expected. Test was still functioning somehow though. Currently fixed.
2017-04-09 03:24:08 +03:00
Justin M. Keyes
a34408ef7f test: retry(): Report number of retries. (#6475)
tui_spec.lua: Retry the terminal-mode test.
2017-04-09 02:11:08 +02:00
ZyX
9158cc171f functests: Refactor options/pastetoggle
Note: typo, ttimeoutlen not set ever.

Mention @hardenedapple
2017-04-08 23:48:22 +03:00
ZyX
dd93733e52 functests: Refactor legacy/054_buffer_local_autocommands_spec 2017-04-08 22:33:02 +03:00