From: Cyril H. <su...@li...> - 2013-04-25 06:21:29
|
The branch, master, has been updated via 865afa623f8f9dfd9680959ce2acb840eb0bdc61 (commit) via dc8c2f3115f39cb325520898fdfc21518641fbd8 (commit) from db7f4359731c9fab922399fd3d9c929295ab1307 (commit) - Log ----------------------------------------------------------------- commit 865afa623f8f9dfd9680959ce2acb840eb0bdc61 Author: DAN LI <li...@cn...> Date: Thu Apr 25 11:07:05 2013 +0800 syscalls/getitimer01.c: Test for getting ITIMER_VIRTUAL and ITIMER_PROF Additional tests of getting ITIMER_VIRTUAL and ITIMER_PROF. Signed-off-by: DAN LI <li...@cn...> Signed-off-by: Wanlong Gao <gao...@cn...> commit dc8c2f3115f39cb325520898fdfc21518641fbd8 Author: DAN LI <li...@cn...> Date: Thu Apr 25 11:04:48 2013 +0800 syscalls/getitimer: cleanup 1. Remove redundant comments 2. Revise code to follow ltp-code-style Signed-off-by: DAN LI <li...@cn...> Signed-off-by: Wanlong Gao <gao...@cn...> ----------------------------------------------------------------------- Summary of changes: testcases/kernel/syscalls/getitimer/getitimer01.c | 149 +++++++------------- testcases/kernel/syscalls/getitimer/getitimer02.c | 100 ++++---------- 2 files changed, 79 insertions(+), 170 deletions(-) diff --git a/testcases/kernel/syscalls/getitimer/getitimer01.c b/testcases/kernel/syscalls/getitimer/getitimer01.c index 56c56e0..5569a49 100644 --- a/testcases/kernel/syscalls/getitimer/getitimer01.c +++ b/testcases/kernel/syscalls/getitimer/getitimer01.c @@ -1,55 +1,28 @@ /* + * Copyright (c) International Business Machines Corp., 2001 * - * Copyright (c) International Business Machines Corp., 2001 + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See + * the GNU General Public License for more details. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See - * the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* - * NAME - * getitimer01.c - * - * DESCRIPTION - * getitimer01 - check that a correct call to getitimer() succeeds - * - * ALGORITHM - * loop if that option was specified - * allocate needed space - * issue the system call - * check the errno value - * issue a PASS message if we get zero - * otherwise, the tests fails - * issue a FAIL message - * break any remaining tests - * call cleanup - * - * USAGE: <for command-line> - * getitimer01 [-c n] [-f] [-i n] [-I x] [-P x] [-t] - * where, -c n : Run n copies concurrently. - * -f : Turn off functionality Testing. - * -i n : Execute test n times. - * -I x : Execute test for x seconds. - * -P x : Pause for x seconds between iterations. - * -t : Turn on syscall timing. - * - * HISTORY - * 03/2001 - Written by Wayne Boyer - * - * RESTRICTIONS - * none - */ + HISTORY + 03/2001 - Written by Wayne Boyer + + TEST ITEMS: + Check that a correct call to getitimer() succeeds. +*/ #include "test.h" #include "usctest.h" @@ -57,63 +30,58 @@ #include <errno.h> #include <sys/time.h> -void cleanup(void); -void setup(void); +static void cleanup(void); +static void setup(void); char *TCID = "getitimer01"; -int TST_TOTAL = 1; +int TST_TOTAL = 3; + +static int itimer_name[] = { + ITIMER_REAL, + ITIMER_VIRTUAL, + ITIMER_PROF, +}; int main(int ac, char **av) { int lc; + int i; char *msg; - struct itimerval *value; + struct itimerval value; - if ((msg = parse_opts(ac, av, NULL, NULL)) != NULL) { + msg = parse_opts(ac, av, NULL, NULL); + if (msg != NULL) tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg); - } - - setup(); /* global setup */ - /* The following loop checks looping state if -i option given */ + setup(); for (lc = 0; TEST_LOOPING(lc); lc++) { - /* reset tst_count in case we are looping */ tst_count = 0; - /* allocate space for the itimerval structure */ + for (i = 0; i < 3; i++) { - if ((value = (struct itimerval *)malloc((size_t) - sizeof(struct - itimerval))) == - NULL) { - tst_brkm(TBROK, cleanup, "value malloc failed"); - } - - /* call the system call with the TEST() macro */ + TEST(getitimer(itimer_name[i], &value)); - TEST(getitimer(ITIMER_REAL, value)); + if (TEST_RETURN != 0) + tst_resm(TFAIL, "call failed - errno = %d - %s", + TEST_ERRNO, strerror(TEST_ERRNO)); - if (TEST_RETURN != 0) { - tst_resm(TFAIL, "call failed - errno = %d - %s", - TEST_ERRNO, strerror(TEST_ERRNO)); - } + if (STD_FUNCTIONAL_TEST) { - if (STD_FUNCTIONAL_TEST) { - - /* - * Since ITIMER_REAL is effectively disabled (we did - * not set it before the getitimer call), the elements - * in it_value should be zero. - */ - if ((value->it_value.tv_sec == 0) && - (value->it_value.tv_usec == 0)) { - tst_resm(TPASS, "functional test passed"); + /* + * Since ITIMER is effectively disabled (we did + * not set it before the getitimer call), the + * elements in it_value should be zero. + */ + if ((value.it_value.tv_sec == 0) && + (value.it_value.tv_usec == 0)) { + tst_resm(TPASS, "functionality is ok"); + } else { + tst_resm(TFAIL, "timer are non zero"); + } } else { - tst_resm(TFAIL, "timer values are non zero"); + tst_resm(TPASS, "call succeeded"); } - } else { - tst_resm(TPASS, "call succeeded"); } } @@ -122,27 +90,14 @@ int main(int ac, char **av) tst_exit(); } -/* - * setup() - performs all the ONE TIME setup for this test. - */ -void setup(void) +static void setup(void) { - tst_sig(NOFORK, DEF_HANDLER, cleanup); TEST_PAUSE; } -/* - * cleanup() - performs all the ONE TIME cleanup for this test at completion - * or premature exit. - */ -void cleanup(void) +static void cleanup(void) { - /* - * print timing stats if that option was specified. - * print errno log if that option was specified. - */ TEST_CLEANUP; - } diff --git a/testcases/kernel/syscalls/getitimer/getitimer02.c b/testcases/kernel/syscalls/getitimer/getitimer02.c index fcb3d6c..4f87883 100644 --- a/testcases/kernel/syscalls/getitimer/getitimer02.c +++ b/testcases/kernel/syscalls/getitimer/getitimer02.c @@ -1,55 +1,30 @@ /* + * Copyright (c) International Business Machines Corp., 2001 * - * Copyright (c) International Business Machines Corp., 2001 + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See + * the GNU General Public License for more details. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See - * the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* - * NAME - * getitimer02.c - * - * DESCRIPTION - * getitimer02 - check that a getitimer() call fails as expected - * with an incorrect second argument. - * - * ALGORITHM - * loop if that option was specified - * call getitimer() with an incorrect second argument. - * check the errno value - * issue a PASS message if we get EFAULT - errno 14 - * otherwise, the tests fails - * issue a FAIL message - * break any remaining tests - * call cleanup - * - * USAGE: <for command-line> - * getitimer02 [-c n] [-e] [-i n] [-I x] [-P x] [-t] - * where, -c n : Run n copies concurrently. - * -e : Turn on errno logging. - * -i n : Execute test n times. - * -I x : Execute test for x seconds. - * -P x : Pause for x seconds between iterations. - * -t : Turn on syscall timing. - * - * HISTORY - * 03/2001 - Written by Wayne Boyer - * - * RESTRICTIONS - * none - */ + HISTORY + 03/2001 - Written by Wayne Boyer + + TEST ITEMS: + Check that a getitimer() call fails as expected + with an incorrect second argument. +*/ + #include "test.h" #include "usctest.h" @@ -62,8 +37,8 @@ int TST_TOTAL = 1; #if !defined(UCLINUX) -void cleanup(void); -void setup(void); +static void cleanup(void); +static void setup(void); int exp_enos[] = { EFAULT, 0 }; @@ -72,23 +47,15 @@ int main(int ac, char **av) int lc; char *msg; - if ((msg = parse_opts(ac, av, NULL, NULL)) != NULL) { + msg = parse_opts(ac, av, NULL, NULL); + if (msg != NULL) tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg); - } - - setup(); /* global setup */ - /* The following loop checks looping state if -i option given */ + setup(); for (lc = 0; TEST_LOOPING(lc); lc++) { - /* reset tst_count in case we are looping */ tst_count = 0; - /* - * issue the system call with the TEST() macro - * ITIMER_REAL = 0, ITIMER_VIRTUAL = 1 and ITIMER_PROF = 2 - */ - /* call with a bad address */ TEST(getitimer(ITIMER_REAL, (struct itimerval *)-1)); @@ -118,12 +85,8 @@ int main(int ac, char **av) tst_exit(); } -/* - * setup() - performs all the ONE TIME setup for this test. - */ -void setup(void) +static void setup(void) { - tst_sig(NOFORK, DEF_HANDLER, cleanup); TEST_EXP_ENOS(exp_enos); @@ -131,18 +94,9 @@ void setup(void) TEST_PAUSE; } -/* - * cleanup() - performs all the ONE TIME cleanup for this test at completion - * or premature exit. - */ -void cleanup(void) +static void cleanup(void) { - /* - * print timing stats if that option was specified. - * print errno log if that option was specified. - */ TEST_CLEANUP; - } #else hooks/post-receive -- ltp |