summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/asio/src/tests/unit/ip/network_v4.cpp
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/asio/src/tests/unit/ip/network_v4.cpp')
-rw-r--r--3rdparty/asio/src/tests/unit/ip/network_v4.cpp25
1 files changed, 19 insertions, 6 deletions
diff --git a/3rdparty/asio/src/tests/unit/ip/network_v4.cpp b/3rdparty/asio/src/tests/unit/ip/network_v4.cpp
index 7d07ffd6928..06fb34d0dbd 100644
--- a/3rdparty/asio/src/tests/unit/ip/network_v4.cpp
+++ b/3rdparty/asio/src/tests/unit/ip/network_v4.cpp
@@ -2,7 +2,7 @@
// network_v4.cpp
// ~~~~~~~~~~~~~~
//
-// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
@@ -95,15 +95,15 @@ void test()
net1 = ip::make_network_v4("10.0.0.0/8", ec);
net1 = ip::make_network_v4(s1);
net1 = ip::make_network_v4(s1, ec);
-#if defined(ASIO_HAS_STD_STRING_VIEW)
-# if defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
- std::experimental::string_view string_view_value("10.0.0.0/8");
-# else // defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
+#if defined(ASIO_HAS_STRING_VIEW)
+# if defined(ASIO_HAS_STD_STRING_VIEW)
std::string_view string_view_value("10.0.0.0/8");
+# elif defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
+ std::experimental::string_view string_view_value("10.0.0.0/8");
# endif // defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
net1 = ip::make_network_v4(string_view_value);
net1 = ip::make_network_v4(string_view_value, ec);
-#endif // defined(ASIO_HAS_STD_STRING_VIEW)
+#endif // defined(ASIO_HAS_STRING_VIEW)
// network_v4 I/O.
@@ -220,6 +220,19 @@ void test()
ASIO_CHECK(make_network_v4("192.168.77.100/24").network() == make_address_v4("192.168.77.0"));
ASIO_CHECK(make_network_v4("192.168.77.128/25").network() == make_address_v4("192.168.77.128"));
+ // construct network from invalid string
+ asio::error_code ec;
+ make_network_v4("10.0.0.256/24", ec);
+ ASIO_CHECK(!!ec);
+ make_network_v4("10.0.0.0/33", ec);
+ ASIO_CHECK(!!ec);
+ make_network_v4("10.0.0.0/-1", ec);
+ ASIO_CHECK(!!ec);
+ make_network_v4("10.0.0.0/", ec);
+ ASIO_CHECK(!!ec);
+ make_network_v4("10.0.0.0", ec);
+ ASIO_CHECK(!!ec);
+
// prefix length
ASIO_CHECK(make_network_v4("193.99.144.80/24").prefix_length() == 24);
ASIO_CHECK(network_v4(make_address_v4("193.99.144.80"), 24).prefix_length() == 24);