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
```
{
    fd = open(file.string().c_str(), O_RDWR);
    if (fd == -1) {
        reason = GetErrorReason();
    }
}
FileLock::~FileLock()
{
    if (fd != -1) {
        close(fd);
    }
}
bool FileLock::TryLock()
{
    if (fd == -1) {
        return false;
    }
    struct flock lock;
    lock.l_type = F_WRLCK;
    lock.l_whence = SEEK_SET;
    lock.l_start = 0;
    lock.l_len = 0;
    if (fcntl(fd, F_SETLK, &lock) == -1) {
        reason = GetErrorReason();
        return false;
    }
    return true;
}
#else
static std::string GetErrorReason() {