Fix
ci / checks (push) Has been cancelled

This commit is contained in:
khodowany
2026-09-19 07:57:19 -05:00
parent 7a74ebf04d
commit e1410b0fdc
367 changed files with 485705 additions and 0 deletions
+23
View File
@@ -14,9 +14,11 @@
#include <boost/asio/co_spawn.hpp>
#include <boost/asio/io_context.hpp>
#include <boost/asio/ip/address_v6.hpp>
#include <boost/asio/ip/tcp.hpp>
#include <boost/asio/use_future.hpp>
#include <boost/json.hpp>
#include <boost/system/error_code.hpp>
#include <openssl/sha.h>
#include <raylib.h>
@@ -67,6 +69,23 @@ auto health_router(boost::json::value payload) -> ligo::service_router {
return router;
}
auto ipv6_loopback_available(boost::unit_test::test_unit_id) -> boost::test_tools::assertion_result {
auto io = boost::asio::io_context{};
auto acceptor = boost::asio::ip::tcp::acceptor{io};
auto error = boost::system::error_code{};
acceptor.open(boost::asio::ip::tcp::v6(), error);
if (!error) {
acceptor.bind({boost::asio::ip::address_v6::loopback(), 0}, error);
}
// Other setup failures must still be exercised by the HTTP server test.
auto unavailable = error == boost::system::errc::address_family_not_supported || error == boost::system::errc::address_not_available || error == boost::system::errc::protocol_not_supported;
auto result = boost::test_tools::assertion_result{!unavailable};
if (unavailable) {
result.message() << "IPv6 loopback is unavailable: " << error.message();
}
return result;
}
struct http_service {
boost::asio::io_context io;
ligo::http::server server;
@@ -192,7 +211,11 @@ BOOST_AUTO_TEST_CASE(health_uses_configured_bind_and_normalizes_wildcards) {
BOOST_TEST(vamp_zero::check_health(service.config("0.0.0.0")).has_value());
auto other = http_service{health_router(healthy_payload()), "127.0.0.2"};
BOOST_TEST(vamp_zero::check_health(other.config("127.0.0.2")).has_value());
}
BOOST_AUTO_TEST_CASE(health_normalizes_ipv6_wildcards, *boost::unit_test::precondition(ipv6_loopback_available)) {
auto ipv6 = http_service{health_router(healthy_payload()), "::1"};
BOOST_TEST(vamp_zero::check_health(ipv6.config("[::1]")).has_value());
BOOST_TEST(vamp_zero::check_health(ipv6.config("[::]")).has_value());
BOOST_TEST(vamp_zero::check_health(ipv6.config("[0:0:0:0:0:0:0:0]")).has_value());
}