root/tools/testing/selftests/powerpc/syscalls/ipc_unmuxed.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. ipc_unmuxed
  2. main

   1 // SPDX-License-Identifier: GPL-2.0-or-later
   2 /*
   3  * Copyright 2015, Michael Ellerman, IBM Corp.
   4  *
   5  * This test simply tests that certain syscalls are implemented. It doesn't
   6  * actually exercise their logic in any way.
   7  */
   8 
   9 #define _GNU_SOURCE
  10 #include <errno.h>
  11 #include <stdio.h>
  12 #include <unistd.h>
  13 #include <sys/syscall.h>
  14 
  15 #include "utils.h"
  16 
  17 
  18 #define DO_TEST(_name, _num)    \
  19 static int test_##_name(void)                   \
  20 {                                               \
  21         int rc;                                 \
  22         printf("Testing " #_name);              \
  23         errno = 0;                              \
  24         rc = syscall(_num, -1, 0, 0, 0, 0, 0);  \
  25         printf("\treturned %d, errno %d\n", rc, errno); \
  26         return errno == ENOSYS;                 \
  27 }
  28 
  29 #include "ipc.h"
  30 #undef DO_TEST
  31 
  32 static int ipc_unmuxed(void)
  33 {
  34         int tests_done = 0;
  35 
  36 #define DO_TEST(_name, _num)            \
  37         FAIL_IF(test_##_name());        \
  38         tests_done++;
  39 
  40 #include "ipc.h"
  41 #undef DO_TEST
  42 
  43         /*
  44          * If we ran no tests then it means none of the syscall numbers were
  45          * defined, possibly because we were built against old headers. But it
  46          * means we didn't really test anything, so instead of passing mark it
  47          * as a skip to give the user a clue.
  48          */
  49         SKIP_IF(tests_done == 0);
  50 
  51         return 0;
  52 }
  53 
  54 int main(void)
  55 {
  56         return test_harness(ipc_unmuxed, "ipc_unmuxed");
  57 }

/* [<][>][^][v][top][bottom][index][help] */