summaryrefslogtreecommitdiff
path: root/openembedded/cyclictest.yaml
blob: 28e4aa93f526edb7b7dc6b111ed833e7db4cb55f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
metadata:
    name: cyclictest
    format: "Lava-Test-Shell Test Definition 1.0"
    version: 1.1
    description: "Cyclictest Suite for Linaro OpenEmbedded builds. Cyclictest is a high-resolution
                  test program for measuring the Linux kernel latencies. The MAX, AVG and RTIME
                  is set to 15000, 50 and 7200 respectively by default which can chabged via JSON file."
    maintainer:
        - vincent.hsu@linaro.org
        - ciprian.barbu@linaro.org
        - anders.roxell@linaro.org
    os:
        - openembedded
    scope:
        - performance
        - preempt-rt
    devices:
        - arndale
        - juno

# Parameters description
#   MAX: Maximum latency bound.
#   AVG: Average latency bound.
#   RTIME: Running time. Must set this longer than 60.
#   (changed so default RTIME is two hours - GSR)
params:
    MAX: 15000
    AVG: 50
    RTIME: 7200

run:
    steps:
        - "taskset -c 1 fping -g 127.0.0.1 127.0.0.10 -t 100 -q -l &> /dev/null &"
        - "taskset -c 1 ./openembedded/scripts/infinite_loop.py $(expr $RTIME - 60) &> /dev/null &"
        - "taskset -c 1 cyclictest -t 1 -p 80 -i 10000 -n -a1 -v -D $(expr $RTIME / 2) > ~/cyclictest_full.log &"
        - "taskset -c 1 cyclictest -t 50 -p 80 -i 10000 -n -a1 -q -D $RTIME > ~/cyclictest_summary.log"
        - "cat ~/cyclictest_summary.log | ./openembedded/scripts/cyclictest.py $MAX $AVG"
        - "lava-test-run-attach ~/cyclictest_summary.log text/plain"
        - "tar -cjf ~/cyclictest_full.log.tbz ~/cyclictest_full.log"
        - "lava-test-run-attach ~/cyclictest_full.log.tbz application/x-bzip2"
        - "killall calibrator infinite_loop.py fping"

parse:
    pattern: "^test_case_id:(?P<test_case_id>.+)\\s+result:(?P<result>\\w+)\\s+measurement:(?P<measurement>.+)\\s+units:(?P<units>.+)"
    fixupdict:
        PASS: pass
        FAIL: fail
        SKIP: skip