patch 8.0.0701: system test failing when using X11 forwarding

Problem:    System test failing when using X11 forwarding.
Solution:   Set $XAUTHORITY before changing $HOME. (closes #1812)
            Also use a better check for the exit value.
diff --git a/src/testdir/setup.vim b/src/testdir/setup.vim
index a028401..4b6c089 100644
--- a/src/testdir/setup.vim
+++ b/src/testdir/setup.vim
@@ -8,7 +8,11 @@
 
 " Only when the +eval feature is present. 
 if 1
+  " Make sure the .Xauthority file can be found after changing $HOME.
+  if $XAUTHORITY == ''
+    let $XAUTHORITY = $HOME . '/.Xauthority'
+  endif
+
   " Make sure $HOME does not get read or written.
   let $HOME = '/does/not/exist'
 endif
-
diff --git a/src/testdir/test_system.vim b/src/testdir/test_system.vim
index d6886b0..5f766c7 100644
--- a/src/testdir/test_system.vim
+++ b/src/testdir/test_system.vim
@@ -49,12 +49,12 @@
 
 function! Test_system_exmode()
   if has('unix') " echo $? only works on Unix
-    let cmd = ' -es -u NONE -c "source Xscript" +q; echo $?'
+    let cmd = ' -es -u NONE -c "source Xscript" +q; echo "result=$?"'
     " Need to put this in a script, "catch" isn't found after an unknown
     " function.
     call writefile(['try', 'call doesnotexist()', 'catch', 'endtry'], 'Xscript')
     let a = system(v:progpath . cmd)
-    call assert_equal('0', a[0])
+    call assert_match('result=0', a)
     call assert_equal(0, v:shell_error)
   endif