summaryrefslogtreecommitdiff
path: root/tests/vsp-unit-test-0021.sh
diff options
context:
space:
mode:
authorKieran Bingham <kieran.bingham@ideasonboard.com>2017-02-11 14:43:05 +0000
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2017-02-13 20:43:48 +0200
commita6b14873f9d09474305bfe16027fcc8b66966541 (patch)
tree8936b8ac56ec7f798a28a6a6749b26008f43afb2 /tests/vsp-unit-test-0021.sh
parent9e2da7880d95905ea9646c8d94904b4a1c1ea53c (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/vsp-unit-test-0021.sh')
-rwxr-xr-xtests/vsp-unit-test-0021.sh54
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