Blame signal/tst-sigset.c

Packit Service 82fcde
/* Test sig*set functions.  */
Packit Service 82fcde
Packit Service 82fcde
#include <signal.h>
Packit Service 82fcde
Packit Service 82fcde
#include <support/check.h>
Packit Service 82fcde
Packit Service 82fcde
static int
Packit Service 82fcde
do_test (void)
Packit Service 82fcde
{
Packit Service 82fcde
  sigset_t set;
Packit Service 82fcde
  TEST_VERIFY (sigemptyset (&set) == 0);
Packit Service 82fcde
Packit Service 82fcde
#define VERIFY(set, sig)			\
Packit Service 82fcde
  TEST_VERIFY (sigismember (&set, sig) == 0);	\
Packit Service 82fcde
  TEST_VERIFY (sigaddset (&set, sig) == 0);	\
Packit Service 82fcde
  TEST_VERIFY (sigismember (&set, sig) != 0);	\
Packit Service 82fcde
  TEST_VERIFY (sigdelset (&set, sig) == 0);	\
Packit Service 82fcde
  TEST_VERIFY (sigismember (&set, sig) == 0)
Packit Service 82fcde
Packit Service 82fcde
  /* ISO C99 signals.  */
Packit Service 82fcde
  VERIFY (set, SIGINT);
Packit Service 82fcde
  VERIFY (set, SIGILL);
Packit Service 82fcde
  VERIFY (set, SIGABRT);
Packit Service 82fcde
  VERIFY (set, SIGFPE);
Packit Service 82fcde
  VERIFY (set, SIGSEGV);
Packit Service 82fcde
  VERIFY (set, SIGTERM);
Packit Service 82fcde
Packit Service 82fcde
  /* Historical signals specified by POSIX. */
Packit Service 82fcde
  VERIFY (set, SIGHUP);
Packit Service 82fcde
  VERIFY (set, SIGQUIT);
Packit Service 82fcde
  VERIFY (set, SIGTRAP);
Packit Service 82fcde
  VERIFY (set, SIGKILL);
Packit Service 82fcde
  VERIFY (set, SIGBUS);
Packit Service 82fcde
  VERIFY (set, SIGSYS);
Packit Service 82fcde
  VERIFY (set, SIGPIPE);
Packit Service 82fcde
  VERIFY (set, SIGALRM);
Packit Service 82fcde
Packit Service 82fcde
  /* New(er) POSIX signals (1003.1-2008, 1003.1-2013).  */
Packit Service 82fcde
  VERIFY (set, SIGURG);
Packit Service 82fcde
  VERIFY (set, SIGSTOP);
Packit Service 82fcde
  VERIFY (set, SIGTSTP);
Packit Service 82fcde
  VERIFY (set, SIGCONT);
Packit Service 82fcde
  VERIFY (set, SIGCHLD);
Packit Service 82fcde
  VERIFY (set, SIGTTIN);
Packit Service 82fcde
  VERIFY (set, SIGTTOU);
Packit Service 82fcde
  VERIFY (set, SIGPOLL);
Packit Service 82fcde
  VERIFY (set, SIGXCPU);
Packit Service 82fcde
  VERIFY (set, SIGXFSZ);
Packit Service 82fcde
  VERIFY (set, SIGVTALRM);
Packit Service 82fcde
  VERIFY (set, SIGPROF);
Packit Service 82fcde
  VERIFY (set, SIGUSR1);
Packit Service 82fcde
  VERIFY (set, SIGUSR2);
Packit Service 82fcde
Packit Service 82fcde
  /* Nonstandard signals found in all modern POSIX systems
Packit Service 82fcde
     (including both BSD and Linux).  */
Packit Service 82fcde
  VERIFY (set, SIGWINCH);
Packit Service 82fcde
Packit Service 82fcde
  /* Arch-specific signals.  */
Packit Service 82fcde
#ifdef SIGEMT
Packit Service 82fcde
  VERIFY (set, SIGEMT);
Packit Service 82fcde
#endif
Packit Service 82fcde
#ifdef SIGLOST
Packit Service 82fcde
  VERIFY (set, SIGLOST);
Packit Service 82fcde
#endif
Packit Service 82fcde
#ifdef SIGINFO
Packit Service 82fcde
  VERIFY (set, SIGINFO);
Packit Service 82fcde
#endif
Packit Service 82fcde
#ifdef SIGSTKFLT
Packit Service 82fcde
  VERIFY (set, SIGSTKFLT);
Packit Service 82fcde
#endif
Packit Service 82fcde
#ifdef SIGPWR
Packit Service 82fcde
  VERIFY (set, SIGPWR);
Packit Service 82fcde
#endif
Packit Service 82fcde
Packit Service 82fcde
  /* Read-time signals (POSIX.1b real-time extensions).  If they are
Packit Service 82fcde
     supported SIGRTMAX value is greater than SIGRTMIN.  */
Packit Service 82fcde
  for (int rtsig = SIGRTMIN; rtsig <= SIGRTMAX; rtsig++)
Packit Service 82fcde
    {
Packit Service 82fcde
      VERIFY (set, rtsig);
Packit Service 82fcde
    }
Packit Service 82fcde
Packit Service 82fcde
  return 0;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
#include <support/test-driver.c>