patch 8.1.1516: time reported for a test measured wrong

Problem:    Time reported for a test measured wrong.
Solution:   Move the computation to the end of RunTheTest(). (Ozaki Kiichi,
            closes #4520)
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index f855f68..f81c76d 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -133,13 +133,6 @@
     endtry
   endif
 
-  let message = 'Executed ' . a:test
-  if has('reltime')
-    let message ..= ' in ' .. reltimestr(reltime(func_start)) .. ' seconds'
-  endif
-  call add(s:messages, message)
-  let s:done += 1
-
   if a:test =~ 'Test_nocatch_'
     " Function handles errors itself.  This avoids skipping commands after the
     " error.
@@ -193,6 +186,13 @@
   endwhile
 
   exe 'cd ' . save_cwd
+
+  let message = 'Executed ' . a:test
+  if has('reltime')
+    let message ..= ' in ' .. reltimestr(reltime(func_start)) .. ' seconds'
+  endif
+  call add(s:messages, message)
+  let s:done += 1
 endfunc
 
 func AfterTheTest()