brintos

brintos / linux-shallow public Read only

0
0
Text · 1.2 KiB · 4c58252 Raw
58 lines · c
1// SPDX-License-Identifier: GPL-2.0-or-later2/*3 * Copyright 2015, Michael Ellerman, IBM Corp.4 *5 * This test simply tests that certain syscalls are implemented. It doesn't6 * actually exercise their logic in any way.7 */8 9#define _GNU_SOURCE10#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)	\19static 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_TEST31 32static 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_TEST42 43	/*44	 * If we ran no tests then it means none of the syscall numbers were45	 * defined, possibly because we were built against old headers. But it46	 * means we didn't really test anything, so instead of passing mark it47	 * as a skip to give the user a clue.48	 */49	SKIP_IF(tests_done == 0);50 51	return 0;52}53 54int main(void)55{56	return test_harness(ipc_unmuxed, "ipc_unmuxed");57}58