patch 8.2.2046: some test failures don't give a clear error

Problem:    Some test failures don't give a clear error.
Solution:   Use assert_match() and assert_fails() instead of assert_true().
            (Ken Takata, closes #7368)
diff --git a/src/testdir/test_backspace_opt.vim b/src/testdir/test_backspace_opt.vim
index b7e0024..d70a6d0 100644
--- a/src/testdir/test_backspace_opt.vim
+++ b/src/testdir/test_backspace_opt.vim
@@ -1,15 +1,5 @@
 " Tests for 'backspace' settings
 
-func Exec(expr)
-  let str=''
-  try
-    exec a:expr
-  catch /.*/
-    let str=v:exception
-  endtry
-  return str
-endfunc
-
 func Test_backspace_option()
   set backspace=
   call assert_equal('', &backspace)
@@ -41,10 +31,10 @@
   set backspace-=eol
   call assert_equal('', &backspace)
   " Check the error
-  call assert_equal(0, match(Exec('set backspace=ABC'), '.*E474:'))
-  call assert_equal(0, match(Exec('set backspace+=def'), '.*E474:'))
+  call assert_fails('set backspace=ABC', 'E474:')
+  call assert_fails('set backspace+=def', 'E474:')
   " NOTE: Vim doesn't check following error...
-  "call assert_equal(0, match(Exec('set backspace-=ghi'), '.*E474:'))
+  "call assert_fails('set backspace-=ghi', 'E474:')
 
   " Check backwards compatibility with version 5.4 and earlier
   set backspace=0
@@ -55,8 +45,8 @@
   call assert_equal('2', &backspace)
   set backspace=3
   call assert_equal('3', &backspace)
-  call assert_false(match(Exec('set backspace=4'), '.*E474:'))
-  call assert_false(match(Exec('set backspace=10'), '.*E474:'))
+  call assert_fails('set backspace=4', 'E474:')
+  call assert_fails('set backspace=10', 'E474:')
 
   " Cleared when 'compatible' is set
   set compatible