patch 9.1.0474: CI: Test_ColonEight() fails on github runners

Problem:  CI: Test_ColonEight() fails on github runners
          (Ken Takata)
Solution: Run the test for files on the C: drive, where dos shortnames
          are still enabled, refactor the tests to use a single setup
          function for the preparation

fixes: #14954
closes: #14958

Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/test_shortpathname.vim b/src/testdir/test_shortpathname.vim
index 59361ca..0c41692 100644
--- a/src/testdir/test_shortpathname.vim
+++ b/src/testdir/test_shortpathname.vim
@@ -16,18 +16,14 @@
   endif
 endfunc
 
-func Test_ColonEight()
-  let save_dir = getcwd()
-
-  " This could change for CygWin to //cygdrive/c .
-  let dir1 = 'c:/x.x.y'
+func s:SetupDir(dir)
   let trycount = 5
   while 1
-    if !filereadable(dir1) && !isdirectory(dir1)
+    if !filereadable(a:dir) && !isdirectory(a:dir)
       break
     endif
     if trycount == 1
-      call assert_report("Fatal: '" . dir1 . "' exists, cannot run this test")
+      call assert_report("Fatal: '" . a:dir . "' exists, cannot run this test")
       return
     endif
     " When tests run in parallel the directory may exist, wait a bit until it
@@ -35,6 +31,15 @@
     sleep 5
     let trycount -= 1
   endwhile
+endfunc
+
+
+func Test_ColonEight()
+  let save_dir = getcwd()
+
+  " This could change for CygWin to //cygdrive/c .
+  let dir1 = 'c:/x.x.y'
+  call s:SetupDir(dir1)
 
   let file1 = dir1 . '/zz.y.txt'
   let nofile1 = dir1 . '/z.y.txt'
@@ -78,8 +83,8 @@
 endfunc
 
 func Test_ColonEight_MultiByte()
-  let g:test_is_flaky = 1
-  let dir = 'Xtest'
+  let dir = 'c:/Xtest_C8MB'
+  call s:SetupDir(dir)
 
   let file = dir . '/日本語のファイル.txt'
 
diff --git a/src/version.c b/src/version.c
index 78668ea..fc4490d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    474,
+/**/
     473,
 /**/
     472,