tests/lwip_sock_ip: make IPv4 address byteorder static

This commit is contained in:
Martine Lenders 2018-10-03 14:33:11 +02:00
parent 6789a0b246
commit 73ec2ac652
3 changed files with 53 additions and 44 deletions

View File

@ -28,10 +28,19 @@ extern "C" {
#define _TEST_PROTO (254) /* https://tools.ietf.org/html/rfc3692#section-2.1 */
#define _TEST_NETIF (1)
#define _TEST_TIMEOUT (1000000U)
#define _TEST_ADDR4_LOCAL (0xc0a84f96U) /* 192.168.79.150 */
#define _TEST_ADDR4_REMOTE (0xc0a84f6bU) /* 192.168.79.107 */
#define _TEST_ADDR4_WRONG (0x254c6b4cU)
#define _TEST_ADDR4_MASK (0xffffff00U) /* 255.255.255.0 */
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
# define _TEST_ADDR4_LOCAL (0x964fa8c0U) /* 192.168.79.150 */
# define _TEST_ADDR4_REMOTE (0x6b4fa8c0U) /* 192.168.79.107 */
# define _TEST_ADDR4_WRONG (0x4c6b4c25U)
# define _TEST_ADDR4_MASK (0x00ffffffU) /* 255.255.255.0 */
#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
# define _TEST_ADDR4_LOCAL (0xc0a84f96U) /* 192.168.79.150 */
# define _TEST_ADDR4_REMOTE (0xc0a84f6bU) /* 192.168.79.107 */
# define _TEST_ADDR4_WRONG (0x254c6b4cU)
# define _TEST_ADDR4_MASK (0xffffff00U) /* 255.255.255.0 */
#else
# error "Byte order is neither little nor big!"
#endif
#define _TEST_ADDR4_GW (0UL) /* so we can test unreachability */
#define _TEST_ADDR6_LOCAL { 0x2f, 0xc4, 0x11, 0x5a, 0xe6, 0x91, 0x8d, 0x5d, \
0x8c, 0xd1, 0x47, 0x07, 0xb7, 0x6f, 0x9b, 0x48 }

View File

