Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: mbed-TFT-example-NCS36510 mbed-Accelerometer-example-NCS36510 mbed-Accelerometer-example-NCS36510
main.cpp
00001 #include "mbed.h" 00002 #include "greentea-client/test_env.h" 00003 #include "unity.h" 00004 #include "utest.h" 00005 00006 using namespace utest::v1; 00007 00008 00009 // IP parsing verification 00010 void test_ip_accept(const char *string, nsapi_addr_t addr) { 00011 SocketAddress address; 00012 TEST_ASSERT(address.set_ip_address(string)); 00013 TEST_ASSERT(address == SocketAddress(addr)); 00014 } 00015 00016 template <const char *string> 00017 void test_ip_reject() { 00018 SocketAddress address; 00019 TEST_ASSERT(!address.set_ip_address(string)); 00020 TEST_ASSERT(!address); 00021 } 00022 00023 #define TEST_IP_ACCEPT(name, string, ...) \ 00024 void name() { \ 00025 nsapi_addr_t addr = __VA_ARGS__; \ 00026 test_ip_accept(string, addr); \ 00027 } 00028 00029 #define TEST_IP_REJECT(name, string) \ 00030 void name() { \ 00031 test_ip_reject(string); \ 00032 } 00033 00034 00035 // Test cases 00036 TEST_IP_ACCEPT(test_simple_ipv4_address, 00037 "12.34.56.78", 00038 {NSAPI_IPv4 ,{12,34,56,78}}) 00039 TEST_IP_ACCEPT(test_left_weighted_ipv4_address, 00040 "255.0.0.0", 00041 {NSAPI_IPv4 ,{255,0,0,0}}) 00042 TEST_IP_ACCEPT(test_right_weighted_ipv4_address, 00043 "0.0.0.255", 00044 {NSAPI_IPv4 ,{0,0,0,255}}) 00045 TEST_IP_ACCEPT(test_null_ipv4_address, 00046 "0.0.0.0", 00047 {NSAPI_IPv4 ,{0,0,0,0}}) 00048 00049 TEST_IP_ACCEPT(test_simple_ipv6_address, 00050 "1234:5678:9abc:def0:1234:5678:9abc:def0", 00051 {NSAPI_IPv6 ,{0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0, 00052 0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}}) 00053 TEST_IP_ACCEPT(test_left_weighted_ipv6_address, 00054 "1234:5678::", 00055 {NSAPI_IPv6 ,{0x12,0x34,0x56,0x78,0x00,0x00,0x00,0x00, 00056 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}) 00057 TEST_IP_ACCEPT(test_right_weighted_ipv6_address, 00058 "::1234:5678", 00059 {NSAPI_IPv6 ,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 00060 0x00,0x00,0x00,0x00,0x12,0x34,0x56,0x78}}) 00061 TEST_IP_ACCEPT(test_hollowed_ipv6_address, 00062 "1234:5678::9abc:def8", 00063 {NSAPI_IPv6 ,{0x12,0x34,0x56,0x78,0x00,0x00,0x00,0x00, 00064 0x00,0x00,0x00,0x00,0x9a,0xbc,0xde,0xf8}}) 00065 TEST_IP_ACCEPT(test_null_ipv6_address, 00066 "::", 00067 {NSAPI_IPv6 ,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 00068 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}) 00069 00070 00071 // Test setup 00072 utest::v1::status_t test_setup(const size_t number_of_cases) { 00073 GREENTEA_SETUP(10, "default_auto"); 00074 return verbose_test_setup_handler(number_of_cases); 00075 } 00076 00077 Case cases[] = { 00078 Case("Simple IPv4 address", test_simple_ipv4_address), 00079 Case("Left-weighted IPv4 address", test_left_weighted_ipv4_address), 00080 Case("Right-weighted IPv4 address", test_right_weighted_ipv4_address), 00081 Case("Null IPv4 address", test_null_ipv4_address), 00082 00083 Case("Simple IPv6 address", test_simple_ipv6_address), 00084 Case("Left-weighted IPv6 address", test_left_weighted_ipv6_address), 00085 Case("Right-weighted IPv6 address", test_right_weighted_ipv6_address), 00086 Case("Hollowed IPv6 address", test_hollowed_ipv6_address), 00087 Case("Null IPv6 address", test_null_ipv6_address), 00088 }; 00089 00090 Specification specification(test_setup, cases); 00091 00092 int main() { 00093 return !Harness::run(specification); 00094 }
Generated on Tue Jul 12 2022 11:02:46 by
