Commit 3c545084 authored by Tom Hromatka's avatar Tom Hromatka Committed by David S. Miller

selftests: sparc64: char: Selftest for privileged ADI driver

Add a selftest for the sparc64 privileged ADI driver.  These
tests verify the read(), pread(), write(), pwrite(), and seek()
functionality of the driver.  The tests also report simple
performance statistics:

        Syscall Call    AvgTime AvgSize
                Count   (ticks) (bytes)
        -------------------------------
        read          3  119638    8133
        pread         4  118164    6741
        write         3  339442    8133
        pwrite        4  280134    6741
        seek         10    2919       0
        Pass 8 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
Signed-off-by: default avatarTom Hromatka <tom.hromatka@oracle.com>
Reviewed-by: default avatarAllen Pais <allen.pais@oracle.com>
Reviewed-by: default avatarShuah Khan (Samsung OSG) <shuah@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 873c38a4
...@@ -31,6 +31,7 @@ TARGETS += ptrace ...@@ -31,6 +31,7 @@ TARGETS += ptrace
TARGETS += seccomp TARGETS += seccomp
TARGETS += sigaltstack TARGETS += sigaltstack
TARGETS += size TARGETS += size
TARGETS += sparc64
TARGETS += splice TARGETS += splice
TARGETS += static_keys TARGETS += static_keys
TARGETS += sync TARGETS += sync
......
SUBDIRS := drivers
TEST_PROGS := run.sh
.PHONY: all clean
include ../lib.mk
all:
@for DIR in $(SUBDIRS); do \
BUILD_TARGET=$(OUTPUT)/$$DIR; \
mkdir $$BUILD_TARGET -p; \
make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\
#SUBDIR test prog name should be in the form: SUBDIR_test.sh \
TEST=$$DIR"_test.sh"; \
if [ -e $$DIR/$$TEST ]; then \
rsync -a $$DIR/$$TEST $$BUILD_TARGET/; \
fi \
done
override define RUN_TESTS
@cd $(OUTPUT); ./run.sh
endef
override define INSTALL_RULE
mkdir -p $(INSTALL_PATH)
install -t $(INSTALL_PATH) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES)
@for SUBDIR in $(SUBDIRS); do \
BUILD_TARGET=$(OUTPUT)/$$SUBDIR; \
mkdir $$BUILD_TARGET -p; \
$(MAKE) OUTPUT=$$BUILD_TARGET -C $$SUBDIR INSTALL_PATH=$(INSTALL_PATH)/$$SUBDIR install; \
done;
endef
override define EMIT_TESTS
echo "./run.sh"
endef
override define CLEAN
@for DIR in $(SUBDIRS); do \
BUILD_TARGET=$(OUTPUT)/$$DIR; \
mkdir $$BUILD_TARGET -p; \
make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\
done
endef
INCLUDEDIR := -I.
CFLAGS := $(CFLAGS) $(INCLUDEDIR) -Wall -O2 -g
TEST_GEN_FILES := adi-test
all: $(TEST_GEN_FILES)
$(TEST_GEN_FILES): adi-test.c
TEST_PROGS := drivers_test.sh
include ../../lib.mk
$(OUTPUT)/adi-test: adi-test.c
This diff is collapsed.
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
SRC_TREE=../../../../
test_run()
{
if [ -f ${SRC_TREE}/drivers/char/adi.ko ]; then
insmod ${SRC_TREE}/drivers/char/adi.ko 2> /dev/null
if [ $? -ne 0 ]; then
rc=1
fi
else
# Use modprobe dry run to check for missing adi module
if ! /sbin/modprobe -q -n adi; then
echo "adi: [SKIP]"
elif /sbin/modprobe -q adi; then
echo "adi: ok"
else
echo "adi: [FAIL]"
rc=1
fi
fi
./adi-test
rmmod adi 2> /dev/null
}
rc=0
test_run
exit $rc
#!/bin/sh
(cd drivers; ./drivers_test.sh)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment