patch 8.1.0161: buffer not updated with 'autoread' set if file was deleted

Problem:    Buffer not updated with 'autoread' set if file was deleted.
            (Michael Naumann)
Solution:   Don't set the timestamp to zero. (closes #3165)
diff --git a/src/testdir/test_stat.vim b/src/testdir/test_stat.vim
index de5fac4..307cf5e 100644
--- a/src/testdir/test_stat.vim
+++ b/src/testdir/test_stat.vim
@@ -46,6 +46,15 @@
   call assert_equal('rwx', getfperm(dname)[0:2])
 endfunc
 
+func SleepForTimestamp()
+  " FAT has a granularity of 2 seconds, otherwise it's usually 1 second
+  if has('win32')
+    sleep 2
+  else
+    sleep 1
+  endif
+endfunc
+
 func Test_checktime()
   let fname = 'Xtest.tmp'
 
@@ -53,12 +62,7 @@
   call writefile(fl, fname)
   set autoread
   exec 'e' fname
-  " FAT has a granularity of 2 seconds, otherwise it's usually 1 second
-  if has('win32')
-    sleep 2
-  else
-    sleep 1
-  endif
+  call SleepForTimestamp()
   let fl = readfile(fname)
   let fl[0] .= ' - checktime'
   call writefile(fl, fname)
@@ -68,6 +72,46 @@
   call delete(fname)
 endfunc
 
+func Test_autoread_file_deleted()
+  new Xautoread
+  set autoread
+  call setline(1, 'original')
+  w!
+
+  call SleepForTimestamp()
+  if has('win32')
+    silent !echo changed > Xautoread
+  else
+    silent !echo 'changed' > Xautoread
+  endif
+  checktime
+  call assert_equal('changed', trim(getline(1)))
+
+  call SleepForTimestamp()
+  messages clear
+  if has('win32')
+    silent !del Xautoread
+  else
+    silent !rm Xautoread
+  endif
+  checktime
+  call assert_match('E211:', execute('messages'))
+  call assert_equal('changed', trim(getline(1)))
+
+  call SleepForTimestamp()
+  if has('win32')
+    silent !echo recreated > Xautoread
+  else
+    silent !echo 'recreated' > Xautoread
+  endif
+  checktime
+  call assert_equal('recreated', trim(getline(1)))
+
+  call delete('Xautoread')
+  bwipe!
+endfunc
+
+
 func Test_nonexistent_file()
   let fname = 'Xtest.tmp'