Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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