test: Add testcase for #1111

Refs: #1111
Change-Id: Ifdf25a9ce98ef495200daf1c24d7ac2c81b3ef17
This commit is contained in:
Ken Sato
2018-06-27 23:12:43 +09:00
committed by Masamichi Takagi
parent 04e54ead5d
commit c6cc0bf07a
10 changed files with 437 additions and 0 deletions

50
test/issues/1111/CT_001.c Normal file
View File

@ -0,0 +1,50 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <signal.h>
#include "./test_chk.h"
#define TEST_NAME "CT_001"
int handled_cnt;
void test_handler(int sig)
{
handled_cnt++;
}
int main(int argc, char **argv)
{
int rc = 0;
int status;
int tmp_flag = 0;
struct sigaction sa, old_act;
printf("*** %s start *******************************\n", TEST_NAME);
handled_cnt = 0;
sa.sa_handler = test_handler;
sa.sa_flags = SA_RESETHAND;
rc = sigaction(SIGUSR1, &sa, NULL);
OKNG(rc != 0, "sigaction with SA_RESETHAND");
rc = sigaction(SIGUSR1, NULL, &old_act);
OKNG(rc != 0, "sigaction to get current action");
if (old_act.sa_handler == test_handler &&
old_act.sa_flags & SA_RESETHAND) {
tmp_flag = 1;
}
OKNG(tmp_flag != 1, "check current act");
printf("*** %s PASSED\n\n", TEST_NAME);
return 0;
fn_fail:
printf("*** %s FAILED\n\n", TEST_NAME);
return -1;
}