The following tests are not emoji-safe:

```
TEST                     | STATUS    | DURATION

feature_config_args.py   | ✖ Failed  | 17 s
feature_includeconf.py   | ✖ Failed  | 11 s
interface_bitcoin_cli.py | ✖ Failed  | 8 s
wallet_multiwallet.py    | ✖ Failed  | 6 s

ALL                      | ✖ Failed  | 42 s (accumulated) 
Runtime: 17 s
```
#include <fs.h>
#ifndef WIN32
#include <fcntl.h>
#else
#define NOMINMAX
#include <codecvt>
#include <windows.h>
#endif
namespace fsbridge {
FILE *fopen(const fs::path& p, const char *mode)
{
#ifndef WIN32
    return ::fopen(p.string().c_str(), mode);
#else
    std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>,wchar_t> utf8_cvt;
    return ::_wfopen(p.wstring().c_str(), utf8_cvt.from_bytes(mode).c_str());
#endif
}
#ifndef WIN32
static std::string GetErrorReason() {
    return std::strerror(errno);
}
FileLock::FileLock(const fs::path& file)