summaryrefslogtreecommitdiff
path: root/validate/tests/launcher_tests/foreach.validatetest
blob: a5201ffa9ea7136e71f0e11e26e12c0b2472ee2d (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
49
meta,
    handles-states=true,
    args = {
        "videotestsrc pattern=ball animation-mode=frames num-buffers=30 ! video/x-raw,framerate=10/1 ! $(videosink) name=sink sync=true",
    },
    expected-issues = {
        [
            expected-issue,
                level=critical,
                issue-id=scenario::execution-error,
                details="Pipeline position doesn.t match expectations got 0:00:00.100000000 instead of.*",
        ],
        [
            expected-issue,
                level=critical,
                issue-id=scenario::execution-error,
                details="Pipeline position doesn.t match expectations got 0:00:00.200000000 instead of.*",
        ],
    }

pause;

foreach, n=[0, 2],
    actions = {
        [seek, start="$(position)+0.1", flags="accurate+flush"],
        [check-position, expected-position="expr($(n)*0.01)"], # expected to fail
    }

priv_check-action-type-calls, type=seek, n=2
priv_check-action-type-calls, type=check-position, n=2

foreach, n=[0, 6], actions = {
    [seek, start="$(position)+0.1", flags="accurate+flush"],
    [check-position, expected-position="expr((3 + $(n)) * 0.1)"],
}

priv_check-action-type-calls, type=seek, n=8
priv_check-action-type-calls, type=check-position, n=8
check-position, expected-position=0.8

foreach, n=[9, 11], actions = {
    [seek, start="$(position)+0.1", flags="accurate+flush"],
    [check-position, expected-position="expr($(n)*0.1)"],
}
priv_check-action-type-calls, type=seek, n=10
# We called it once manually
priv_check-action-type-calls, type=check-position, n=11
check-position, expected-position=1.0
stop