[LTP] [PATCH] syscalls/getdtablesize01: Add abnormal handling
Petr Vorel
pvorel@suse.cz
Tue Apr 6 15:30:57 CEST 2021
Hi,
> When /etc/hosts is not exist, test would fail, actually, we chould skip the
> the problem to improve maintainability.
...
> +++ b/testcases/kernel/syscalls/getdtablesize/getdtablesize01.c
> @@ -100,6 +100,8 @@ int main(void)
> tst_resm(TPASS, "%d = %d", count, (max_val_opfiles - 1));
> else if (fd < 0 && errno == ENFILE)
> tst_brkm(TCONF, cleanup, "Reached maximum number of open files for the system");
> + else if (fd == 0)
> + tst_brkm(TCONF, cleanup, "Maybe /etc/hosts is not exist");
> else
> tst_resm(TFAIL, "%d != %d", count, (max_val_opfiles - 1));
Why not to test for existence of the file in main(), where is file being opened?
fd = open("/etc/hosts", O_RDONLY);
Also current patch does not work when I test on system without /etc/hosts:
./getdtablesize01
getdtablesize01 0 TINFO : Maximum number of files a process can have opened is 1024
getdtablesize01 0 TINFO : Checking with the value returned by getrlimit...RLIMIT_NOFILE
getdtablesize01 1 TPASS : got correct dtablesize, value is 1024
getdtablesize01 0 TINFO : Checking Max num of files that can be opened by a process.Should be: RLIMIT_NOFILE - 1
getdtablesize01 2 TFAIL : getdtablesize01.c:106: 0 != 1023
Besides, it'd help to also rewrite the test to the new API.
Kind regards,
Petr
More information about the ltp
mailing list