Message ID | 20221128220340.536558-1-nfraprado@collabora.com |
---|---|
State | Accepted |
Commit | 8008d88e6d160c4e73de5be7c3dcc54e3ccccf49 |
Headers | show |
Series | selftests/tpm2: Split async tests call to separate shell script runner | expand |
On 11/28/22 15:03, Nícolas F. R. A. Prado wrote: > When the async test case was introduced, despite being a completely > independent test case, the command to run it was added to the same shell > script as the smoke test case. Since a shell script implicitly returns > the error code from the last run command, this effectively caused the > script to only return as error code the result from the async test case, > hiding the smoke test result (which could then only be seen from the > python unittest logs). > > Move the async test case call to its own shell script runner to avoid > the aforementioned issue. This also makes the output clearer to read, > since each kselftest KTAP result now matches with one python unittest > report. > > While at it, also make it so the async test case is skipped if > /dev/tpmrm0 doesn't exist, since commit 8335adb8f9d3 ("selftests: tpm: > add async space test with noneexisting handle") added a test that relies > on it. > > Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> > > --- > > tools/testing/selftests/tpm2/Makefile | 2 +- > tools/testing/selftests/tpm2/test_async.sh | 10 ++++++++++ > tools/testing/selftests/tpm2/test_smoke.sh | 1 - > 3 files changed, 11 insertions(+), 2 deletions(-) > create mode 100755 tools/testing/selftests/tpm2/test_async.sh > > diff --git a/tools/testing/selftests/tpm2/Makefile b/tools/testing/selftests/tpm2/Makefile > index 1a5db1eb8ed5..a9bf9459fb25 100644 > --- a/tools/testing/selftests/tpm2/Makefile > +++ b/tools/testing/selftests/tpm2/Makefile > @@ -1,5 +1,5 @@ > # SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) > include ../lib.mk > > -TEST_PROGS := test_smoke.sh test_space.sh > +TEST_PROGS := test_smoke.sh test_space.sh test_async.sh > TEST_PROGS_EXTENDED := tpm2.py tpm2_tests.py > diff --git a/tools/testing/selftests/tpm2/test_async.sh b/tools/testing/selftests/tpm2/test_async.sh > new file mode 100755 > index 000000000000..43bf5bd772fd > --- /dev/null > +++ b/tools/testing/selftests/tpm2/test_async.sh > @@ -0,0 +1,10 @@ > +#!/bin/sh > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) > + > +# Kselftest framework requirement - SKIP code is 4. > +ksft_skip=4 > + > +[ -e /dev/tpm0 ] || exit $ksft_skip > +[ -e /dev/tpmrm0 ] || exit $ksft_skip > + > +python3 -m unittest -v tpm2_tests.AsyncTest > diff --git a/tools/testing/selftests/tpm2/test_smoke.sh b/tools/testing/selftests/tpm2/test_smoke.sh > index 3e5ff29ee1dd..58af963e5b55 100755 > --- a/tools/testing/selftests/tpm2/test_smoke.sh > +++ b/tools/testing/selftests/tpm2/test_smoke.sh > @@ -7,4 +7,3 @@ ksft_skip=4 > [ -e /dev/tpm0 ] || exit $ksft_skip > > python3 -m unittest -v tpm2_tests.SmokeTest > -python3 -m unittest -v tpm2_tests.AsyncTest Thank you for fixing the problem. Applied to linux-kselftest next for Linux 6.2-rc1 thanks, -- Shuah
diff --git a/tools/testing/selftests/tpm2/Makefile b/tools/testing/selftests/tpm2/Makefile index 1a5db1eb8ed5..a9bf9459fb25 100644 --- a/tools/testing/selftests/tpm2/Makefile +++ b/tools/testing/selftests/tpm2/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) include ../lib.mk -TEST_PROGS := test_smoke.sh test_space.sh +TEST_PROGS := test_smoke.sh test_space.sh test_async.sh TEST_PROGS_EXTENDED := tpm2.py tpm2_tests.py diff --git a/tools/testing/selftests/tpm2/test_async.sh b/tools/testing/selftests/tpm2/test_async.sh new file mode 100755 index 000000000000..43bf5bd772fd --- /dev/null +++ b/tools/testing/selftests/tpm2/test_async.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) + +# Kselftest framework requirement - SKIP code is 4. +ksft_skip=4 + +[ -e /dev/tpm0 ] || exit $ksft_skip +[ -e /dev/tpmrm0 ] || exit $ksft_skip + +python3 -m unittest -v tpm2_tests.AsyncTest diff --git a/tools/testing/selftests/tpm2/test_smoke.sh b/tools/testing/selftests/tpm2/test_smoke.sh index 3e5ff29ee1dd..58af963e5b55 100755 --- a/tools/testing/selftests/tpm2/test_smoke.sh +++ b/tools/testing/selftests/tpm2/test_smoke.sh @@ -7,4 +7,3 @@ ksft_skip=4 [ -e /dev/tpm0 ] || exit $ksft_skip python3 -m unittest -v tpm2_tests.SmokeTest -python3 -m unittest -v tpm2_tests.AsyncTest
When the async test case was introduced, despite being a completely independent test case, the command to run it was added to the same shell script as the smoke test case. Since a shell script implicitly returns the error code from the last run command, this effectively caused the script to only return as error code the result from the async test case, hiding the smoke test result (which could then only be seen from the python unittest logs). Move the async test case call to its own shell script runner to avoid the aforementioned issue. This also makes the output clearer to read, since each kselftest KTAP result now matches with one python unittest report. While at it, also make it so the async test case is skipped if /dev/tpmrm0 doesn't exist, since commit 8335adb8f9d3 ("selftests: tpm: add async space test with noneexisting handle") added a test that relies on it. Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> --- tools/testing/selftests/tpm2/Makefile | 2 +- tools/testing/selftests/tpm2/test_async.sh | 10 ++++++++++ tools/testing/selftests/tpm2/test_smoke.sh | 1 - 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100755 tools/testing/selftests/tpm2/test_async.sh