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@gmail.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Alexey Dobriyan 2018-04-10 16:31:45 -07:00 коммит произвёл Linus Torvalds
Родитель 835b94e05c
Коммит 9cd6565558
5 изменённых файлов: 34 добавлений и 0 удалений

Просмотреть файл

@ -25,6 +25,7 @@ TARGETS += mqueue
TARGETS += net
TARGETS += nsfs
TARGETS += powerpc
TARGETS += proc
TARGETS += pstore
TARGETS += ptrace
TARGETS += seccomp

1
tools/testing/selftests/proc/.gitignore поставляемый Normal file
Просмотреть файл

@ -0,0 +1 @@
/proc-self-wchan

Просмотреть файл

@ -0,0 +1,6 @@
CFLAGS += -Wall -O2
TEST_GEN_PROGS :=
TEST_GEN_PROGS += proc-self-wchan
include ../lib.mk

Просмотреть файл

@ -0,0 +1 @@
CONFIG_PROC_FS=y

Просмотреть файл

@ -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;
}