mirror of
https://github.com/neovim/neovim.git
synced 2025-09-05 19:08:15 +00:00
vim-patch:8.2.4234: test_garbagecollect_now() does not check v:testing
Problem: test_garbagecollect_now() does not check v:testing as documented.
Solution: Give an error if v:testing is not set.
b3d83980d2
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
@@ -2206,6 +2206,12 @@ func Test_range()
|
||||
call assert_equal([0, 1, 2, 3, 4], uniq(range(5)))
|
||||
endfunc
|
||||
|
||||
func Test_garbagecollect_now_fails()
|
||||
let v:testing = 0
|
||||
call assert_fails('call test_garbagecollect_now()', 'E1142:')
|
||||
let v:testing = 1
|
||||
endfunc
|
||||
|
||||
" Test for the eval() function
|
||||
func Test_eval()
|
||||
call assert_fails("call eval('5 a')", 'E488:')
|
||||
|
@@ -14,6 +14,9 @@
|
||||
# include "testing.c.generated.h"
|
||||
#endif
|
||||
|
||||
static char e_calling_test_garbagecollect_now_while_v_testing_is_not_set[]
|
||||
= N_("E1142: Calling test_garbagecollect_now() while v:testing is not set");
|
||||
|
||||
/// Prepare "gap" for an assert error and add the sourcing position.
|
||||
static void prepare_assert_error(garray_T *gap)
|
||||
{
|
||||
@@ -614,7 +617,11 @@ void f_test_garbagecollect_now(typval_T *argvars, typval_T *rettv, EvalFuncData
|
||||
{
|
||||
// This is dangerous, any Lists and Dicts used internally may be freed
|
||||
// while still in use.
|
||||
garbage_collect(true);
|
||||
if (!get_vim_var_nr(VV_TESTING)) {
|
||||
emsg(_(e_calling_test_garbagecollect_now_while_v_testing_is_not_set));
|
||||
} else {
|
||||
garbage_collect(true);
|
||||
}
|
||||
}
|
||||
|
||||
/// "test_write_list_log()" function
|
||||
|
Reference in New Issue
Block a user