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_FILES argument is passed.
It just goes to TBROK regardless of the implementation.
This patch modifies to check errno ENOSYS, and marks as TCONF in that case.

Signed-off-by: Honggyu Kim <[email protected]>
---
 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) {
-- 
1.7.9.5
------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to