tools/testing/selftests/net/bind_wildcard.c

Source file repositories/reference/linux-study-clean/tools/testing/selftests/net/bind_wildcard.c

File Facts

System
Linux kernel
Corpus path
tools/testing/selftests/net/bind_wildcard.c
Extension
.c
Size
21052 bytes
Lines
810
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: implementation source
Status
source implementation candidate

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

if (variant->expected_reuse_errno[i]) {
			ASSERT_EQ(ret, -1);
			ASSERT_EQ(errno, variant->expected_reuse_errno[i]);
		} else {
			ASSERT_EQ(ret, 0);
		}
	} else {
		if (variant->expected_errno[i]) {
			ASSERT_EQ(ret, -1);
			ASSERT_EQ(errno, variant->expected_errno[i]);
		} else {
			ASSERT_EQ(ret, 0);
		}
	}

	if (i == 0) {
		ret = getsockname(self->fd[0], &self->addr[0].addr, &self->addrlen[0]);
		ASSERT_EQ(ret, 0);
	}
}

TEST_F(bind_wildcard, plain)
{
	int i;

	for (i = 0; i < NR_SOCKETS; i++)
		bind_socket(_metadata, self, variant, i, 0);
}

TEST_F(bind_wildcard, reuseaddr)
{
	int i;

	for (i = 0; i < NR_SOCKETS; i++)
		bind_socket(_metadata, self, variant, i, SO_REUSEADDR);
}

TEST_F(bind_wildcard, reuseport)
{
	int i;

	for (i = 0; i < NR_SOCKETS; i++)
		bind_socket(_metadata, self, variant, i, SO_REUSEPORT);
}

TEST_HARNESS_MAIN

Annotation

Implementation Notes