aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci/lava-deqp.yml.jinja2
blob: 3cd217291d49c442893500199d485706978f4db2 (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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
job_name: mesa-deqp-{{ deqp_version }}-{{ gpu_version }} {{ pipeline_info }}
device_type: {{ device_type }}
timeouts:
  job:
    minutes: 40
  action:
   minutes: 10
  actions:
    power-off:
      seconds: 30
priority: 75
visibility: public
{% if tags %}
{% set lavatags = tags.split(',') %}
tags:
{% for tag in lavatags %}
  - {{ tag }}
{% endfor %}
{% endif %}
actions:
- deploy:
    timeout:
      minutes: 10
{% if boot_method == "fastboot" %}
{# fastboot has just one boot image with the dtb and rootfs packed in #}
    to: fastboot
    images:
      boot:
        url: {{ base_artifacts_url }}/{{ kernel_image_name }}
{% else %}
    to: tftp
    kernel:
      url: {{ base_artifacts_url }}/{{ kernel_image_name }}
{% if kernel_image_type %}
      {{ kernel_image_type }}
{% endif %}
    ramdisk:
      url: {{ base_artifacts_url }}/lava-rootfs-{{ arch }}.cpio.gz
      compression: gz
    dtb:
      url: {{ base_artifacts_url }}/{{ device_type }}.dtb
{% endif %}
    os: oe
- boot:
    timeout:
      minutes: 5
    method: {{ boot_method }}
{% if boot_method == "fastboot" %}
{#
   For fastboot, LAVA doesn't know how to unpack the rootfs/apply overlay/repack,
   so we transfer the overlay over the network after boot.
#}
    transfer_overlay:
      download_command: wget -S --progress=dot:giga
      unpack_command: tar -C / -xzf
{% else %}
    commands: ramdisk
{% endif %}
    prompts:
      - 'lava-shell:'
- test:
    timeout:
      minutes: 60
    definitions:
    - repository:
        metadata:
          format: Lava-Test Test Definition 1.0
          name: deqp
          description: "Mesa dEQP test plan"
          os:
          - oe
          scope:
          - functional
        run:
          steps:
          - mount -t proc none /proc
          - mount -t sysfs none /sys 
          - mount -t devtmpfs none /dev || echo possibly already mounted
          - mkdir -p /dev/pts
          - mount -t devpts devpts /dev/pts

{% if env_vars %}
          - export {{ env_vars }}
{% endif %}

          - export DEQP_NO_SAVE_RESULTS=1
          - 'export DEQP_RUNNER_OPTIONS="--compact-display false --shuffle false"'
          - export DEQP_EXPECTED_FAILS=deqp-{{ gpu_version }}-fails.txt
          - export DEQP_SKIPS=deqp-{{ gpu_version }}-skips.txt
          - export DEQP_VER={{ deqp_version }}
          - export LIBGL_DRIVERS_PATH=`pwd`/install/lib/dri

          # Put stuff where the runner script expects it
          - mkdir artifacts
          - mkdir results
          - mkdir -p install/lib
          - cp /deqp/$DEQP_EXPECTED_FAILS artifacts/.
          - cp /deqp/$DEQP_SKIPS artifacts/.
          - mv /mesa/lib/* install/lib/.

          - "if sh /deqp/deqp-runner.sh; then
                  echo 'deqp: pass';
             else
                  echo 'deqp: fail';
             fi"
        parse:
          pattern: '(?P<test_case_id>\S*):\s+(?P<result>(pass|fail))'
      from: inline
      name: deqp
      path: inline/mesa-deqp.yaml