Loading tools/testing/selftests/powerpc/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ CFLAGS := -Wall -O2 -flto -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CUR export CFLAGS SUB_DIRS = pmu copyloops mm tm primitives stringloops vphn switch_endian dscr benchmarks SUB_DIRS = pmu copyloops mm tm primitives stringloops vphn switch_endian dscr benchmarks syscalls endif Loading tools/testing/selftests/powerpc/syscalls/.gitignore 0 → 100644 +1 −0 Original line number Diff line number Diff line ipc_unmuxed tools/testing/selftests/powerpc/syscalls/Makefile 0 → 100644 +12 −0 Original line number Diff line number Diff line TEST_PROGS := ipc_unmuxed CFLAGS += -I../../../../../usr/include all: $(TEST_PROGS) $(TEST_PROGS): ../harness.c include ../../lib.mk clean: rm -f $(TEST_PROGS) *.o tools/testing/selftests/powerpc/syscalls/ipc.h 0 → 100644 +47 −0 Original line number Diff line number Diff line #ifdef __NR_semop DO_TEST(semop, __NR_semop) #endif #ifdef __NR_semget DO_TEST(semget, __NR_semget) #endif #ifdef __NR_semctl DO_TEST(semctl, __NR_semctl) #endif #ifdef __NR_semtimedop DO_TEST(semtimedop, __NR_semtimedop) #endif #ifdef __NR_msgsnd DO_TEST(msgsnd, __NR_msgsnd) #endif #ifdef __NR_msgrcv DO_TEST(msgrcv, __NR_msgrcv) #endif #ifdef __NR_msgget DO_TEST(msgget, __NR_msgget) #endif #ifdef __NR_msgctl DO_TEST(msgctl, __NR_msgctl) #endif #ifdef __NR_shmat DO_TEST(shmat, __NR_shmat) #endif #ifdef __NR_shmdt DO_TEST(shmdt, __NR_shmdt) #endif #ifdef __NR_shmget DO_TEST(shmget, __NR_shmget) #endif #ifdef __NR_shmctl DO_TEST(shmctl, __NR_shmctl) #endif tools/testing/selftests/powerpc/syscalls/ipc_unmuxed.c 0 → 100644 +61 −0 Original line number Diff line number Diff line /* * Copyright 2015, Michael Ellerman, IBM Corp. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. * * This test simply tests that certain syscalls are implemented. It doesn't * actually exercise their logic in any way. */ #define _GNU_SOURCE #include <errno.h> #include <stdio.h> #include <unistd.h> #include <sys/syscall.h> #include "utils.h" #define DO_TEST(_name, _num) \ static int test_##_name(void) \ { \ int rc; \ printf("Testing " #_name); \ errno = 0; \ rc = syscall(_num, -1, 0, 0, 0, 0, 0); \ printf("\treturned %d, errno %d\n", rc, errno); \ return errno == ENOSYS; \ } #include "ipc.h" #undef DO_TEST static int ipc_unmuxed(void) { int tests_done = 0; #define DO_TEST(_name, _num) \ FAIL_IF(test_##_name()); \ tests_done++; #include "ipc.h" #undef DO_TEST /* * If we ran no tests then it means none of the syscall numbers were * defined, possibly because we were built against old headers. But it * means we didn't really test anything, so instead of passing mark it * as a skip to give the user a clue. */ SKIP_IF(tests_done == 0); return 0; } int main(void) { return test_harness(ipc_unmuxed, "ipc_unmuxed"); } Loading
tools/testing/selftests/powerpc/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ CFLAGS := -Wall -O2 -flto -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CUR export CFLAGS SUB_DIRS = pmu copyloops mm tm primitives stringloops vphn switch_endian dscr benchmarks SUB_DIRS = pmu copyloops mm tm primitives stringloops vphn switch_endian dscr benchmarks syscalls endif Loading
tools/testing/selftests/powerpc/syscalls/.gitignore 0 → 100644 +1 −0 Original line number Diff line number Diff line ipc_unmuxed
tools/testing/selftests/powerpc/syscalls/Makefile 0 → 100644 +12 −0 Original line number Diff line number Diff line TEST_PROGS := ipc_unmuxed CFLAGS += -I../../../../../usr/include all: $(TEST_PROGS) $(TEST_PROGS): ../harness.c include ../../lib.mk clean: rm -f $(TEST_PROGS) *.o
tools/testing/selftests/powerpc/syscalls/ipc.h 0 → 100644 +47 −0 Original line number Diff line number Diff line #ifdef __NR_semop DO_TEST(semop, __NR_semop) #endif #ifdef __NR_semget DO_TEST(semget, __NR_semget) #endif #ifdef __NR_semctl DO_TEST(semctl, __NR_semctl) #endif #ifdef __NR_semtimedop DO_TEST(semtimedop, __NR_semtimedop) #endif #ifdef __NR_msgsnd DO_TEST(msgsnd, __NR_msgsnd) #endif #ifdef __NR_msgrcv DO_TEST(msgrcv, __NR_msgrcv) #endif #ifdef __NR_msgget DO_TEST(msgget, __NR_msgget) #endif #ifdef __NR_msgctl DO_TEST(msgctl, __NR_msgctl) #endif #ifdef __NR_shmat DO_TEST(shmat, __NR_shmat) #endif #ifdef __NR_shmdt DO_TEST(shmdt, __NR_shmdt) #endif #ifdef __NR_shmget DO_TEST(shmget, __NR_shmget) #endif #ifdef __NR_shmctl DO_TEST(shmctl, __NR_shmctl) #endif
tools/testing/selftests/powerpc/syscalls/ipc_unmuxed.c 0 → 100644 +61 −0 Original line number Diff line number Diff line /* * Copyright 2015, Michael Ellerman, IBM Corp. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. * * This test simply tests that certain syscalls are implemented. It doesn't * actually exercise their logic in any way. */ #define _GNU_SOURCE #include <errno.h> #include <stdio.h> #include <unistd.h> #include <sys/syscall.h> #include "utils.h" #define DO_TEST(_name, _num) \ static int test_##_name(void) \ { \ int rc; \ printf("Testing " #_name); \ errno = 0; \ rc = syscall(_num, -1, 0, 0, 0, 0, 0); \ printf("\treturned %d, errno %d\n", rc, errno); \ return errno == ENOSYS; \ } #include "ipc.h" #undef DO_TEST static int ipc_unmuxed(void) { int tests_done = 0; #define DO_TEST(_name, _num) \ FAIL_IF(test_##_name()); \ tests_done++; #include "ipc.h" #undef DO_TEST /* * If we ran no tests then it means none of the syscall numbers were * defined, possibly because we were built against old headers. But it * means we didn't really test anything, so instead of passing mark it * as a skip to give the user a clue. */ SKIP_IF(tests_done == 0); return 0; } int main(void) { return test_harness(ipc_unmuxed, "ipc_unmuxed"); }