##############################################################################
# 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>
##############################################################################

#
# Test that the configured number of processors (smp = <num>), and
# that the configured amount of memory (-m <MB>) are correctly setup
# by the framework.
#
[selftest-setup]
file = selftest.elf
smp = 2
extra_params = -m 256 -append 'setup smp=2 mem=256'
groups = selftest

[selftest-migration]
file = selftest-migration.elf
groups = selftest migration
# TODO: Remove accel=kvm once the following TCG migration fix has been merged:
# https://lore.kernel.org/qemu-devel/20240219061731.232570-1-npiggin@gmail.com/
accel = kvm

[spapr_hcall]
file = spapr_hcall.elf

[spapr_vpa]
file = spapr_vpa.elf

[rtas-get-time-of-day]
file = rtas.elf
timeout = 5
extra_params = -append "get-time-of-day date=$(date +%s)"
groups = rtas

[rtas-get-time-of-day-base]
file = rtas.elf
timeout = 5
extra_params = -rtc base="2006-06-17" -append "get-time-of-day date=$(date --date="2006-06-17 UTC" +%s)"
groups = rtas

[rtas-set-time-of-day]
file = rtas.elf
extra_params = -append "set-time-of-day"
timeout = 5
groups = rtas

[emulator]
file = emulator.elf

[h_cede_tm]
file = tm.elf
accel = kvm
smp = 2,threads=2
extra_params = -machine cap-htm=on -append "h_cede_tm"
groups = h_cede_tm

[sprs]
file = sprs.elf

[sprs-migration]
file = sprs.elf
extra_params = -append '-w'
groups = migration
