[LTP] [PATCH 1/2] Add shutdown01 test

Andrea Cervesato andrea.cervesato@suse.com
Fri Jun 7 10:08:43 CEST 2024


Hi!

On 6/5/24 22:24, Petr Vorel wrote:
> Hi Andrea,
>
> ...
>> diff --git a/testcases/kernel/syscalls/shutdown/shutdown01.c b/testcases/kernel/syscalls/shutdown/shutdown01.c
>> new file mode 100644
>> index 000000000..b68b14ae8
>> --- /dev/null
>> +++ b/testcases/kernel/syscalls/shutdown/shutdown01.c
>> @@ -0,0 +1,136 @@
>> +// SPDX-License-Identifier: GPL-2.0-or-later
>> +/*
>> + * Copyright (C) 2024 SUSE LLC Andrea Cervesato <andrea.cervesato@suse.com>
>> + */
>> +
>> +/*\
>> + * [Description]
>> + *
>> + * This test verifies the following shutdown() functionalities:
> nit: here needs to be blank line to get list formatting.
>
>> + * * SHUT_RD should enable send() ops but disable recv() ops
>> + * * SHUT_WR should enable recv() ops but disable send() ops
>> + * * SHUT_RDWR should disable both recv() and send() ops
>> + */
> ...
>> +static void test_shutdown_recv(void)
>> +{
>> +	int client_sock;
>> +	char buff[MSGSIZE] = {0};
> Wouldn't it be better to send some data?
> Or is it not important, we use guarded buffers?
In this case, data is not really important because we need to test if 
send/recv are disabled after shutdown().
>
>> +
>> +	client_sock = start_test();
>> +
>> +	tst_res(TINFO, "Testing SHUT_RD flag");
>> +
>> +	TST_EXP_PASS(shutdown(client_sock, SHUT_RD));
>> +	TST_EXP_EQ_LI(recv(client_sock, buff, MSGSIZE, 0), 0);
> Interesting, I would expect failure ("If how is SHUT_RD, further receptions will
> be disallowed.")
>
> And maybe use SAFE_RECV()?
>
>> +	TST_EXP_EQ_LI(send(client_sock, buff, MSGSIZE, 0), MSGSIZE);
> And SAFE_SEND() here?
>> +
>> +	SAFE_CLOSE(client_sock);
>> +	TST_CHECKPOINT_WAKE(0);
>> +}
> nit: I would also use struct tcase and .tcnt, because all 3 tests are nearly
> identical.
>
> Otherwise LGTM.
>
> Reviewed-by: Petr Vorel <pvorel@suse.cz>
>
> Kind regards,
> Petr

I will fix the rest.

Andrea



More information about the ltp mailing list