patch 8.2.1555: not all tests are executed on Github Actions

Problem:    Not all tests are executed on Github Actions.
Solution:   Copy "src" to "src2" earlier. Recognize "src2" in a couple more
            places.  Add two tests to the list of flaky tests. (Ken Takata,
            closes #6798)
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index 9985404..1a83227 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -382,7 +382,9 @@
 
 " Names of flaky tests.
 let s:flaky_tests = [
+      \ 'Test_BufWrite_lockmarks()',
       \ 'Test_autocmd_SafeState()',
+      \ 'Test_bufunload_all()',
       \ 'Test_client_server()',
       \ 'Test_close_and_exit_cb()',
       \ 'Test_close_output_buffer()',
diff --git a/src/testdir/test_python2.vim b/src/testdir/test_python2.vim
index 8fa7340..fd8fe70 100644
--- a/src/testdir/test_python2.vim
+++ b/src/testdir/test_python2.vim
@@ -2412,7 +2412,7 @@
     cb.append(vim.eval('@%'))
     os.chdir('..')
     path = fnamemodify('.', ':p:h:t')
-    if path != 'src':
+    if path != 'src' and path != 'src2':
       # Running tests from a shadow directory, so move up another level
       # This will result in @% looking like shadow/testdir/Xfile, hence the
       # extra fnamemodify
@@ -2422,7 +2422,8 @@
       os.chdir(path)
       del path
     else:
-      cb.append(fnamemodify('.', ':p:h:t'))
+      # Also accept running from src2/testdir/ for MS-Windows CI.
+      cb.append(fnamemodify('.', ':p:h:t').replace('src2', 'src'))
       cb.append(vim.eval('@%').replace(os.path.sep, '/'))
     os.chdir('testdir')
     cb.append(fnamemodify('.', ':p:h:t'))
diff --git a/src/testdir/test_python3.vim b/src/testdir/test_python3.vim
index 0885c96..1bdb4c1 100644
--- a/src/testdir/test_python3.vim
+++ b/src/testdir/test_python3.vim
@@ -2591,7 +2591,7 @@
     cb.append(vim.eval('@%'))
     os.chdir('..')
     path = fnamemodify('.', ':p:h:t')
-    if path != b'src':
+    if path != b'src' and path != b'src2':
       # Running tests from a shadow directory, so move up another level
       # This will result in @% looking like shadow/testdir/Xfile, hence the
       # slicing to remove the leading path and path separator
@@ -2600,7 +2600,8 @@
       cb.append(vim.eval('@%')[len(path)+1:].replace(os.path.sep, '/'))
       os.chdir(path)
     else:
-      cb.append(str(fnamemodify('.', ':p:h:t')))
+      # Also accept running from src2/testdir/ for MS-Windows CI.
+      cb.append(str(fnamemodify('.', ':p:h:t').replace(b'src2', b'src')))
       cb.append(vim.eval('@%').replace(os.path.sep, '/'))
     del path
     os.chdir('testdir')