public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [PATCH] ppoll01: add signal() syscall to register the signal handler
@ 2009-09-24  6:59 Chandru
  2009-09-24 20:28 ` K.D. Lucas
  2009-09-26 11:25 ` Mike Frysinger
  0 siblings, 2 replies; 7+ messages in thread
From: Chandru @ 2009-09-24  6:59 UTC (permalink / raw)
  To: ltp-list

The ppoll01 testcase has a signal handler in it but this signal handler is not registered with the kernel through the signal() syscal. 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.
3. Takes away printing the type of error ( i.e strerror(errno) ) since it only prints the last error seen and does not report the failures seen in the cases before the last failed one. The reporting of NG or OK shoudl take care of 
    letting the user know the cases that have passed and cases that have failed.

Signed-off-by: Chandru S <chandru@linux.vnet.ibm.com>
---

--- ppoll01.c.orig	2009-09-22 19:22:39.371235396 +0530
+++ ppoll01.c	2009-09-24 01:24:38.706487228 +0530
@@ -106,6 +106,8 @@ extern void cleanup() {
         tst_exit();
 }
 
+void sighandler(int sig);       /* signals handler function for the test */
+
 /* Local  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,
         },
@@ -463,7 +466,7 @@ int main(int ac, char **av) {
 		                break;
 
 	        default:
-                 	   	tst_resm(TFAIL, "%s failed - errno = %d : %s", TCID, TEST_ERRNO, strerror(TEST_ERRNO));
+                 	   	tst_resm(TFAIL, "%s failed", TCID);
         		        RPRINTF("NG");
 				cleanup();
 				tst_exit();



------------------------------------------------------------------------------
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
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-10-01 16:39 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-24  6:59 [LTP] [PATCH] ppoll01: add signal() syscall to register the signal handler Chandru
2009-09-24 20:28 ` K.D. Lucas
2009-09-25  5:24   ` Garrett Cooper
2009-09-26 11:25 ` Mike Frysinger
2009-10-01  7:27   ` Chandru
2009-10-01  8:16     ` Chandru
2009-10-01 16:39     ` Mike Frysinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox