Re: [PATCH 2/3] selftests/bpf: convert test_dev_cgroup to test_progs
From: Alexis Lothoré
Date: Sat Jul 27 2024 - 03:58:58 EST
Hello Stanislas, thanks for the review
On 7/27/24 00:48, Stanislav Fomichev wrote:
> On 07/25, Alexis Lothoré (eBPF Foundation) wrote:
[...]
>> + if (should_fail)
>> + ASSERT_ERR(ret, "mknod");
>> + else
>> + ASSERT_OK(ret, "mknod");
>
> Optional: might be easier to use something like expected_ret instead
> of should_fail and then do:
>
> ASSERT_EQ(ret, expected_ret)
Yes, you are right. I initially went with a version relying on system() to
perform the mknods/dd calls, which could return different errors codes so I used
this should_fail. But while debugging some issues in CI with this series, I
realized that the needed commands are basic enough to be replaced with direct
library calls and I forgot to update this part, which can now assert an exact
return value. I will update this accordingly.
> I see this part being copy-pasted in a bunch of places below.
>
>> + unlink(path);
>> +}
>> +
>> +static void test_read(const char *path, int should_fail)
>> +{
>> + char buf[TEST_BUFFER_SIZE];
>> + int ret, fd;
>> +
>> + fd = open(path, O_RDONLY);
>> +
>> + /* A bare open on unauthorized device should fail */
>> + if (should_fail) {
>> + ASSERT_ERR(fd, "open file for read");
>
> [..]
>
>> + if (fd)
>> + close(fd);
>
> nit: should this be 'if (fd >= 0)'? I'm assuming the intention is to
> avoid close(-1)?
Right as well, I'll fix it (here and below) in v2
Thanks,
Alexis
--
Alexis Lothoré, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com