The ppoll01 testcase has a signal handler in it but this signal handler is not 
registered with the kernel through the signal() syscall. The testcase fails 
when it sends a SIGINT to itself as part of one of the case of the test run.
The following patch
1. Adds a signal() syscall to register the signal handler
2. Corrects the expected 'revents' for the case where ppoll() is called on a 
file which is only opened in read/write mode, i.e case00.

Signed-off-by: Chandru S <[email protected]>
---
 testcases/kernel/syscalls/ppoll/ppoll01.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

--- testcases/kernel/syscalls/ppoll/ppoll01.c.orig      2009-09-29 
21:28:55.510487735 +0530
+++ testcases/kernel/syscalls/ppoll/ppoll01.c   2009-10-01 18:27:30.452236128 
+0530
@@ -79,6 +79,8 @@ char *TCID = "ppoll01";  /* Test program
 int  testno;
 int  TST_TOTAL = 1;                   /* total number of tests in this file.   
*/
 
+void sighandler(int sig);       /* signals handler function for the test */
+
 /* Extern Global Functions */
 
/******************************************************************************/
 /*                                                                            
*/
@@ -125,7 +127,8 @@ extern void cleanup() {
 /*                                                                            
*/
 
/******************************************************************************/
 void setup() {
-        /* Capture signals if any */
+        /* Capture signals */
+       signal(SIGINT, &sighandler);
         /* Create temporary directories */
         TEST_PAUSE;
         tst_tmpdir();
@@ -191,7 +194,7 @@ struct test_case {
 static struct test_case tcase[] = {
        { // case00
                 .ttype          = NORMAL,
-                .expect_revents = POLLOUT,
+                .expect_revents = POLLOUT | POLLIN,
                 .ret            = 0,
                 .err            = 0,
         },

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to