Currently, the wallet_multiwallet.py and feature_unsupported_utxo_db.py functional tests are disabled on CI because they rely on legacy wallet binaries that do not correctly handle Unicode paths.
This is tracked as a TODO in .github/workflows/ci.yml. The limitation also blocks efforts to expand ancient wallet test coverage (e.g. bitcoin/bitcoin#33186).
This PR restores functional test coverage on Windows CI by addressing two root causes:
-
Skip Windows-incompatible tests in
wallet_multiwallet: Several test cases depend on Unix-specific filesystem behavior that is not supported on Windows:- Directory permission tests using chmod (Windows ignores
os.chmod(path, 0)) - Recursive directory symlink tests (unsupported by listwalletdir)
- File symlink detection tests (Windows handles file symlinks differently)
- Directory permission tests using chmod (Windows ignores
-
Use ASCII-only tmpdir for old binary tests: When running tests against previous releases (
feature_unsupported_utxo_db,wallet_multiwallet) on Windows, an ASCII-only temporary directory name (test_runner_btc_run_) is used instead oftest_runner_₿_🏃_. This avoids failures caused by older binaries lacking proper Unicode path support.