It's not clear to me if dropping support for this functionality was intentional.

Chain of events:

- #21689 removed test coverage due to a misunderstanding due, I believe, to this functionality being generally supported by all platforms except macOS which does not and returns a different format
- #21756 removed support and caused this regression
- #21690 restores the test coverage that would have caught this regression

Currently, neither the test coverage before #21689 nor the coverage restored by #21690 pass since the merge of #21756.

}
        m_net = NET_ONION;
        m_addr.assign(input_pubkey.begin(), input_pubkey.end());
        return true;
    }
    }
    return false;
}
bool CNetAddr::SetI2P(const std::string& addr)
{
    
    static constexpr size_t b32_len{52};
    static const char* suffix{".b32.i2p"};
    static constexpr size_t suffix_len{8};
    if (addr.size() != b32_len + suffix_len || ToLower(addr.substr(b32_len)) != suffix) {
        return false;
    }
    
    
    const std::string b32_padded = addr.substr(0, b32_len) + "====";
    bool invalid;
    const auto& address_bytes = DecodeBase32(b32_padded.c_str(), &invalid);
    if (invalid || address_bytes.size() != ADDR_I2P_SIZE) {
        return false;
    }
    m_net = NET_I2P;
    m_addr.assign(address_bytes.begin(), address_bytes.end());
    return true;
}
CNetAddr::CNetAddr(const struct in_addr& ipv4Addr)