tests: Add SPDX headers to vsp-unit-test-0026.sh
[renesas/vsp-tests.git] / tests / vsp-unit-test-0021.sh
1 #!/bin/sh
2 # SPDX-License-Identifier: GPL-2.0-or-later
3 # SPDX-FileCopyrightText: 2017 Renesas Electronics Corporation
4
5 #
6 # Test active pipeline, with high load on CPU/Memory/IO using 'stress'
7 #
8 # Test WPF packing in RGB mode. Use a RPF -> WPF pipeline with a fixed ARGB32
9 # format on the input and capture output frames in all RGB formats supported
10 # by the WPF.
11 #
12
13 . ./vsp-lib.sh
14
15 features="rpf.0 wpf.0"
16 formats="RGB332 ARGB555 XRGB555 RGB565 BGR24 RGB24 ABGR32 ARGB32 XBGR32 XRGB32"
17
18 test_wpf_packing() {
19         test_start "WPF packing in $format during stress testing"
20
21         pipe_configure rpf-wpf 0 0
22         format_configure rpf-wpf 0 0 ARGB32 1024x768 $format
23
24         vsp_runner rpf.0 &
25         vsp_runner wpf.0
26
27         local result=$(compare_frames)
28
29         test_complete $result
30 }
31
32 exists() {
33         type -t "$1" > /dev/null 2>&1
34 }
35
36 test_main() {
37         local format
38
39         exists stress || {
40                 echo "$0: Stress test requires utility 'stress'"
41                 return
42         }
43
44         # Start stressing the system, as a background task
45         stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M &
46
47         for format in $formats ; do
48                 test_wpf_packing $format
49         done
50
51         # Recover the system. Stress launches multiple PIDs, so it's best to:
52         killall -9 stress
53 }
54
55 test_init $0 "$features"
56 test_run