WIP FPC-III support
[linux/fpc-iii.git] / tools / testing / selftests / powerpc / syscalls / ipc_unmuxed.c
blob4c582524aeb38db1e53679ef054ee3dd4ae95ef5
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3 * Copyright 2015, Michael Ellerman, IBM Corp.
5 * This test simply tests that certain syscalls are implemented. It doesn't
6 * actually exercise their logic in any way.
7 */
9 #define _GNU_SOURCE
10 #include <errno.h>
11 #include <stdio.h>
12 #include <unistd.h>
13 #include <sys/syscall.h>
15 #include "utils.h"
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; \
29 #include "ipc.h"
30 #undef DO_TEST
32 static int ipc_unmuxed(void)
34 int tests_done = 0;
36 #define DO_TEST(_name, _num) \
37 FAIL_IF(test_##_name()); \
38 tests_done++;
40 #include "ipc.h"
41 #undef DO_TEST
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.
49 SKIP_IF(tests_done == 0);
51 return 0;
54 int main(void)
56 return test_harness(ipc_unmuxed, "ipc_unmuxed");