@ -68,7 +68,7 @@ static void test_sock_ip_create4__EINVAL_netif(void)
static const sock_ip_ep_t local = { .family = AF_INET, .netif = _TEST_NETIF };
const sock_ip_ep_t remote = { .family = AF_INET,
.netif = (_TEST_NETIF + 1),
.addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) } };
.addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE } };
assert(-EINVAL == sock_ip_create(&_sock, &local, &remote, _TEST_PROTO,
SOCK_FLAGS_REUSE_EP));
@ -123,7 +123,7 @@ static void test_sock_ip_create4__only_local_reuse_ep(void)
static void test_sock_ip_create4__only_remote(void)
{
const sock_ip_ep_t remote = { .family = AF_INET,
.addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) } };
.addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE } };
sock_ip_ep_t ep;
assert(0 == sock_ip_create(&_sock, NULL, &remote, _TEST_PROTO,
@ -132,7 +132,7 @@ static void test_sock_ip_create4__only_remote(void)
assert(0 == sock_ip_get_local(&_sock, &ep));
assert(0 == sock_ip_get_remote(&_sock, &ep));
assert(AF_INET == ep.family);
assert(htonl(_TEST_ADDR4_REMOTE) == ep.addr.ipv4_u32);
assert(_TEST_ADDR4_REMOTE == ep.addr.ipv4_u32);
assert(SOCK_ADDR_ANY_NETIF == ep.netif);
}
@ -140,7 +140,7 @@ static void test_sock_ip_create4__full(void)
{
static const sock_ip_ep_t local = { .family = AF_INET, .netif = _TEST_NETIF };
const sock_ip_ep_t remote = { .family = AF_INET,
.addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) } };
.addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE } };
sock_ip_ep_t ep;
assert(0 == sock_ip_create(&_sock, &local, &remote, _TEST_PROTO,
@ -152,7 +152,7 @@ static void test_sock_ip_create4__full(void)
assert(_TEST_NETIF == ep.netif);
assert(0 == sock_ip_get_remote(&_sock, &ep));
assert(AF_INET == ep.family);
assert(htonl(_TEST_ADDR4_REMOTE) == ep.addr.ipv4_u32);
assert(_TEST_ADDR4_REMOTE == ep.addr.ipv4_u32);
assert(SOCK_ADDR_ANY_NETIF == ep.netif);
}
@ -205,7 +205,7 @@ static void test_sock_ip_recv4__ETIMEDOUT(void)
static void test_sock_ip_recv4__socketed(void)
{
static const sock_ip_ep_t local = { .family = AF_INET };
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_INET };
assert(0 == sock_ip_create(&_sock, &local, &remote, _TEST_PROTO,
@ -220,7 +220,7 @@ static void test_sock_ip_recv4__socketed(void)
static void test_sock_ip_recv4__socketed_with_remote(void)
{
static const sock_ip_ep_t local = { .family = AF_INET };
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_INET };
sock_ip_ep_t result;
@ -231,14 +231,14 @@ static void test_sock_ip_recv4__socketed_with_remote(void)
assert(sizeof("ABCD") == sock_ip_recv(&_sock, _test_buffer,
sizeof(_test_buffer), 0, &result));
assert(AF_INET == result.family);
assert(htonl(_TEST_ADDR4_REMOTE) == result.addr.ipv4_u32);
assert(_TEST_ADDR4_REMOTE == result.addr.ipv4_u32);
assert(_TEST_NETIF == result.netif);
assert(_check_net());
}
static void test_sock_ip_recv4__unsocketed(void)
{
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_LOCAL) },
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = _TEST_ADDR4_LOCAL },
.family = AF_INET };
assert(0 == sock_ip_create(&_sock, &local, NULL, _TEST_PROTO,
@ -262,7 +262,7 @@ static void test_sock_ip_recv4__unsocketed_with_remote(void)
assert(sizeof("ABCD") == sock_ip_recv(&_sock, _test_buffer,
sizeof(_test_buffer), 0, &result));
assert(AF_INET == result.family);
assert(htonl(_TEST_ADDR4_REMOTE) == result.addr.ipv4_u32);
assert(_TEST_ADDR4_REMOTE == result.addr.ipv4_u32);
assert(_TEST_NETIF == result.netif);
assert(_check_net());
}
@ -280,7 +280,7 @@ static void test_sock_ip_recv4__with_timeout(void)
sizeof(_test_buffer), _TEST_TIMEOUT,
&result));
assert(AF_INET == result.family);
assert(htonl(_TEST_ADDR4_REMOTE) == result.addr.ipv4_u32);
assert(_TEST_ADDR4_REMOTE == result.addr.ipv4_u32);
assert(_TEST_NETIF == result.netif);
assert(_check_net());
}
@ -297,14 +297,14 @@ static void test_sock_ip_recv4__non_blocking(void)
assert(sizeof("ABCD") == sock_ip_recv(&_sock, _test_buffer,
sizeof(_test_buffer), 0, &result));
assert(AF_INET == result.family);
assert(htonl(_TEST_ADDR4_REMOTE) == result.addr.ipv4_u32);
assert(_TEST_ADDR4_REMOTE == result.addr.ipv4_u32);
assert(_TEST_NETIF == result.netif);
assert(_check_net());
}
static void test_sock_ip_send4__EAFNOSUPPORT(void)
{
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_UNSPEC };
assert(-EAFNOSUPPORT == sock_ip_send(NULL, "ABCD", sizeof("ABCD"),
@ -314,7 +314,7 @@ static void test_sock_ip_send4__EAFNOSUPPORT(void)
static void test_sock_ip_send4__EINVAL_addr(void)
{
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_LOCAL) },
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = _TEST_ADDR4_LOCAL },
.family = AF_INET,
.netif = _TEST_NETIF };
static const sock_ip_ep_t remote = { .family = AF_INET,
@ -329,10 +329,10 @@ static void test_sock_ip_send4__EINVAL_addr(void)
static void test_sock_ip_send4__EINVAL_netif(void)
{
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_LOCAL) },
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = _TEST_ADDR4_LOCAL },
.family = AF_INET,
.netif = _TEST_NETIF };
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_INET,
.netif = _TEST_NETIF + 1 };
@ -345,7 +345,7 @@ static void test_sock_ip_send4__EINVAL_netif(void)
static void test_sock_ip_send4__EHOSTUNREACH(void)
{
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_WRONG) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_WRONG },
.family = AF_INET };
assert(-EHOSTUNREACH == sock_ip_send(NULL, "ABCD", sizeof("ABCD"), _TEST_PROTO,
@ -363,7 +363,7 @@ static void test_sock_ip_send4__ENOTCONN(void)
static void test_sock_ip_send4__socketed_no_local_no_netif(void)
{
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_INET };
assert(0 == sock_ip_create(&_sock, NULL, &remote, _TEST_PROTO,
@ -378,9 +378,9 @@ static void test_sock_ip_send4__socketed_no_local_no_netif(void)
static void test_sock_ip_send4__socketed_no_netif(void)
{
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_LOCAL) },
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = _TEST_ADDR4_LOCAL },
.family = AF_INET };
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_INET };
assert(0 == sock_ip_create(&_sock, &local, &remote, _TEST_PROTO,
@ -395,7 +395,7 @@ static void test_sock_ip_send4__socketed_no_netif(void)
static void test_sock_ip_send4__socketed_no_local(void)
{
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_INET,
.netif = _TEST_NETIF };
@ -411,10 +411,10 @@ static void test_sock_ip_send4__socketed_no_local(void)
static void test_sock_ip_send4__socketed(void)
{
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_LOCAL) },
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = _TEST_ADDR4_LOCAL },
.family = AF_INET,
.netif = _TEST_NETIF };
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_INET };
assert(0 == sock_ip_create(&_sock, &local, &remote, _TEST_PROTO,
@ -429,12 +429,12 @@ static void test_sock_ip_send4__socketed(void)
static void test_sock_ip_send4__socketed_other_remote(void)
{
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_LOCAL) },
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = _TEST_ADDR4_LOCAL },
.family = AF_INET,
.netif = _TEST_NETIF };
const sock_ip_ep_t sock_remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_WRONG) },
const sock_ip_ep_t sock_remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_WRONG },
.family = AF_INET };
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_INET };
assert(0 == sock_ip_create(&_sock, &local, &sock_remote, _TEST_PROTO,
@ -449,7 +449,7 @@ static void test_sock_ip_send4__socketed_other_remote(void)
static void test_sock_ip_send4__unsocketed_no_local_no_netif(void)
{
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_INET };
assert(0 == sock_ip_create(&_sock, NULL, NULL, _TEST_PROTO,
@ -464,9 +464,9 @@ static void test_sock_ip_send4__unsocketed_no_local_no_netif(void)
static void test_sock_ip_send4__unsocketed_no_netif(void)
{
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_LOCAL) },
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = _TEST_ADDR4_LOCAL },
.family = AF_INET };
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_INET };
assert(0 == sock_ip_create(&_sock, &local, NULL, _TEST_PROTO,
@ -481,7 +481,7 @@ static void test_sock_ip_send4__unsocketed_no_netif(void)
static void test_sock_ip_send4__unsocketed_no_local(void)
{
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_INET,
.netif = _TEST_NETIF };
@ -497,10 +497,10 @@ static void test_sock_ip_send4__unsocketed_no_local(void)
static void test_sock_ip_send4__unsocketed(void)
{
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_LOCAL) },
const sock_ip_ep_t local = { .addr = { .ipv4_u32 = _TEST_ADDR4_LOCAL },
.family = AF_INET,
.netif = _TEST_NETIF };
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_INET };
assert(0 == sock_ip_create(&_sock, &local, NULL, _TEST_PROTO,
@ -515,7 +515,7 @@ static void test_sock_ip_send4__unsocketed(void)
static void test_sock_ip_send4__no_sock_no_netif(void)
{
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_INET };
assert(sizeof("ABCD") == sock_ip_send(NULL, "ABCD", sizeof("ABCD"),
@ -528,7 +528,7 @@ static void test_sock_ip_send4__no_sock_no_netif(void)
static void test_sock_ip_send4__no_sock(void)
{
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = htonl(_TEST_ADDR4_REMOTE) },
const sock_ip_ep_t remote = { .addr = { .ipv4_u32 = _TEST_ADDR4_REMOTE },
.family = AF_INET,
.netif = _TEST_NETIF };

View File

@ -189,9 +189,9 @@ void _net_init(void)
assert(netdev.netdev.driver);
#if LWIP_IPV4
ip4_addr_t local4, mask4, gw4;
local4.addr = htonl(_TEST_ADDR4_LOCAL);
mask4.addr = htonl(_TEST_ADDR4_MASK);
gw4.addr = htonl(_TEST_ADDR4_GW);
local4.addr = _TEST_ADDR4_LOCAL;
mask4.addr = _TEST_ADDR4_MASK;
gw4.addr = _TEST_ADDR4_GW;
netif_add(&netif, &local4, &mask4, &gw4, &netdev, lwip_netdev_init, tcpip_input);
#else
netif_add(&netif, &netdev, lwip_netdev_init, tcpip_input);
@ -222,7 +222,7 @@ void _prepare_send_checks(void)
netdev_test_set_send_cb(&netdev, _netdev_send);
#if LWIP_ARP
const ip4_addr_t remote4 = { .addr = htonl(_TEST_ADDR4_REMOTE) };
const ip4_addr_t remote4 = { .addr = _TEST_ADDR4_REMOTE };
assert(ERR_OK == etharp_add_static_entry(&remote4, (struct eth_addr *)mac));
#endif
#if LWIP_IPV6
@ -263,8 +263,8 @@ bool _inject_4packet(uint32_t src, uint32_t dst, uint8_t proto, void *data,
IPH_LEN_SET(ip_hdr, htons(sizeof(struct ip_hdr) + data_len));
IPH_TTL_SET(ip_hdr, 64);
IPH_PROTO_SET(ip_hdr, proto);
ip_hdr->src.addr = htonl(src);
ip_hdr->dest.addr = htonl(dst);
ip_hdr->src.addr = src;
ip_hdr->dest.addr = dst;
IPH_CHKSUM_SET(ip_hdr, 0);
IPH_CHKSUM_SET(ip_hdr, inet_chksum(ip_hdr, sizeof(struct ip_hdr)));