patch 8.2.2589: recover test hangs in the GUI

Problem:    Recover test hangs in the GUI.
Solution:   Add g:skipped_reason to skip a _nocatch_ test.
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index 369d931..4602051 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -196,7 +196,12 @@
   if a:test =~ 'Test_nocatch_'
     " Function handles errors itself.  This avoids skipping commands after the
     " error.
+    let g:skipped_reason = ''
     exe 'call ' . a:test
+    if g:skipped_reason != ''
+      call add(s:messages, '    Skipped')
+      call add(s:skipped, 'SKIPPED ' . a:test . ': ' . g:skipped_reason)
+    endif
   else
     try
       au VimLeavePre * call EarlyExit(g:testfunc)
diff --git a/src/testdir/test_recover.vim b/src/testdir/test_recover.vim
index 2867663..a1ff7d9 100644
--- a/src/testdir/test_recover.vim
+++ b/src/testdir/test_recover.vim
@@ -80,9 +80,15 @@
 
 func Test_nocatch_process_still_running()
   " sysinfo.uptime probably only works on Linux
-  CheckLinux
+  if !has('linux')
+    let g:skipped_reason = 'only works on Linux'
+    return
+  endif
   " the GUI dialog can't be handled
-  CheckNotGui
+  if has('gui_running')
+    let g:skipped_reason = 'only works in the terminal'
+    return
+  endif
 
   " don't intercept existing swap file here
   au! SwapExists
diff --git a/src/version.c b/src/version.c
index 4d693c4..87ac80f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2589,
+/**/
     2588,
 /**/
     2587,