* winsup.api/pthread/cancel11.c: New test.
* winsup.api/pthread/cancel12.c: Ditto.
This commit is contained in:
		| @@ -1,3 +1,8 @@ | |||||||
|  | 2003-02-04  Thomas Pfaff  <tpfaff@gmx.net> | ||||||
|  |  | ||||||
|  | 	* winsup.api/pthread/cancel11.c: New test. | ||||||
|  | 	* winsup.api/pthread/cancel12.c: Ditto. | ||||||
|  |  | ||||||
| 2003-01-23  Christopher Faylor  <cgf@redhat.com> | 2003-01-23  Christopher Faylor  <cgf@redhat.com> | ||||||
|  |  | ||||||
| 	* Makefile.in: Don't filter out -g.  Actually pass correct CFLAGS to | 	* Makefile.in: Don't filter out -g.  Actually pass correct CFLAGS to | ||||||
|   | |||||||
							
								
								
									
										74
									
								
								winsup/testsuite/winsup.api/pthread/cancel11.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								winsup/testsuite/winsup.api/pthread/cancel11.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,74 @@ | |||||||
|  | /* | ||||||
|  |  * File: cancel11.c | ||||||
|  |  * | ||||||
|  |  * Test Synopsis: Test if system is a cancellation point. | ||||||
|  |  * | ||||||
|  |  * Test Method (Validation or Falsification): | ||||||
|  |  * -  | ||||||
|  |  * | ||||||
|  |  * Requirements Tested: | ||||||
|  |  * - | ||||||
|  |  * | ||||||
|  |  * Features Tested: | ||||||
|  |  * -  | ||||||
|  |  * | ||||||
|  |  * Cases Tested: | ||||||
|  |  * -  | ||||||
|  |  * | ||||||
|  |  * Description: | ||||||
|  |  * -  | ||||||
|  |  * | ||||||
|  |  * Environment: | ||||||
|  |  * -  | ||||||
|  |  * | ||||||
|  |  * Input: | ||||||
|  |  * - None. | ||||||
|  |  * | ||||||
|  |  * Output: | ||||||
|  |  * - File name, Line number, and failed expression on failure. | ||||||
|  |  * - No output on success. | ||||||
|  |  * | ||||||
|  |  * Assumptions: | ||||||
|  |  * - have working pthread_create, pthread_cancel, pthread_setcancelstate | ||||||
|  |  *   pthread_join | ||||||
|  |  * | ||||||
|  |  * Pass Criteria: | ||||||
|  |  * - Process returns zero exit status. | ||||||
|  |  * | ||||||
|  |  * Fail Criteria: | ||||||
|  |  * - Process returns non-zero exit status. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "test.h" | ||||||
|  |  | ||||||
|  | static void sig_handler(int sig) | ||||||
|  | { | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static void *Thread(void *punused) | ||||||
|  | { | ||||||
|  |   system ("sleep 10"); | ||||||
|  |  | ||||||
|  |   return NULL; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | int main (void) | ||||||
|  | { | ||||||
|  |   void * result; | ||||||
|  |   pthread_t t; | ||||||
|  |  | ||||||
|  |   signal (SIGINT, sig_handler); | ||||||
|  |  | ||||||
|  |   assert (pthread_create (&t, NULL, Thread, NULL) == 0); | ||||||
|  |   sleep (5); | ||||||
|  |   assert (pthread_cancel (t) == 0); | ||||||
|  |   assert (pthread_join (t, &result) == 0); | ||||||
|  |   assert (result == PTHREAD_CANCELED); | ||||||
|  |  | ||||||
|  |   assert ((void *)signal (SIGINT, NULL) == sig_handler); | ||||||
|  |  | ||||||
|  |   /* Wait until child process has terminated */ | ||||||
|  |   sleep (10); | ||||||
|  |  | ||||||
|  |   return 0; | ||||||
|  | } | ||||||
							
								
								
									
										70
									
								
								winsup/testsuite/winsup.api/pthread/cancel12.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								winsup/testsuite/winsup.api/pthread/cancel12.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,70 @@ | |||||||
|  | /* | ||||||
|  |  * File: cancel12.c | ||||||
|  |  * | ||||||
|  |  * Test Synopsis: Test if system is a cancellation point. | ||||||
|  |  * | ||||||
|  |  * Test Method (Validation or Falsification): | ||||||
|  |  * -  | ||||||
|  |  * | ||||||
|  |  * Requirements Tested: | ||||||
|  |  * - | ||||||
|  |  * | ||||||
|  |  * Features Tested: | ||||||
|  |  * -  | ||||||
|  |  * | ||||||
|  |  * Cases Tested: | ||||||
|  |  * -  | ||||||
|  |  * | ||||||
|  |  * Description: | ||||||
|  |  * -  | ||||||
|  |  * | ||||||
|  |  * Environment: | ||||||
|  |  * -  | ||||||
|  |  * | ||||||
|  |  * Input: | ||||||
|  |  * - None. | ||||||
|  |  * | ||||||
|  |  * Output: | ||||||
|  |  * - File name, Line number, and failed expression on failure. | ||||||
|  |  * - No output on success. | ||||||
|  |  * | ||||||
|  |  * Assumptions: | ||||||
|  |  * - have working pthread_create, pthread_cancel, pthread_setcancelstate | ||||||
|  |  *   pthread_join | ||||||
|  |  * | ||||||
|  |  * Pass Criteria: | ||||||
|  |  * - Process returns zero exit status. | ||||||
|  |  * | ||||||
|  |  * Fail Criteria: | ||||||
|  |  * - Process returns non-zero exit status. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "test.h" | ||||||
|  |  | ||||||
|  | static void sig_handler(int sig) | ||||||
|  | { | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static void *Thread(void *punused) | ||||||
|  | { | ||||||
|  |   signal (SIGINT, sig_handler); | ||||||
|  |  | ||||||
|  |   system ("sleep 5"); | ||||||
|  |  | ||||||
|  |   assert ((void *)signal (SIGINT, NULL) == sig_handler); | ||||||
|  |  | ||||||
|  |   return NULL; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | int main (void) | ||||||
|  | { | ||||||
|  |   void *old_sigh; | ||||||
|  |   void * result; | ||||||
|  |   pthread_t t; | ||||||
|  |  | ||||||
|  |   assert (pthread_create (&t, NULL, Thread, NULL) == 0); | ||||||
|  |   assert (pthread_join (t, &result) == 0); | ||||||
|  |   assert (result == NULL); | ||||||
|  |  | ||||||
|  |   return 0; | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user