[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 20/28] docs/devel: add "check-tcg" to testing.rst
From: |
Alex Bennée |
Subject: |
[PULL 20/28] docs/devel: add "check-tcg" to testing.rst |
Date: |
Thu, 26 Sep 2019 19:35:45 +0100 |
It was pointed out we haven't documented the check-tcg part of the
build system. Attempt to rectify that now.
Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
diff --git a/docs/devel/testing.rst b/docs/devel/testing.rst
index bf75675fb0..8e981e062d 100644
--- a/docs/devel/testing.rst
+++ b/docs/devel/testing.rst
@@ -266,6 +266,8 @@ another application on the host may have locked the file,
possibly leading to a
test failure. If using such devices are explicitly desired, consider adding
``locking=off`` option to disable image locking.
+.. _docker-ref:
+
Docker based tests
==================
@@ -799,3 +801,77 @@ And remove any package you want with::
If you've used ``make check-acceptance``, the Python virtual environment where
Avocado is installed will be cleaned up as part of ``make check-clean``.
+
+Testing with "make check-tcg"
+=============================
+
+The check-tcg tests are intended for simple smoke tests of both
+linux-user and softmmu TCG functionality. However to build test
+programs for guest targets you need to have cross compilers available.
+If your distribution supports cross compilers you can do something as
+simple as::
+
+ apt install gcc-aarch64-linux-gnu
+
+The configure script will automatically pick up their presence.
+Sometimes compilers have slightly odd names so the availability of
+them can be prompted by passing in the appropriate configure option
+for the architecture in question, for example::
+
+ $(configure) --cross-cc-aarch64=aarch64-cc
+
+There is also a ``--cross-cc-flags-ARCH`` flag in case additional
+compiler flags are needed to build for a given target.
+
+If you have the ability to run containers as the user you can also
+take advantage of the build systems "Docker" support. It will then use
+containers to build any test case for an enabled guest where there is
+no system compiler available. See :ref: `_docker-ref` for details.
+
+Running subset of tests
+-----------------------
+
+You can build the tests for one architecture::
+
+ make build-tcg-tests-$TARGET
+
+And run with::
+
+ make run-tcg-tests-$TARGET
+
+Adding ``V=1`` to the invocation will show the details of how to
+invoke QEMU for the test which is useful for debugging tests.
+
+TCG test dependencies
+---------------------
+
+The TCG tests are deliberately very light on dependencies and are
+either totally bare with minimal gcc lib support (for softmmu tests)
+or just glibc (for linux-user tests). This is because getting a cross
+compiler to work with additional libraries can be challenging.
+
+Other TCG Tests
+---------------
+
+There are a number of out-of-tree test suites that are used for more
+extensive testing of processor features.
+
+KVM Unit Tests
+~~~~~~~~~~~~~~
+
+The KVM unit tests are designed to run as a Guest OS under KVM but
+there is no reason why they can't exercise the TCG as well. It
+provides a minimal OS kernel with hooks for enabling the MMU as well
+as reporting test results via a special device::
+
+ https://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git
+
+Linux Test Project
+~~~~~~~~~~~~~~~~~~
+
+The LTP is focused on exercising the syscall interface of a Linux
+kernel. It checks that syscalls behave as documented and strives to
+exercise as many corner cases as possible. It is a useful test suite
+to run to exercise QEMU's linux-user code::
+
+ https://linux-test-project.github.io/
--
2.20.1
- [PULL 12/28] tests/docker: reduce scary warnings by cleaning up clean up, (continued)
- [PULL 12/28] tests/docker: reduce scary warnings by cleaning up clean up, Alex Bennée, 2019/09/26
- [PULL 17/28] tests/tcg: add generic version of float_convs, Alex Bennée, 2019/09/26
- [PULL 26/28] docker: remove unused debian-sid, Alex Bennée, 2019/09/26
- [PULL 19/28] configure: preserve PKG_CONFIG for subdir builds, Alex Bennée, 2019/09/26
- [PULL 22/28] docker: remove debian8-mxe definitions, Alex Bennée, 2019/09/26
- [PULL 25/28] docker: remove unused debian-ports, Alex Bennée, 2019/09/26
- [PULL 27/28] docker: move tests from python2 to python3, Alex Bennée, 2019/09/26
- [PULL 18/28] tests/tcg: add simple record/replay smoke test for aarch64, Alex Bennée, 2019/09/26
- [PULL 23/28] docker: remove unused debian8 partial image, Alex Bennée, 2019/09/26
- [PULL 28/28] tests/docker: remove debian-powerpc-user-cross, Alex Bennée, 2019/09/26
- [PULL 20/28] docs/devel: add "check-tcg" to testing.rst,
Alex Bennée <=
- [PULL 21/28] target/i386: Fix broken build with WHPX enabled, Alex Bennée, 2019/09/26
- [PULL 15/28] tests/tcg: re-enable linux-test for ppc64abi32, Alex Bennée, 2019/09/26
- [PULL 16/28] tests/tcg: add float_madds test to multiarch, Alex Bennée, 2019/09/26
- Re: [PULL 00/28] testing updates (docker,podman,tcg,alpha), Peter Maydell, 2019/09/27