diff options
| author | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2017-02-11 14:43:05 +0000 | 
|---|---|---|
| committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2017-02-13 20:43:48 +0200 | 
| commit | a6b14873f9d09474305bfe16027fcc8b66966541 (patch) | |
| tree | 8936b8ac56ec7f798a28a6a6749b26008f43afb2 /tests | |
| parent | 9e2da7880d95905ea9646c8d94904b4a1c1ea53c (diff) | |
tests: Add basic stress testing
Duplicate the functionality of vsp-unit-test-0001, to provide a set of
work for the hardware to run, whilst we load the system using the
'stress' utility.
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'tests')
| -rwxr-xr-x | tests/vsp-unit-test-0021.sh | 54 | 
1 files changed, 54 insertions, 0 deletions
| diff --git a/tests/vsp-unit-test-0021.sh b/tests/vsp-unit-test-0021.sh new file mode 100755 index 0000000..931f456 --- /dev/null +++ b/tests/vsp-unit-test-0021.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# +# Test active pipeline, with high load on CPU/Memory/IO using 'stress' +# +# Test WPF packing in RGB mode. Use a RPF -> WPF pipeline with a fixed ARGB32 +# format on the input and capture output frames in all RGB formats supported +# by the WPF. +# + +source vsp-lib.sh + +features="rpf.0 wpf.0" +formats="RGB332 ARGB555 XRGB555 RGB565 BGR24 RGB24 ABGR32 ARGB32 XBGR32 XRGB32" + +test_wpf_packing() { +	test_start "WPF packing in $format during stress testing" + +	pipe_configure rpf-wpf 0 0 +	format_configure rpf-wpf 0 0 ARGB32 1024x768 $format + +	vsp_runner rpf.0 & +	vsp_runner wpf.0 + +	local result=$(compare_frames) + +	test_complete $result +} + +exists() { +	type -t "$1" > /dev/null 2>&1 +} + +test_main() { +	local format + +	exists stress || { +		echo "$0: Stress test requires utility 'stress'" +		return +	} + +	# Start stressing the system, as a background task +	stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M & + +	for format in $formats ; do +		test_wpf_packing $format +	done + +	# Recover the system. Stress launches multiple PIDs, so it's best to: +	killall -9 stress +} + +test_init $0 "$features" +test_run | 
