From: Alexey Dobriyan <adobriyan@xxxxxxxxx> Subject: proc: test /proc/self/wchan This patch starts testing /proc. Many more tests to come (I promise). Read from /proc/self/wchan should always return "0" as current is in TASK_RUNNING state while reading /proc/self/wchan. Link: http://lkml.kernel.org/r/20180226212006.GA742@avx2 Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> Cc: Shuah Khan <shuah@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- tools/testing/selftests/Makefile | 1 tools/testing/selftests/proc/.gitignore | 1 tools/testing/selftests/proc/Makefile | 6 +++ tools/testing/selftests/proc/config | 1 tools/testing/selftests/proc/proc-self-wchan.c | 25 +++++++++++++++ 5 files changed, 34 insertions(+) diff -puN tools/testing/selftests/Makefile~proc-test-proc-self-wchan tools/testing/selftests/Makefile --- a/tools/testing/selftests/Makefile~proc-test-proc-self-wchan +++ a/tools/testing/selftests/Makefile @@ -25,6 +25,7 @@ TARGETS += mqueue TARGETS += net TARGETS += nsfs TARGETS += powerpc +TARGETS += proc TARGETS += pstore TARGETS += ptrace TARGETS += seccomp diff -puN /dev/null tools/testing/selftests/proc/config --- /dev/null +++ a/tools/testing/selftests/proc/config @@ -0,0 +1 @@ +CONFIG_PROC_FS=y diff -puN /dev/null tools/testing/selftests/proc/.gitignore --- /dev/null +++ a/tools/testing/selftests/proc/.gitignore @@ -0,0 +1 @@ +/proc-self-wchan diff -puN /dev/null tools/testing/selftests/proc/Makefile --- /dev/null +++ a/tools/testing/selftests/proc/Makefile @@ -0,0 +1,6 @@ +CFLAGS += -Wall -O2 + +TEST_GEN_PROGS := +TEST_GEN_PROGS += proc-self-wchan + +include ../lib.mk diff -puN /dev/null tools/testing/selftests/proc/proc-self-wchan.c --- /dev/null +++ a/tools/testing/selftests/proc/proc-self-wchan.c @@ -0,0 +1,25 @@ +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <errno.h> +#include <unistd.h> + +int main(void) +{ + char buf[64]; + int fd; + + fd = open("/proc/self/wchan", O_RDONLY); + if (fd == -1) { + if (errno == ENOENT) + return 2; + return 1; + } + + buf[0] = '\0'; + if (read(fd, buf, sizeof(buf)) != 1) + return 1; + if (buf[0] != '0') + return 1; + return 0; +} _ -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html