From: Nicholas Piggin <npiggin@gmail.com>
To: Thomas Huth <thuth@redhat.com>
Cc: Laurent Vivier <lvivier@redhat.com>,
kvm@vger.kernel.org, Nicholas Piggin <npiggin@gmail.com>,
Andrew Jones <andrew.jones@linux.dev>,
Paolo Bonzini <pbonzini@redhat.com>,
linuxppc-dev@lists.ozlabs.org
Subject: [kvm-unit-tests PATCH v7 13/35] doc: start documentation directory with unittests.cfg doc
Date: Tue, 19 Mar 2024 17:59:04 +1000 [thread overview]
Message-ID: <20240319075926.2422707-14-npiggin@gmail.com> (raw)
In-Reply-To: <20240319075926.2422707-1-npiggin@gmail.com>
Consolidate unittests.cfg documentation in one place.
Suggested-by: Andrew Jones <andrew.jones@linux.dev>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
arm/unittests.cfg | 26 ++-----------
docs/unittests.txt | 89 +++++++++++++++++++++++++++++++++++++++++++
powerpc/unittests.cfg | 25 ++----------
riscv/unittests.cfg | 26 ++-----------
s390x/unittests.cfg | 18 ++-------
x86/unittests.cfg | 26 ++-----------
6 files changed, 107 insertions(+), 103 deletions(-)
create mode 100644 docs/unittests.txt
diff --git a/arm/unittests.cfg b/arm/unittests.cfg
index fe601cbb1..54cedea28 100644
--- a/arm/unittests.cfg
+++ b/arm/unittests.cfg
@@ -1,28 +1,10 @@
##############################################################################
# unittest configuration
#
-# [unittest_name]
-# file = <name>.flat # Name of the flat file to be used.
-# smp = <num> # Number of processors the VM will use
-# # during this test. Use $MAX_SMP to use
-# # the maximum the host supports. Defaults
-# # to one.
-# extra_params = -append <params...> # Additional parameters used.
-# arch = arm|arm64 # Select one if the test case is
-# # specific to only one.
-# groups = <group_name1> <group_name2> ... # Used to identify test cases
-# # with run_tests -g ...
-# # Specify group_name=nodefault
-# # to have test not run by
-# # default
-# accel = kvm|tcg # Optionally specify if test must run with
-# # kvm or tcg. If not specified, then kvm will
-# # be used when available.
-# timeout = <duration> # Optionally specify a timeout.
-# check = <path>=<value> # check a file for a particular value before running
-# # a test. The check line can contain multiple files
-# # to check separated by a space but each check
-# # parameter needs to be of the form <path>=<value>
+# arm specifics:
+#
+# file = <name>.flat # arm uses .flat files
+# arch = arm|arm64
##############################################################################
#
diff --git a/docs/unittests.txt b/docs/unittests.txt
new file mode 100644
index 000000000..53e02077c
--- /dev/null
+++ b/docs/unittests.txt
@@ -0,0 +1,89 @@
+unittests
+*********
+
+run_tests.sh is driven by the <arch>/unittests.cfg file. That file defines
+test cases by specifying an executable (target image) under the <arch>/
+directory, and how to run it. This way, for example, a single file can
+provide multiple test cases by being run with different host configurations
+and/or different parameters passed to it.
+
+Detailed output from run_tests.sh unit tests are stored in files under
+the logs/ directory.
+
+unittests.cfg format
+====================
+
+# is the comment symbol, all following contents of the line is ignored.
+
+Each unit test is defined as with a [unit-test-name] line, followed by
+a set of parameters that control how the test case is run. The name is
+arbitrary and appears in the status reporting output.
+
+Parameters appear on their own lines under the test name, and have a
+param = value format.
+
+Available parameters
+====================
+Note! Some parameters like smp and extra_params modify how a test is run,
+while others like arch and accel restrict the configurations in which the
+test is run.
+
+file
+----
+file = <filename>
+
+This parameter is mandatory and specifies which binary under the <arch>/
+directory to run. Typically this is <name>.flat or <name>.elf, depending
+on the arch. The directory name is not included, only the file name.
+
+arch
+----
+For <arch>/ directories that support multiple architectures, this restricts
+the test to the specified arch. By default, the test will run on any
+architecture.
+
+smp
+---
+smp = <number>
+
+Optional, the number of processors created in the machine to run the test.
+Defaults to 1. $MAX_SMP can be used to specify the maximum supported.
+
+extra_params
+------------
+These are extra parameters supplied to the QEMU process. -append '...' can
+be used to pass arguments into the test case argv. Multiple parameters can
+be added, for example:
+
+extra_params = -m 256 -append 'smp=2'
+
+groups
+------
+groups = <group_name1> <group_name2> ...
+
+Used to group the test cases for the `run_tests.sh -g ...` run group
+option. Adding a test to the nodefault group will cause it to not be
+run by default.
+
+accel
+-----
+accel = kvm|tcg
+
+This restricts the test to the specified accelerator. By default, the
+test will run on either accelerator. (Note, the accelerator can be
+specified with ACCEL= environment variable, and defaults to KVM if
+available).
+
+timeout
+-------
+timeout = <duration>
+
+Optional timeout in seconds, after which the test will be killed and fail.
+
+check
+-----
+check = <path>=<<value>
+
+Check a file for a particular value before running a test. The check line
+can contain multiple files to check separated by a space, but each check
+parameter needs to be of the form <path>=<value>
diff --git a/powerpc/unittests.cfg b/powerpc/unittests.cfg
index e65217c18..432c81d58 100644
--- a/powerpc/unittests.cfg
+++ b/powerpc/unittests.cfg
@@ -1,28 +1,9 @@
##############################################################################
# unittest configuration
#
-# [unittest_name]
-# file = <name>.flat # Name of the flat file to be used.
-# smp = <num> # Number of processors the VM will use
-# # during this test. Use $MAX_SMP to use
-# # the maximum the host supports. Defaults
-# # to one.
-# extra_params = -append <params...> # Additional parameters used.
-# arch = ppc64 # Select one if the test case is
-# # specific to only one.
-# groups = <group_name1> <group_name2> ... # Used to identify test cases
-# # with run_tests -g ...
-# # Specify group_name=nodefault
-# # to have test not run by
-# # default
-# accel = kvm|tcg # Optionally specify if test must run with
-# # kvm or tcg. If not specified, then kvm will
-# # be used when available.
-# timeout = <duration> # Optionally specify a timeout.
-# check = <path>=<value> # check a file for a particular value before running
-# # a test. The check line can contain multiple files
-# # to check separated by a space but each check
-# # parameter needs to be of the form <path>=<value>
+# powerpc specifics:
+#
+# file = <name>.elf # powerpc uses .elf files
##############################################################################
#
diff --git a/riscv/unittests.cfg b/riscv/unittests.cfg
index 5a23bed9c..50c67e37f 100644
--- a/riscv/unittests.cfg
+++ b/riscv/unittests.cfg
@@ -1,28 +1,10 @@
##############################################################################
# unittest configuration
#
-# [unittest_name]
-# file = <name>.flat # Name of the flat file to be used.
-# smp = <num> # Number of processors the VM will use
-# # during this test. Use $MAX_SMP to use
-# # the maximum the host supports. Defaults
-# # to one.
-# extra_params = -append <params...> # Additional parameters used.
-# arch = riscv32|riscv64 # Select one if the test case is
-# # specific to only one.
-# groups = <group_name1> <group_name2> ... # Used to identify test cases
-# # with run_tests -g ...
-# # Specify group_name=nodefault
-# # to have test not run by
-# # default
-# accel = kvm|tcg # Optionally specify if test must run with
-# # kvm or tcg. If not specified, then kvm will
-# # be used when available.
-# timeout = <duration> # Optionally specify a timeout.
-# check = <path>=<value> # check a file for a particular value before running
-# # a test. The check line can contain multiple files
-# # to check separated by a space but each check
-# # parameter needs to be of the form <path>=<value>
+# riscv specifics:
+#
+# file = <name>.flat # riscv uses .flat files
+# arch = riscv32|risc64
##############################################################################
[selftest]
diff --git a/s390x/unittests.cfg b/s390x/unittests.cfg
index 550eff787..d6abf72f3 100644
--- a/s390x/unittests.cfg
+++ b/s390x/unittests.cfg
@@ -1,21 +1,9 @@
##############################################################################
# unittest configuration
#
-# [unittest_name]
-# file = <name>.elf # Name of the elf file to be used.
-# extra_params = -append <params...> # Additional parameters used.
-# groups = <group_name1> <group_name2> ... # Used to identify test cases
-# # with run_tests -g ...
-# # Specify group_name=nodefault
-# # to have test not run by default
-# accel = kvm|tcg # Optionally specify if test must run with
-# # kvm or tcg. If not specified, then kvm will
-# # be used when available.
-# timeout = <duration> # Optionally specify a timeout.
-# check = <path>=<value> # check a file for a particular value before running
-# # a test. The check line can contain multiple files
-# # to check separated by a space but each check
-# # parameter needs to be of the form <path>=<value>
+# s390x specifics:
+#
+# file = <name>.elf # s390x uses .elf files
##############################################################################
[selftest-setup]
diff --git a/x86/unittests.cfg b/x86/unittests.cfg
index 124be7a1f..867a8ea2f 100644
--- a/x86/unittests.cfg
+++ b/x86/unittests.cfg
@@ -1,28 +1,10 @@
##############################################################################
# unittest configuration
#
-# [unittest_name]
-# file = <name>.flat # Name of the flat file to be used.
-# smp = <num> # Number of processors the VM will use
-# # during this test. Use $MAX_SMP to use
-# # the maximum the host supports. Defaults
-# # to one.
-# extra_params = -append <params...> # Additional parameters used.
-# arch = i386|x86_64 # Select one if the test case is
-# # specific to only one.
-# groups = <group_name1> <group_name2> ... # Used to identify test cases
-# # with run_tests -g ...
-# # Specify group_name=nodefault
-# # to have test not run by
-# # default
-# accel = kvm|tcg # Optionally specify if test must run with
-# # kvm or tcg. If not specified, then kvm will
-# # be used when available.
-# timeout = <duration> # Optionally specify a timeout.
-# check = <path>=<value> # check a file for a particular value before running
-# # a test. The check line can contain multiple files
-# # to check separated by a space but each check
-# # parameter needs to be of the form <path>=<value>
+# x86 specifics:
+#
+# file = <name>.flat # x86 uses .flat files
+# arch = i386|x86_64
##############################################################################
[apic-split]
--
2.42.0
next prev parent reply other threads:[~2024-03-19 8:09 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-19 7:58 [kvm-unit-tests PATCH v7 00/35] migration, powerpc improvements Nicholas Piggin
2024-03-19 7:58 ` [kvm-unit-tests PATCH v7 01/35] arch-run: Add functions to help handle migration directives from test Nicholas Piggin
2024-03-25 15:54 ` Thomas Huth
2024-03-19 7:58 ` [kvm-unit-tests PATCH v7 02/35] arch-run: Keep infifo open Nicholas Piggin
2024-03-19 7:58 ` [kvm-unit-tests PATCH v7 03/35] migration: Add a migrate_skip command Nicholas Piggin
2024-03-19 7:58 ` [kvm-unit-tests PATCH v7 04/35] (arm|s390): Use migrate_skip in test cases Nicholas Piggin
2024-03-19 7:58 ` [kvm-unit-tests PATCH v7 05/35] arch-run: Add a "continuous" migration option for tests Nicholas Piggin
2024-03-19 7:58 ` [kvm-unit-tests PATCH v7 06/35] gitlab-ci: Run migration selftest on s390x and powerpc Nicholas Piggin
2024-03-25 16:08 ` Thomas Huth
2024-03-28 8:16 ` Nicholas Piggin
2024-03-19 7:58 ` [kvm-unit-tests PATCH v7 07/35] common: add memory dirtying vs migration test Nicholas Piggin
2024-03-28 17:37 ` Thomas Huth
2024-04-05 4:54 ` Nicholas Piggin
2024-03-19 7:58 ` [kvm-unit-tests PATCH v7 08/35] powerpc: Fix KVM caps on POWER9 hosts Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 09/35] powerpc: Fix stack backtrace termination Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 10/35] powerpc: interrupt stack backtracing Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 11/35] powerpc/sprs: Specify SPRs with data rather than code Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 12/35] powerpc/sprs: Avoid taking PMU interrupts caused by register fuzzing Nicholas Piggin
2024-03-19 7:59 ` Nicholas Piggin [this message]
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 14/35] scripts: allow machine option to be specified in unittests.cfg Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 15/35] scripts: Accommodate powerpc powernv machine differences Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 16/35] powerpc: Support powernv machine with QEMU TCG Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 17/35] powerpc: Fix emulator illegal instruction test for powernv Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 18/35] powerpc/sprs: Test hypervisor registers on powernv machine Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 19/35] powerpc: general interrupt tests Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 20/35] powerpc: Add rtas stop-self support Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 21/35] powerpc: Remove broken SMP exception stack setup Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 22/35] powerpc: add SMP and IPI support Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 23/35] powerpc: Permit ACCEL=tcg,thread=single Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 24/35] powerpc: Avoid using larx/stcx. in spinlocks when only one CPU is running Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 25/35] powerpc: Add atomics tests Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 26/35] powerpc: Add timebase tests Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 27/35] powerpc: Add MMU support Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 28/35] common/sieve: Use vmalloc.h for setup_mmu definition Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 29/35] common/sieve: Support machines without MMU Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 30/35] powerpc: Add sieve.c common test Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 31/35] powerpc: add usermode support Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 32/35] powerpc: add pmu tests Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 33/35] configure: Make arch_libdir a first-class entity Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 34/35] powerpc: Remove remnants of ppc64 directory and build structure Nicholas Piggin
2024-03-19 7:59 ` [kvm-unit-tests PATCH v7 35/35] powerpc: gitlab CI update Nicholas Piggin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240319075926.2422707-14-npiggin@gmail.com \
--to=npiggin@gmail.com \
--cc=andrew.jones@linux.dev \
--cc=kvm@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).