Signed-off-by: Stanislav Kholmanskikh <stanislav.kholmansk...@oracle.com> --- No changes since V1.
.../kernel/syscalls/rt_sigaction/rt_sigaction01.c | 88 +++----------- .../kernel/syscalls/rt_sigaction/rt_sigaction02.c | 85 +++----------- .../kernel/syscalls/rt_sigaction/rt_sigaction03.c | 105 ++++------------- .../syscalls/rt_sigprocmask/rt_sigprocmask01.c | 112 +++++------------- .../syscalls/rt_sigprocmask/rt_sigprocmask02.c | 89 +++------------ .../syscalls/rt_sigsuspend/rt_sigsuspend01.c | 125 +++++-------------- 6 files changed, 132 insertions(+), 472 deletions(-) diff --git a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c index fda733c..fb698f8 100644 --- a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c +++ b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c @@ -12,36 +12,22 @@ /* 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 */ +/* along with this program; if not, write to the Free Software Foundation, */ +/* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* */ +/* History: Porting from Crackerjack to LTP is done by */ +/* Manas Kumar Nayak makna...@in.ibm.com> */ /******************************************************************************/ + /******************************************************************************/ -/* */ -/* File: rt_sigaction01.c */ -/* */ /* Description: This tests the rt_sigaction() syscall */ /* rt_sigaction alters an action taken by a process on receipt */ /* of a particular signal. The action is specified by the */ /* sigaction structure. The previous action on the signal is */ /* saved in oact.sigsetsize should indicate the size of a */ /* sigset_t type. */ -/* */ -/* Usage: <for command-line> */ -/* rt_sigaction01 [-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. */ -/* */ -/* Total Tests: 1 */ -/* */ -/* Test Name: rt_sigaction01 */ -/* History: Porting from Crackerjack to LTP is done by */ -/* Manas Kumar Nayak makna...@in.ibm.com> */ /******************************************************************************/ + #include <stdio.h> #include <stdlib.h> #include <unistd.h> @@ -57,75 +43,35 @@ #include "ltp_signal.h" char *TCID = "rt_sigaction01"; -int testno; +static int testno; int TST_TOTAL = 1; -/* Extern Global Functions */ -/******************************************************************************/ -/* */ -/* Function: cleanup */ -/* */ -/* Description: Performs all one time clean up for this test on successful */ -/* completion, premature exit or failure. Closes all temporary */ -/* files, removes all temporary directories exits the test with */ -/* appropriate return code by calling tst_exit() function. */ -/* */ -/* Input: None. */ -/* */ -/* Output: None. */ -/* */ -/* Return: On failure - Exits calling tst_exit(). Non '0' return code. */ -/* On success - Exits calling tst_exit(). With '0' return code. */ -/* */ -/******************************************************************************/ -void cleanup(void) +static void cleanup(void) { - TEST_CLEANUP; tst_rmdir(); - } -/* Local Functions */ -/******************************************************************************/ -/* */ -/* Function: setup */ -/* */ -/* Description: Performs all one time setup for this test. This function is */ -/* typically used to capture signals, create temporary dirs */ -/* and temporary files that may be used in the course of this */ -/* test. */ -/* */ -/* Input: None. */ -/* */ -/* Output: None. */ -/* */ -/* Return: On failure - Exits by calling cleanup(). */ -/* On success - returns 0. */ -/* */ -/******************************************************************************/ -void setup(void) +static void setup(void) { - /* Capture signals if any */ - /* Create temporary directories */ TEST_PAUSE; tst_tmpdir(); } -int test_flags[] = +static int test_flags[] = { SA_RESETHAND | SA_SIGINFO, SA_RESETHAND, SA_RESETHAND | SA_SIGINFO, SA_RESETHAND | SA_SIGINFO, SA_NOMASK }; char *test_flags_list[] = { "SA_RESETHAND|SA_SIGINFO", "SA_RESETHAND", "SA_RESETHAND|SA_SIGINFO", "SA_RESETHAND|SA_SIGINFO", "SA_NOMASK" }; -void handler(int sig) +static void handler(int sig) { tst_resm(TINFO, "Signal Handler Called with signal number %d\n", sig); return; } -int set_handler(int sig, int sig_to_mask, int mask_flags) +static int set_handler(int sig, int sig_to_mask, int mask_flags) { #ifdef __x86_64__ struct kernel_sigaction sa, oldaction; @@ -141,18 +87,18 @@ int set_handler(int sig, int sig_to_mask, int mask_flags) sigaddset(&sa.sa_mask, sig); return ltp_syscall(__NR_rt_sigaction, sig, &sa, &oldaction, SIGSETSIZE); - } int main(int ac, char **av) { - int signal, flag; + unsigned int flag; + int signal; int lc; const 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(); @@ -162,7 +108,7 @@ int main(int ac, char **av) for (testno = 0; testno < TST_TOTAL; ++testno) { - for (signal = SIGRTMIN; signal <= (SIGRTMAX); signal++) { //signal for 34 to 65 + for (signal = SIGRTMIN; signal <= SIGRTMAX; signal++) { #ifdef __x86_64__ sig_initial(signal); diff --git a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c index bf0605c..8cf0f14 100644 --- a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c +++ b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c @@ -12,32 +12,18 @@ /* 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 */ +/* along with this program; if not, write to the Free Software Foundation, */ +/* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* */ +/* History: Porting from Crackerjack to LTP is done by */ +/* Manas Kumar Nayak makna...@in.ibm.com> */ /******************************************************************************/ + /******************************************************************************/ -/* */ -/* File: rt_sigaction02.c */ -/* */ /* Description: This tests the rt_sigaction() syscall */ /* rt_sigaction Expected EFAULT error check */ -/* */ -/* Usage: <for command-line> */ -/* rt_sigaction02 [-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. */ -/* */ -/* Total Tests: 1 */ -/* */ -/* Test Name: rt_sigaction02 */ -/* History: Porting from Crackerjack to LTP is done by */ -/* Manas Kumar Nayak makna...@in.ibm.com> */ /******************************************************************************/ + #include <stdio.h> #include <stdlib.h> #include <unistd.h> @@ -54,70 +40,31 @@ #define INVAL_STRUCT -1 char *TCID = "rt_sigaction02"; -int testno; +static int testno; int TST_TOTAL = 1; -/* Extern Global Functions */ -/******************************************************************************/ -/* */ -/* Function: cleanup */ -/* */ -/* Description: Performs all one time clean up for this test on successful */ -/* completion, premature exit or failure. Closes all temporary */ -/* files, removes all temporary directories exits the test with */ -/* appropriate return code by calling tst_exit() function. */ -/* */ -/* Input: None. */ -/* */ -/* Output: None. */ -/* */ -/* Return: On failure - Exits calling tst_exit(). Non '0' return code. */ -/* On success - Exits calling tst_exit(). With '0' return code. */ -/* */ -/******************************************************************************/ void cleanup(void) { - TEST_CLEANUP; tst_rmdir(); tst_exit(); } -/* Local Functions */ -/******************************************************************************/ -/* */ -/* Function: setup */ -/* */ -/* Description: Performs all one time setup for this test. This function is */ -/* typically used to capture signals, create temporary dirs */ -/* and temporary files that may be used in the course of this */ -/* test. */ -/* */ -/* Input: None. */ -/* */ -/* Output: None. */ -/* */ -/* Return: On failure - Exits by calling cleanup(). */ -/* On success - returns 0. */ -/* */ -/******************************************************************************/ void setup(void) { - /* Capture signals if any */ - /* Create temporary directories */ TEST_PAUSE; tst_tmpdir(); } -int test_flags[] = +static int test_flags[] = { SA_RESETHAND | SA_SIGINFO, SA_RESETHAND, SA_RESETHAND | SA_SIGINFO, SA_RESETHAND | SA_SIGINFO, SA_NOMASK }; char *test_flags_list[] = { "SA_RESETHAND|SA_SIGINFO", "SA_RESETHAND", "SA_RESETHAND|SA_SIGINFO", "SA_RESETHAND|SA_SIGINFO", "SA_NOMASK" }; -struct test_case_t { +static struct test_case_t { int exp_errno; char *errdesc; } test_cases[] = { @@ -127,23 +74,24 @@ struct test_case_t { int main(int ac, char **av) { - int signal, flag; + unsigned int flag; + int signal; int lc; const 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); - tst_exit(); - } setup(); for (lc = 0; TEST_LOOPING(lc); ++lc) { tst_count = 0; for (testno = 0; testno < TST_TOTAL; ++testno) { + for (signal = SIGRTMIN; signal <= SIGRTMAX; signal++) { + tst_resm(TINFO, "Signal %d", signal); - for (signal = SIGRTMIN; signal <= (SIGRTMAX); signal++) { //signal for 34 to 65 - for (flag = 0; flag < 5; flag++) { + for (flag = 0; flag < (sizeof(test_flags) / sizeof(test_flags[0])); flag++) { /* * * long sys_rt_sigaction (int sig, const struct sigaction *act, * @@ -178,7 +126,6 @@ int main(int ac, char **av) test_flags_list[flag]); } } - printf("\n"); } } diff --git a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c index 4111da9..9ae8d0e 100644 --- a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c +++ b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c @@ -12,32 +12,18 @@ /* 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 */ +/* along with this program; if not, write to the Free Software Foundation, */ +/* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* */ +/* History: Porting from Crackerjack to LTP is done by */ +/* Manas Kumar Nayak makna...@in.ibm.com> */ /******************************************************************************/ + /******************************************************************************/ -/* */ -/* File: rt_sigaction03.c */ -/* */ /* Description: This tests the rt_sigaction() syscall */ /* rt_sigaction Expected EINVAL error check */ -/* */ -/* Usage: <for command-line> */ -/* rt_sigaction03 [-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. */ -/* */ -/* Total Tests: 1 */ -/* */ -/* Test Name: rt_sigaction03 */ -/* History: Porting from Crackerjack to LTP is done by */ -/* Manas Kumar Nayak makna...@in.ibm.com> */ /******************************************************************************/ + #include <stdio.h> #include <stdlib.h> #include <unistd.h> @@ -54,70 +40,29 @@ #define INVAL_SIGSETSIZE -1 char *TCID = "rt_sigaction03"; -int testno; +static int testno; int TST_TOTAL = 1; -/* Extern Global Functions */ -/******************************************************************************/ -/* */ -/* Function: cleanup */ -/* */ -/* Description: Performs all one time clean up for this test on successful */ -/* completion, premature exit or failure. Closes all temporary */ -/* files, removes all temporary directories exits the test with */ -/* appropriate return code by calling tst_exit() function. */ -/* */ -/* Input: None. */ -/* */ -/* Output: None. */ -/* */ -/* Return: On failure - Exits calling tst_exit(). Non '0' return code. */ -/* On success - Exits calling tst_exit(). With '0' return code. */ -/* */ -/******************************************************************************/ -void cleanup(void) +static void cleanup(void) { - TEST_CLEANUP; tst_rmdir(); - - tst_exit(); } -/* Local Functions */ -/******************************************************************************/ -/* */ -/* Function: setup */ -/* */ -/* Description: Performs all one time setup for this test. This function is */ -/* typically used to capture signals, create temporary dirs */ -/* and temporary files that may be used in the course of this */ -/* test. */ -/* */ -/* Input: None. */ -/* */ -/* Output: None. */ -/* */ -/* Return: On failure - Exits by calling cleanup(). */ -/* On success - returns 0. */ -/* */ -/******************************************************************************/ -void setup(void) +static void setup(void) { - /* Capture signals if any */ - /* Create temporary directories */ TEST_PAUSE; tst_tmpdir(); } -int test_flags[] = +static int test_flags[] = { SA_RESETHAND | SA_SIGINFO, SA_RESETHAND, SA_RESETHAND | SA_SIGINFO, SA_RESETHAND | SA_SIGINFO, SA_NOMASK }; char *test_flags_list[] = { "SA_RESETHAND|SA_SIGINFO", "SA_RESETHAND", "SA_RESETHAND|SA_SIGINFO", "SA_RESETHAND|SA_SIGINFO", "SA_NOMASK" }; -struct test_case_t { +static struct test_case_t { int exp_errno; char *errdesc; } test_cases[] = { @@ -125,13 +70,13 @@ struct test_case_t { EINVAL, "EINVAL"} }; -void handler(int sig) +static void handler(int sig) { tst_resm(TINFO, "Signal Handler Called with signal number %d\n", sig); return; } -int set_handler(int sig, int sig_to_mask, int mask_flags) +static int set_handler(int sig, int sig_to_mask, int mask_flags) { struct sigaction sa, oldaction; @@ -147,25 +92,20 @@ int set_handler(int sig, int sig_to_mask, int mask_flags) * sigsetsize was not equivalent to the size of a sigset_t type * */ - TEST(ltp_syscall - (__NR_rt_sigaction, sig, &sa, &oldaction, INVAL_SIGSETSIZE)); - if (TEST_RETURN == 0) { - return 0; - } else { - return TEST_RETURN; - } + return ltp_syscall(__NR_rt_sigaction, sig, &sa, &oldaction, + INVAL_SIGSETSIZE); } int main(int ac, char **av) { - int signal, flag; + unsigned int flag; + int signal; int lc; const 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); - tst_exit(); - } setup(); @@ -173,8 +113,10 @@ int main(int ac, char **av) tst_count = 0; for (testno = 0; testno < TST_TOTAL; ++testno) { - for (signal = SIGRTMIN; signal <= (SIGRTMAX); signal++) { //signal for 34 to 65 - for (flag = 0; flag < 5; flag++) { + for (signal = SIGRTMIN; signal <= (SIGRTMAX); signal++) { + tst_resm(TINFO, "Signal %d", signal); + + for (flag = 0; flag < (sizeof(test_flags) / sizeof(test_flags[0])); flag++) { TEST(set_handler (signal, 0, test_flags[flag])); if ((TEST_RETURN == -1) @@ -200,7 +142,6 @@ int main(int ac, char **av) test_flags_list[flag]); } } - printf("\n"); } } diff --git a/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c b/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c index 2d13212..bdfa6dd 100644 --- a/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c +++ b/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c @@ -12,14 +12,14 @@ /* 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., 59 Temple Place, Suite TEST_SIG0, Boston, MA 02111-1307 USA */ +/* along with this program; if not, write to the Free Software Foundation, */ +/* Inc., 59 Temple Place, Suite TEST_SIG0, Boston, MA 02111-1307 USA */ /* */ +/* History: Porting from Crackerjack to LTP is done by */ +/* Manas Kumar Nayak <makna...@in.ibm.com> */ /******************************************************************************/ + /******************************************************************************/ -/* */ -/* File: rt_sigprocmask01.c */ -/* */ /* Description: This tests the rt_sigprocmask() syscall */ /* rt_sigprocmask changes the list of currently blocked signals. */ /* The set value stores the signal mask of the pending signals. */ @@ -37,22 +37,8 @@ /* SIG_SETMASK */ /* The set of blocked signals is set to the set argument. */ /* sigsetsize should indicate the size of a sigset_t type. */ -/* */ -/* Usage: <for command-line> */ -/* rt_sigprocmask01 [-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. */ -/* */ -/* Total Tests: 1 */ -/* */ -/* Test Name: rt_sigprocmask01 */ -/* History: Porting from Crackerjack to LTP is done by */ -/* Manas Kumar Nayak <makna...@in.ibm.com> */ /******************************************************************************/ + #include <stdio.h> #include <signal.h> #include <errno.h> @@ -64,65 +50,25 @@ #include "ltp_signal.h" char *TCID = "rt_sigprocmask01"; -int testno; +static int testno; int TST_TOTAL = 8; +static int sig_count; + #define TEST_SIG SIGRTMIN+1 -/* Extern Global Functions */ -/******************************************************************************/ -/* */ -/* Function: cleanup */ -/* */ -/* Description: Performs all one time clean up for this test on successful */ -/* completion, premature exit or failure. Closes all temporary */ -/* files, removes all temporary directories exits the test with */ -/* appropriate return code by calling tst_exit() function. */ -/* */ -/* Input: None. */ -/* */ -/* Output: None. */ -/* */ -/* Return: On failure - Exits calling tst_exit(). Non '0' return code. */ -/* On success - Exits calling tst_exit(). With '0' return code. */ -/* */ -/******************************************************************************/ -void cleanup(void) +static void cleanup(void) { - TEST_CLEANUP; tst_rmdir(); - } -/* Local Functions */ -/******************************************************************************/ -/* */ -/* Function: setup */ -/* */ -/* Description: Performs all one time setup for this test. This function is */ -/* typically used to capture signals, create temporary dirs */ -/* and temporary files that may be used in the course of this */ -/* test. */ -/* */ -/* Input: None. */ -/* */ -/* Output: None. */ -/* */ -/* Return: On failure - Exits by calling cleanup(). */ -/* On success - returns 0. */ -/* */ -/******************************************************************************/ -void setup(void) +static void setup(void) { - /* Capture signals if any */ - /* Create temporary directories */ TEST_PAUSE; tst_tmpdir(); } -int sig_count = 0; - void sig_handler(int sig) { sig_count++; @@ -146,9 +92,9 @@ int main(int ac, char **av) int lc; const 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(); @@ -156,35 +102,34 @@ int main(int ac, char **av) tst_count = 0; for (testno = 0; testno < TST_TOTAL; ++testno) { - if (sigemptyset(&set) < 0) { + if (sigemptyset(&set) < 0) tst_brkm(TFAIL | TERRNO, cleanup, "sigemptyset call failed"); - } - if (sigaddset(&set, TEST_SIG) < 0) { + + if (sigaddset(&set, TEST_SIG) < 0) tst_brkm(TFAIL | TERRNO, cleanup, "sigaddset call failed"); - } /* call rt_sigaction() */ TEST(ltp_syscall(__NR_rt_sigaction, TEST_SIG, &act, &oact, SIGSETSIZE)); - if (TEST_RETURN < 0) { + if (TEST_RETURN < 0) tst_brkm(TFAIL | TTERRNO, cleanup, "rt_sigaction call failed"); - } + /* call rt_sigprocmask() to block signal#TEST_SIG */ TEST(ltp_syscall(__NR_rt_sigprocmask, SIG_BLOCK, &set, &oset, SIGSETSIZE)); - if (TEST_RETURN == -1) { + if (TEST_RETURN == -1) tst_brkm(TFAIL | TTERRNO, cleanup, "rt_sigprocmask call failed"); - } + /* Make sure that the masked process is indeed * masked. */ - if (kill(getpid(), TEST_SIG) < 0) { + if (kill(getpid(), TEST_SIG) < 0) tst_brkm(TFAIL | TERRNO, cleanup, "call to kill() failed"); - } + if (sig_count) { tst_brkm(TFAIL | TERRNO, cleanup, "rt_sigprocmask() failed to change " @@ -193,26 +138,26 @@ int main(int ac, char **av) /* call rt_sigpending() */ TEST(ltp_syscall(__NR_rt_sigpending, &oset, SIGSETSIZE)); - if (TEST_RETURN == -1) { + if (TEST_RETURN == -1) tst_brkm(TFAIL | TTERRNO, cleanup, "rt_sigpending call failed"); - } + TEST(sigismember(&oset, TEST_SIG)); - if (TEST_RETURN == 0) { + if (TEST_RETURN == 0) tst_brkm(TFAIL | TTERRNO, cleanup, "sigismember call failed"); - } + /* call rt_sigprocmask() to unblock * signal#TEST_SIG */ TEST(ltp_syscall(__NR_rt_sigprocmask, SIG_UNBLOCK, &set, &oset, SIGSETSIZE)); - if (TEST_RETURN == -1) { + if (TEST_RETURN == -1) tst_brkm(TFAIL | TTERRNO, cleanup, "rt_sigprocmask call failed"); - } + if (sig_count) { tst_resm(TPASS, "rt_sigprocmask " @@ -224,7 +169,6 @@ int main(int ac, char **av) "rt_sigprocmask " "functionality failed"); } - } } diff --git a/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask02.c b/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask02.c index d1d5a9d..ef8f954 100644 --- a/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask02.c +++ b/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask02.c @@ -12,14 +12,14 @@ /* 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 */ +/* along with this program; if not, write to the Free Software Foundation, */ +/* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* */ +/* History: Porting from Crackerjack to LTP is done by */ +/* Manas Kumar Nayak makna...@in.ibm.com> */ /******************************************************************************/ + /******************************************************************************/ -/* */ -/* File: rt_sigprocmask02.c */ -/* */ /* Description: This tests the rt_sigprocmask() syscall */ /* rt_sigprocmask changes the list of currently blocked signals. */ /* The set value stores the signal mask of the pending signals. */ @@ -49,23 +49,8 @@ /* invalid. */ /* -EFAULT */ /* An invalid set, act, or oact was specified. */ -/* */ -/* */ -/* Usage: <for command-line> */ -/* rt_sigprocmask02 [-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. */ -/* */ -/* Total Tests: 1 */ -/* */ -/* Test Name: rt_sigprocmask02 */ -/* History: Porting from Crackerjack to LTP is done by */ -/* Manas Kumar Nayak makna...@in.ibm.com> */ /******************************************************************************/ + #include <stdio.h> #include <signal.h> #include <errno.h> @@ -78,61 +63,21 @@ char *TCID = "rt_sigprocmask02"; int TST_TOTAL = 2; -/* Extern Global Functions */ -/******************************************************************************/ -/* */ -/* Function: cleanup */ -/* */ -/* Description: Performs all one time clean up for this test on successful */ -/* completion, premature exit or failure. Closes all temporary */ -/* files, removes all temporary directories exits the test with */ -/* appropriate return code by calling tst_exit() function. */ -/* */ -/* Input: None. */ -/* */ -/* Output: None. */ -/* */ -/* Return: On failure - Exits calling tst_exit(). Non '0' return code. */ -/* On success - Exits calling tst_exit(). With '0' return code. */ -/* */ -/******************************************************************************/ -void cleanup(void) +static void cleanup(void) { - TEST_CLEANUP; tst_rmdir(); - } -/* Local Functions */ -/******************************************************************************/ -/* */ -/* Function: setup */ -/* */ -/* Description: Performs all one time setup for this test. This function is */ -/* typically used to capture signals, create temporary dirs */ -/* and temporary files that may be used in the course of this */ -/* test. */ -/* */ -/* Input: None. */ -/* */ -/* Output: None. */ -/* */ -/* Return: On failure - Exits by calling cleanup(). */ -/* On success - returns 0. */ -/* */ -/******************************************************************************/ -void setup(void) +static void setup(void) { - /* Capture signals if any */ - /* Create temporary directories */ TEST_PAUSE; tst_tmpdir(); } -sigset_t set; +static sigset_t set; -struct test_case_t { +static struct test_case_t { sigset_t *ss; int sssize; int exp_errno; @@ -150,21 +95,18 @@ int main(int ac, char **av) sigset_t s; const 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); - tst_exit(); - } setup(); tst_count = 0; TEST(sigfillset(&s)); - if (TEST_RETURN == -1) { - tst_resm(TFAIL | TTERRNO, "Call to sigfillset() failed."); - cleanup(); - tst_exit(); - } + if (TEST_RETURN == -1) + tst_brkm(TFAIL | TTERRNO, cleanup, + "Call to sigfillset() failed."); for (i = 0; i < test_count; i++) { TEST(ltp_syscall(__NR_rt_sigprocmask, SIG_BLOCK, @@ -183,5 +125,4 @@ int main(int ac, char **av) cleanup(); tst_exit(); - } diff --git a/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c b/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c index b27e9c6..f0fc96f 100644 --- a/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c +++ b/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c @@ -1,42 +1,27 @@ -/********************************************************************************/ -/* Copyright (c) Crackerjack Project., 2007 */ -/* */ -/* 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. */ -/* */ -/* 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 */ -/* */ -/****************************************************************************** */ -/****************************************************************************** */ -/* */ -/* File: rt_sigsuspend01.c */ -/* */ -/* Description: This tests the rt_sigsuspend() syscall. */ -/* */ -/* Usage: <for command-line> */ -/* rt_sigsuspend01 [-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. */ -/* */ -/* Total Tests: 2 */ -/* */ -/* Test Name: rt_sigsuspend01 */ -/* History: Porting from Crackerjack to LTP is done by */ -/* Manas Kumar Nayak makna...@in.ibm.com> */ -/********************************************************************************/ +/******************************************************************************/ +/* Copyright (c) Crackerjack Project., 2007 */ +/* */ +/* 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. */ +/* */ +/* 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 */ +/* */ +/* History: Porting from Crackerjack to LTP is done by */ +/* Manas Kumar Nayak makna...@in.ibm.com> */ +/******************************************************************************/ + +/******************************************************************************/ +/* Description: This tests the rt_sigsuspend() syscall. */ +/******************************************************************************/ #include <stdio.h> #include <signal.h> @@ -49,75 +34,33 @@ #include "ltp_signal.h" char *TCID = "rt_sigsuspend01"; -int testno; int TST_TOTAL = 1; -/* Extern Global Functions */ -/******************************************************************************/ -/* */ -/* Function: cleanup */ -/* */ -/* Description: Performs all one time clean up for this test on successful */ -/* completion, premature exit or failure. Closes all temporary */ -/* files, removes all temporary directories exits the test with */ -/* appropriate return code by calling tst_exit() function. */ -/* */ -/* Input: None. */ -/* */ -/* Output: None. */ -/* */ -/* Return: On failure - Exits calling tst_exit(). Non '0' return code. */ -/* On success - Exits calling tst_exit(). With '0' return code. */ -/* */ -/******************************************************************************/ -void cleanup(void) +static void cleanup(void) { - TEST_CLEANUP; tst_rmdir(); - } -/* Local Functions */ -/******************************************************************************/ -/* */ -/* Function: setup */ -/* */ -/* Description: Performs all one time setup for this test. This function is */ -/* typically used to capture signals, create temporary dirs */ -/* and temporary files that may be used in the course of this */ -/* test. */ -/* */ -/* Input: None. */ -/* */ -/* Output: None. */ -/* */ -/* Return: On failure - Exits by calling cleanup(). */ -/* On success - returns 0. */ -/* */ -/******************************************************************************/ -void setup(void) +static void setup(void) { - /* Capture signals if any */ - /* Create temporary directories */ TEST_PAUSE; tst_tmpdir(); } -void sig_handler(int sig) +static void sig_handler(int sig) { } int main(int ac, char **av) { - sigset_t set, set1, set2; int lc; const 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(); @@ -125,9 +68,8 @@ int main(int ac, char **av) tst_count = 0; - if (sigemptyset(&set) < 0) { + if (sigemptyset(&set) < 0) tst_brkm(TFAIL | TERRNO, cleanup, "sigemptyset failed"); - } #ifdef __x86_64__ struct kernel_sigaction act, oact; sig_initial(SIGALRM); @@ -145,16 +87,15 @@ int main(int ac, char **av) TEST(ltp_syscall(__NR_rt_sigaction, SIGALRM, &act, &oact, SIGSETSIZE)); - if (TEST_RETURN == -1) { + if (TEST_RETURN == -1) tst_brkm(TFAIL | TTERRNO, cleanup, "rt_sigaction failed"); - } + TEST(ltp_syscall(__NR_rt_sigprocmask, SIG_UNBLOCK, 0, &set1, SIGSETSIZE)); - if (TEST_RETURN == -1) { + if (TEST_RETURN == -1) tst_brkm(TFAIL | TTERRNO, cleanup, "rt_sigprocmask failed"); - } TEST(alarm(5)); int result; -- 1.7.1 ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list