From: "Honggyu Kim" <hong.gyu.kim@lge.com>
To: ltp-list@lists.sourceforge.net
Subject: [LTP] [PATCH] acct01: add a check routine for acct implmentation
Date: Tue, 5 Nov 2013 11:14:21 +0900 [thread overview]
Message-ID: <02cb01ced9cc$bd9d6e10$38d84a30$@gyu.kim@lge.com> (raw)
A check routine for acct implemation is added at the beginning of the test.
check_acct_in_kernel function calls acct(NULL) and checks if errno is ENOSYS.
It means that acct system call is not implemented in kernel.
The other ENOSYS check routines in setup are removed.
This patch prevents from unintentional calling acct again in cleanup, which
makes TCONF to TBROK and helps configuration issues stay as TCONF.
Signed-off-by: Honggyu Kim <hong.gyu.kim@lge.com>
---
testcases/kernel/syscalls/acct/acct01.c | 32 +++++++++++++++++--------------
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/testcases/kernel/syscalls/acct/acct01.c b/testcases/kernel/syscalls/acct/acct01.c
index 8236042..4a34383 100644
--- a/testcases/kernel/syscalls/acct/acct01.c
+++ b/testcases/kernel/syscalls/acct/acct01.c
@@ -124,12 +124,28 @@ int main(int argc, char *argv[])
tst_exit();
}
+static void check_acct_in_kernel(void)
+{
+ /* check if acct is implemented in kernel */
+ if (acct(NULL) == -1) {
+ if (errno == ENOSYS) {
+ tst_resm(TCONF,
+ "BSD process accounting is not configured in "
+ "this kernel");
+
+ tst_exit();
+ }
+ }
+}
+
static void setup(void)
{
int fd;
tst_require_root(NULL);
+ check_acct_in_kernel();
+
tst_tmpdir();
ltpuser = SAFE_GETPWNAM(cleanup, "nobody");
@@ -138,24 +154,12 @@ static void setup(void)
SAFE_CLOSE(cleanup, fd);
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");
- }
+ tst_brkm(TBROK | TERRNO, cleanup, "acct failed unexpectedly");
}
/* turn off acct, so we are in a known state */
if (acct(NULL) == -1) {
- if (errno == ENOSYS) {
- tst_brkm(TCONF, cleanup,
- "BSD process accounting is not configured in "
- "this kernel");
- } else {
- tst_brkm(TBROK | TERRNO, cleanup, "acct(NULL) failed");
- }
+ tst_brkm(TBROK | TERRNO, cleanup, "acct(NULL) failed");
}
/* ELOOP SETTING */
--
1.7.9.5
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
reply other threads:[~2013-11-05 2:14 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='02cb01ced9cc$bd9d6e10$38d84a30$@gyu.kim@lge.com' \
--to=hong.gyu.kim@lge.com \
--cc=ltp-list@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox