linux/tools/testing/selftests/arm64
Mark Brown a711987490 kselftest/arm64: Handle EINTR while reading data from children
Currently we treat any error when reading from the child as a failure and
don't read any more output from that child as a result. This ignores the
fact that it is valid for read() to return EINTR as the error code if there
is a signal pending so we could stop handling the output of children,
especially during exit when we will get some SIGCHLD signals delivered to
us. Fix this by pulling the read handling out into a separate function
which returns a flag if reads should be continued and wrapping it in a
loop.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220921181345.618085-4-broonie@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2022-09-29 18:12:37 +01:00
..
abi kselftest/arm64: Fix typo in hwcap check 2022-09-22 20:52:06 +01:00
bti kselftest/arm64: Explicitly build no BTI tests with BTI disabled 2022-05-16 19:43:40 +01:00
fp kselftest/arm64: Handle EINTR while reading data from children 2022-09-29 18:12:37 +01:00
mte kselftest/arm64: Don't enable v8.5 for MTE selftest builds 2022-09-29 17:34:40 +01:00
pauth kselftest/arm64: pac: Fix skipping of tests on systems without PAC 2021-08-20 12:06:59 +01:00
signal kselftest/arm64: Include larger SVE and SME VLs in signal tests 2022-09-07 14:25:47 +01:00
tags .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Makefile kselftest/arm64: Fix ABI header directory location 2022-05-04 10:02:36 +01:00
README kselftest: arm64: extend toplevel skeleton Makefile 2019-11-08 11:10:30 +00:00

KSelfTest ARM64
===============

- These tests are arm64 specific and so not built or run but just skipped
  completely when env-variable ARCH is found to be different than 'arm64'
  and `uname -m` reports other than 'aarch64'.

- Holding true the above, ARM64 KSFT tests can be run within the KSelfTest
  framework using standard Linux top-level-makefile targets:

      $ make TARGETS=arm64 kselftest-clean
      $ make TARGETS=arm64 kselftest

      or

      $ make -C tools/testing/selftests TARGETS=arm64 \
		INSTALL_PATH=<your-installation-path> install

      or, alternatively, only specific arm64/ subtargets can be picked:

      $ make -C tools/testing/selftests TARGETS=arm64 ARM64_SUBTARGETS="tags signal" \
		INSTALL_PATH=<your-installation-path> install

   Further details on building and running KFST can be found in:
     Documentation/dev-tools/kselftest.rst