Based on the logs, it appears that all the 9 failing jobs skipped the test. At the moment, I don’t know why the touch function didn’t throw here even after non-writable permissions given to the directory. The jobs failed because the clean up was not done after the test because of access denied errors. Restoring the original permissions of the directory in a finally block should help here.
0stderr:
1D:\a\bitcoin\bitcoin\build\test\functional\wallet_createwallet.py:39: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
2
3 self.log.warn("Skipping non-writable directory test: unable to enforce read-only permissions")
4
5Traceback (most recent call last):
6
7 File "D:\a\bitcoin\bitcoin\build\test\functional\wallet_createwallet.py", line 202, in <module>
8
9 CreateWalletTest(__file__).main()
10
11 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
12
13 File "D:\a\bitcoin\bitcoin\build\test\functional\test_framework\test_framework.py", line 154, in main
14
15 exit_code = self.shutdown()
16
17 File "D:\a\bitcoin\bitcoin\build\test\functional\test_framework\test_framework.py", line 332, in shutdown
18
19 shutil.rmtree(self.options.tmpdir)
20
21 ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
22
23 File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\shutil.py", line 852, in rmtree
24
25 _rmtree_impl(path, dir_fd, onexc)
26
27 ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
28
29 File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\shutil.py", line 697, in _rmtree_unsafe
30
31 onexc(os.rmdir, fullname, err)
32
33 ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
34
35 File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\shutil.py", line 693, in _rmtree_unsafe
36
37 os.rmdir(fullname)
38
39 ~~~~~~~~^^^^^^^^^^
40
41PermissionError: [WinError 5] Access is denied: 'D:\\a\\_temp\\test_runner_₿_🏃_20251230_063644\\wallet_createwallet_186\\node0\\regtest\\wallets\\bad_permissions'