Re: [LTP] [PATCH v3] acct01: fix TBROK to TCONF if acct not implemented

Wanlong Gao
2013-11-04T01:30:59Z

On 11/03/2013 04:14 PM, Honggyu Kim wrote:
> acct system call is avaliable only when the kernel option is on.
> When it fails, acct returns -1 and sets errno correspondingly.
> ENOSYS is set when the system call is not implemented.
> Currently, ENOSYS is not checked when the TEST_FILE5 argument is passed.
> It just goes to TBROK regardless of the implementation in kernel.
> This patch modifies to check errno ENOSYS, and marks as TCONF in that case.

What's changed from V2 to V3?

Thanks,
Wanlong Gao

>
> Signed-off-by: Honggyu Kim <nexus226@gmail.com>
> ---
> testcases/kernel/syscalls/acct/acct01.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/acct/acct01.c b/testcases/kernel/syscalls/acct/acct01.c
> index c38d4db..0fe973b 100644
> --- a/testcases/kernel/syscalls/acct/acct01.c
> +++ b/testcases/kernel/syscalls/acct/acct01.c
> @@ -103,8 +103,15 @@ static void setup(void)
> fd = SAFE_CREAT(cleanup, TEST_FILE5, 0777);
> SAFE_CLOSE(cleanup, fd);
>
> - if (acct(TEST_FILE5) == -1)
> - tst_brkm(TBROK | TERRNO, cleanup, "acct failed unexpectedly");
> + if (acct(TEST_FILE5) == -1) {
> + if (errno == ENOSYS) {
> + tst_brkm(TCONF, cleanup,
> + "BSD process accounting is not configured in "
> + "this kernel");
> + } else {
> + tst_brkm(TBROK | TERRNO, cleanup, "acct failed unexpectedly");
> + }
> + }
>
> /* turn off acct, so we are in a known state */
> if (acct(NULL) == -1) {
>