Mercurial > vim
diff src/eval.c @ 13796:87012d2b17b5 v8.0.1770
patch 8.0.1770: assert functions don't return anything
commit https://github.com/vim/vim/commit/65a5464985f980d2bbbf4e14d39d416dce065ec7
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Apr 28 16:56:53 2018 +0200
patch 8.0.1770: assert functions don't return anything
Problem: Assert functions don't return anything.
Solution: Return non-zero when the assertion fails.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 28 Apr 2018 17:00:06 +0200 |
parents | e76499e85744 |
children | eadecbe4e390 |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -8815,7 +8815,7 @@ assert_error(garray_T *gap) list_append_string(vimvars[VV_ERRORS].vv_list, gap->ga_data, gap->ga_len); } - void + int assert_equal_common(typval_T *argvars, assert_type_T atype) { garray_T ga; @@ -8828,10 +8828,12 @@ assert_equal_common(typval_T *argvars, a atype); assert_error(&ga); ga_clear(&ga); - } -} - - void + return 1; + } + return 0; +} + + int assert_equalfile(typval_T *argvars) { char_u buf1[NUMBUFLEN]; @@ -8843,7 +8845,7 @@ assert_equalfile(typval_T *argvars) FILE *fd2; if (fname1 == NULL || fname2 == NULL) - return; + return 0; IObuff[0] = NUL; fd1 = mch_fopen((char *)fname1, READBIN); @@ -8897,10 +8899,12 @@ assert_equalfile(typval_T *argvars) ga_concat(&ga, IObuff); assert_error(&ga); ga_clear(&ga); - } -} - - void + return 1; + } + return 0; +} + + int assert_match_common(typval_T *argvars, assert_type_T atype) { garray_T ga; @@ -8918,10 +8922,12 @@ assert_match_common(typval_T *argvars, a atype); assert_error(&ga); ga_clear(&ga); - } -} - - void + return 1; + } + return 0; +} + + int assert_inrange(typval_T *argvars) { garray_T ga; @@ -8934,7 +8940,7 @@ assert_inrange(typval_T *argvars) char_u numbuf[NUMBUFLEN]; if (error) - return; + return 0; if (actual < lower || actual > upper) { prepare_assert_error(&ga); @@ -8951,13 +8957,16 @@ assert_inrange(typval_T *argvars) } assert_error(&ga); ga_clear(&ga); - } + return 1; + } + return 0; } /* * Common for assert_true() and assert_false(). - */ - void + * Return non-zero for failure. + */ + int assert_bool(typval_T *argvars, int isTrue) { int error = FALSE; @@ -8965,7 +8974,7 @@ assert_bool(typval_T *argvars, int isTru if (argvars[0].v_type == VAR_SPECIAL && argvars[0].vval.v_number == (isTrue ? VVAL_TRUE : VVAL_FALSE)) - return; + return 0; if (argvars[0].v_type != VAR_NUMBER || (get_tv_number_chk(&argvars[0], &error) == 0) == isTrue || error) @@ -8976,10 +8985,12 @@ assert_bool(typval_T *argvars, int isTru NULL, &argvars[0], ASSERT_OTHER); assert_error(&ga); ga_clear(&ga); - } -} - - void + return 1; + } + return 0; +} + + int assert_report(typval_T *argvars) { garray_T ga; @@ -8988,9 +8999,10 @@ assert_report(typval_T *argvars) ga_concat(&ga, get_tv_string(&argvars[0])); assert_error(&ga); ga_clear(&ga); -} - - void + return 1; +} + + int assert_exception(typval_T *argvars) { garray_T ga; @@ -9002,6 +9014,7 @@ assert_exception(typval_T *argvars) ga_concat(&ga, (char_u *)"v:exception is not set"); assert_error(&ga); ga_clear(&ga); + return 1; } else if (error != NULL && strstr((char *)vimvars[VV_EXCEPTION].vv_str, (char *)error) == NULL) @@ -9011,14 +9024,17 @@ assert_exception(typval_T *argvars) &vimvars[VV_EXCEPTION].vv_tv, ASSERT_OTHER); assert_error(&ga); ga_clear(&ga); - } -} - - void + return 1; + } + return 0; +} + + int assert_beeps(typval_T *argvars) { char_u *cmd = get_tv_string_chk(&argvars[0]); garray_T ga; + int ret = 0; called_vim_beep = FALSE; suppress_errthrow = TRUE; @@ -9031,17 +9047,20 @@ assert_beeps(typval_T *argvars) ga_concat(&ga, cmd); assert_error(&ga); ga_clear(&ga); + ret = 1; } suppress_errthrow = FALSE; emsg_on_display = FALSE; -} - - void + return ret; +} + + int assert_fails(typval_T *argvars) { char_u *cmd = get_tv_string_chk(&argvars[0]); garray_T ga; + int ret = 0; called_emsg = FALSE; suppress_errthrow = TRUE; @@ -9054,6 +9073,7 @@ assert_fails(typval_T *argvars) ga_concat(&ga, cmd); assert_error(&ga); ga_clear(&ga); + ret = 1; } else if (argvars[1].v_type != VAR_UNKNOWN) { @@ -9068,6 +9088,7 @@ assert_fails(typval_T *argvars) &vimvars[VV_ERRMSG].vv_tv, ASSERT_OTHER); assert_error(&ga); ga_clear(&ga); + ret = 1; } } @@ -9076,6 +9097,7 @@ assert_fails(typval_T *argvars) emsg_silent = FALSE; emsg_on_display = FALSE; set_vim_var_string(VV_ERRMSG, NULL, 0); + return ret; } /*