[LTP] [PATCH 1/2] syscalls: Add test for splicing from /dev/zero and /dev/full

Petr Vorel pvorel@suse.cz
Thu Mar 21 10:29:22 CET 2024


Hi Cyril,

> +static void test_splice(unsigned int bytes, int dev_fd)
> +{
> +	int pipefd[2];
> +	char buf[bytes];
> +	size_t i;
> +	int fail = 0;
> +
> +	memset(buf, 0xff, sizeof(buf));
> +
> +	SAFE_PIPE(pipefd);
> +
> +	TST_EXP_POSITIVE(splice(dev_fd, NULL, pipefd[1], NULL, sizeof(buf), 0));
> +
> +	if (!TST_PASS)
> +		goto ret;
> +
> +	SAFE_READ(1, pipefd[0], buf, sizeof(buf));
> +
> +	for (i = 0; i < sizeof(buf); i++) {
> +		if (buf[i])
> +			fail++;
> +	}
> +
> +	if (fail)
> +		tst_res(TFAIL, "Non-zero bytes spliced from /dev/zero");
Maybe write how many fail we have?

I also agree with Jan's comment about missing TST_RET, which is in splice09.

Reviewed-by: Petr Vorel <pvorel@suse.cz>

> +	else
> +		tst_res(TPASS, "All bytes spliced from /dev/zero are zeroed");
> +
> +ret:
> +	SAFE_CLOSE(pipefd[0]);
> +	SAFE_CLOSE(pipefd[1]);
> +}
> +
> +static void verify_splice(unsigned int n)
> +{
> +	unsigned int bytes = 1009 * n;

Out of curiosity, why 1009 and not 1000?

Kind regards,
Petr


More information about the ltp mailing list