autotest: introduce SPDK_RUN_FUNCTIONAL_TEST

Introduced a new variable to run functional tests.
It's enabled by default, and can be manually disabled
on systems where e.g. only unit tests are run.

SPDK_RUN_FUNCTIONAL_TEST is a supplement to SPDK_UNITTEST.
The two are completely independent - both can be enabled,
disabled, or run in any combination.

The new variable is prefixed SPDK_RUN_ as it aligns nicely
with SPDK_RUN_CHECK_FORMAT, SPDK_RUN_VALGRIND, and
SPDK_RUN_ASAN, all of which control how much is tested.
SPDK_UNITTEST should eventually follow the same pattern
as well.

This gives us 2 layers of configuration:
SPDK_TEST_* <- what is tested
SPDK_RUN_* <- how it is tested

The following would run UT+ASAN for FTL and BlobFS, without
running their functional tests:

```
SPDK_RUN_FUNCTIONAL_TEST=0
SPDK_RUN_ASAN=1
SPDK_TEST_UNITTEST=1
SPDK_TEST_FTL=1
SPDK_TEST_BLOBFS=1
```

Change-Id: I9e592fa41aa2df8e246eca2bb9161b6da6832130
Signed-off-by: Seth Howell <seth.howell@intel.com>
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/442327 (master)
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/448411
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Darek Stojaczyk 2019-01-28 13:21:57 +01:00
parent 9199b918ea
commit f30e745cc5
4 changed files with 144 additions and 137 deletions

View File

@ -100,6 +100,12 @@ fi
timing_enter lib timing_enter lib
if [ $SPDK_RUN_FUNCTIONAL_TEST -eq 1 ]; then
timing_enter lib
run_test suite test/env/env.sh
run_test suite test/rpc_client/rpc_client.sh
if [ $SPDK_TEST_BLOCKDEV -eq 1 ]; then if [ $SPDK_TEST_BLOCKDEV -eq 1 ]; then
run_test suite test/bdev/blockdev.sh run_test suite test/bdev/blockdev.sh
if [ $(uname -s) = Linux ]; then if [ $(uname -s) = Linux ]; then
@ -131,9 +137,6 @@ if [ $SPDK_TEST_NVME -eq 1 ]; then
fi fi
fi fi
run_test suite test/env/env.sh
run_test suite test/rpc_client/rpc_client.sh
if [ $SPDK_TEST_IOAT -eq 1 ]; then if [ $SPDK_TEST_IOAT -eq 1 ]; then
run_test suite test/ioat/ioat.sh run_test suite test/ioat/ioat.sh
fi fi
@ -250,6 +253,7 @@ if [ $SPDK_TEST_RBD -eq 1 ]; then
run_test suite ./test/bdev/bdevjson/rbd_json_config.sh run_test suite ./test/bdev/bdevjson/rbd_json_config.sh
run_test suite ./test/spdkcli/rbd.sh run_test suite ./test/spdkcli/rbd.sh
fi fi
fi
timing_enter cleanup timing_enter cleanup
autotest_cleanup autotest_cleanup

View File

@ -3,6 +3,7 @@ SPDK_BUILD_DOC=1
SPDK_RUN_CHECK_FORMAT=1 SPDK_RUN_CHECK_FORMAT=1
SPDK_RUN_SCANBUILD=1 SPDK_RUN_SCANBUILD=1
SPDK_RUN_VALGRIND=1 SPDK_RUN_VALGRIND=1
SPDK_RUN_FUNCTIONAL_TEST=1
SPDK_TEST_UNITTEST=1 SPDK_TEST_UNITTEST=1
SPDK_TEST_ISCSI=0 SPDK_TEST_ISCSI=0
SPDK_TEST_ISCSI_INITIATOR=0 SPDK_TEST_ISCSI_INITIATOR=0

View File

@ -40,6 +40,7 @@ fi
: ${SPDK_RUN_CHECK_FORMAT=1}; export SPDK_RUN_CHECK_FORMAT : ${SPDK_RUN_CHECK_FORMAT=1}; export SPDK_RUN_CHECK_FORMAT
: ${SPDK_RUN_SCANBUILD=1}; export SPDK_RUN_SCANBUILD : ${SPDK_RUN_SCANBUILD=1}; export SPDK_RUN_SCANBUILD
: ${SPDK_RUN_VALGRIND=1}; export SPDK_RUN_VALGRIND : ${SPDK_RUN_VALGRIND=1}; export SPDK_RUN_VALGRIND
: ${SPDK_RUN_FUNCTIONAL_TEST=1}; export SPDK_RUN_FUNCTIONAL_TEST
: ${SPDK_TEST_UNITTEST=1}; export SPDK_TEST_UNITTEST : ${SPDK_TEST_UNITTEST=1}; export SPDK_TEST_UNITTEST
: ${SPDK_TEST_ISCSI=1}; export SPDK_TEST_ISCSI : ${SPDK_TEST_ISCSI=1}; export SPDK_TEST_ISCSI
: ${SPDK_TEST_ISCSI_INITIATOR=1}; export SPDK_TEST_ISCSI_INITIATOR : ${SPDK_TEST_ISCSI_INITIATOR=1}; export SPDK_TEST_ISCSI_INITIATOR

View File

@ -400,6 +400,7 @@ SPDK_BUILD_DOC=1
SPDK_RUN_CHECK_FORMAT=1 SPDK_RUN_CHECK_FORMAT=1
SPDK_RUN_SCANBUILD=1 SPDK_RUN_SCANBUILD=1
SPDK_RUN_VALGRIND=1 SPDK_RUN_VALGRIND=1
SPDK_RUN_FUNCTIONAL_TEST=1
SPDK_TEST_UNITTEST=1 SPDK_TEST_UNITTEST=1
SPDK_TEST_ISCSI=1 SPDK_TEST_ISCSI=1
SPDK_TEST_ISCSI_INITIATOR=1 SPDK_TEST_ISCSI_INITIATOR=1