On Mon, Aug 16, 2010 at 7:21 AM, Subrata Modak <[email protected]> wrote: > On Mon, 2010-08-16 at 17:05 +0530, Harsh Prateek Bora wrote: >> Current testcase for setrlimit resource RLIMIT_FSIZE >> is using a global integer variable to communicate the number of >> bytes from child to parent which is incorrect. This >> has been corrected by introducing a pipe to transfer >> this information from child to parent process. >> >> Signed-off-by: Harsh Prateek Bora <[email protected]> >> --- >> testcases/kernel/syscalls/setrlimit/setrlimit01.c | 15 +++++++++++++++ >> 1 files changed, 15 insertions(+), 0 deletions(-) >> >> diff --git a/testcases/kernel/syscalls/setrlimit/setrlimit01.c >> b/testcases/kernel/syscalls/setrlimit/setrlimit01.c >> index 6952eb3..2bb1e9d 100644 >> --- a/testcases/kernel/syscalls/setrlimit/setrlimit01.c >> +++ b/testcases/kernel/syscalls/setrlimit/setrlimit01.c >> @@ -156,7 +156,11 @@ void test2() >> * an wired value! So, it is essential to fflush the parent's >> * write buffer HERE >> */ >> + int pipefd[2]; >> fflush(stdout); >> + if (pipe(pipefd) == -1) { >> + tst_brkm(TBROK | TERRNO, NULL, "pipe creation failed"); >> + } >> >> /* >> * Spawn a child process, and reduce the filesize to >> @@ -170,6 +174,7 @@ void test2() >> } >> >> if (pid == 0) { >> + close(pipefd[0]); /* close unused read end */ >> rlim.rlim_cur = 10; >> rlim.rlim_max = 10; >> if ((setrlimit(RLIMIT_FSIZE, &rlim)) == -1) { >> @@ -181,6 +186,11 @@ void test2() >> } >> >> if ((bytes = write(fd, buf, 26)) != 10) { >> + if (write(pipefd[1], &bytes, sizeof(bytes)) >> + < sizeof(bytes)) { >> + perror("child: write to pipe failed"); > > You still uses perror() here. Use tst_resm() instead.
This patch is actually ok. If you look at the test in context (as Harsh pointed out), the perror(3) call was within a forked process, and that's fine. It's the other areas that need to be tst_resm(3) calls because they're in the parent process and actually affect the final outcome of the test, and provide a uniform means of reporting. Thanks, -Garrett ------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
