~jocave/checkbox/hybrid-amd-gpu-mods

« back to all changes in this revision

Viewing changes to providers/plainbox-provider-checkbox/jobs/graphics.txt.in

  • Committer: Sylvain Pineau
  • Date: 2014-07-29 16:05:54 UTC
  • mto: This revision was merged to the branch mainline in revision 3149.
  • Revision ID: sylvain.pineau@canonical.com-20140729160554-qev8887xbunn9tmi
checkbox-ng:launchers:checkbox-cli: The checkbox-cli launcher

Running the default whitelist (with the suite selection screen skipped)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
unit: template
2
 
template-resource: graphics_card
3
 
plugin: shell
4
 
category_id: 2013.com.canonical.plainbox::graphics
5
 
id: graphics/{index}_driver_version_{product_slug}
6
 
command: graphics_driver
7
 
estimated_duration: 0.5
8
 
_description: Parses Xorg.0.Log and discovers the running X driver and version for the {vendor} {product} graphics card
9
 
_summary: Test X driver/version for {vendor} {product}
 
1
id: graphics/generator_driver_version
 
2
requires: device.category == 'VIDEO'
 
3
_description: Driver version tests
 
4
_summary: Driver version tests
 
5
plugin: local
 
6
command:
 
7
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
8
 plugin: shell
 
9
 id: graphics/`echo ${index}`_driver_version_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
10
 command: graphics_driver
 
11
 estimated_duration: 0.500
 
12
 _description: Parses Xorg.0.Log and discovers the running X driver and version for the $product graphics card
 
13
 _summary: Test X driver/version for $product
 
14
 EOF
10
15
 
11
16
plugin: shell
12
 
category_id: 2013.com.canonical.plainbox::graphics
13
17
id: graphics/xorg-version
14
18
requires: package.name == "x11-utils"
15
 
command: set -o pipefail; xdpyinfo | grep "^X.Org version" | cut -d ':' -f 2 | tr -d ' '
 
19
command: xdpyinfo | grep "^X.Org version" | cut -d ':' -f 2 | tr -d ' '
16
20
estimated_duration: 0.018
17
21
_description: Test to output the Xorg version
18
22
_summary: Test Xorg version
19
23
 
20
 
unit: template
21
 
template-resource: graphics_card
22
 
plugin: manual
23
 
category_id: 2013.com.canonical.plainbox::graphics
24
 
id: graphics/{index}_resolution-change_{product_slug}
25
 
depends: graphics/xorg-version
26
 
_summary: Test changing resolution for {vendor} {product}
27
 
_description:
28
 
 PURPOSE:
29
 
     This test will verify that the GUI is usable after manually changing resolution on the {vendor} {product} graphics card.
30
 
 STEPS:
31
 
     1. Select the {vendor} {product} graphics card (a reboot may be necessary)
32
 
     2. Open the Displays application
33
 
     3. Select a new resolution from the dropdown list
34
 
     4. Click on Apply
35
 
     5. Select the original resolution from the dropdown list
36
 
     6. Click on Apply
37
 
 VERIFICATION:
38
 
     Did the resolution on the {vendor} {product} graphics card change as expected?
 
24
id: graphics/generator_resolution-change
 
25
requires: device.category == 'VIDEO'
 
26
_description: Resolution change tests
 
27
_summary: Resolution change tests
 
28
plugin: local
 
29
command:
 
30
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
31
 plugin: user-interact-verify
 
32
 id: graphics/`echo ${index}`_resolution-change_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
33
 depends: graphics/xorg-version
 
34
 _summary: Test changing resolution for $product
 
35
 _description:
 
36
  PURPOSE:
 
37
      This test will verify that the GUI is usable after manually changing resolution on the $product graphics card.
 
38
  STEPS:
 
39
      1. Select the $product graphics card (a reboot may be necessary)
 
40
      2. Open the Displays application
 
41
      3. Select a new resolution from the dropdown list
 
42
      4. Click on Apply
 
43
      5. Select the original resolution from the dropdown list
 
44
      6. Click on Apply
 
45
  VERIFICATION:
 
46
      Did the resolution on the $product graphics card change as expected?
 
47
 EOF
39
48
 
40
49
plugin: shell
41
 
category_id: 2013.com.canonical.plainbox::graphics
42
50
id: graphics/xorg-process
43
51
requires:
44
52
 package.name == 'xorg'
49
57
_summary: Test that the X process is running.
50
58
 
51
59
plugin: shell
52
 
category_id: 2013.com.canonical.plainbox::graphics
53
60
id: graphics/xorg-failsafe
54
61
requires: package.name == 'xorg'
55
62
command: ! test -e /var/log/Xorg.failsafe.log
57
64
_description: Test that the X is not running in failsafe mode.
58
65
_summary: Test that X is not in failsafe mode.
59
66
 
60
 
unit: template
61
 
template-resource: graphics_card
62
 
plugin: user-interact-verify
63
 
category_id: 2013.com.canonical.plainbox::graphics
64
 
id: graphics/{index}_resolution_{product_slug}
65
 
requires:
66
 
 device.category == 'VIDEO'
67
 
 package.name == 'zenity'
68
 
command: resolution_test | zenity --text-info
69
 
estimated_duration: 10.00
70
 
_summary: Test default resolution for {vendor} {product}
71
 
_description:
72
 
 PURPOSE:
73
 
     This test will verify the default display resolution on the {vendor} {product} graphics card.
74
 
 STEPS:
75
 
     1. Click "Test".
76
 
     2. Confirm that the resolution shown in the text window is acceptable for your display.
77
 
 VERIFICATION:
78
 
     Is the resolution shown acceptable for your display on {vendor} {product} graphics card?
79
 
 
80
 
unit: template
81
 
template-resource: graphics_card
82
 
plugin: user-interact-verify
83
 
category_id: 2013.com.canonical.plainbox::graphics
84
 
id: graphics/{index}_screen_resolution_{product_slug}
85
 
requires:
86
 
 device.category == 'VIDEO'
87
 
 package.name == 'qmlscene'
88
 
command: qmlscene -qt5 --transparent --fullscreen $PLAINBOX_PROVIDER_DATA/resolution_test.qml
89
 
estimated_duration: 10.0
90
 
_summary: Test default resolution for {vendor} {product}
91
 
_description:
92
 
 PURPOSE:
93
 
     This test will verify the default display resolution on the {vendor} {product} graphics card
94
 
 STEPS:
95
 
     1. Click on Test to display the screen resolution overlay for 5 seconds.
96
 
 VERIFICATION:
97
 
     Is this acceptable for your display on the {vendor} {product} graphics card?
98
 
 
99
 
unit: template
100
 
template-resource: graphics_card
101
 
plugin: shell
102
 
category_id: 2013.com.canonical.plainbox::graphics
103
 
id: graphics/{index}_minimum_resolution_{product_slug}
104
 
requires:
105
 
 device.category == 'VIDEO'
106
 
command: resolution_test --horizontal 800 --vertical 600
107
 
estimated_duration: 0.331
108
 
_summary: Test that {vendor} {product} meets minimum resolution requirement
109
 
_description:
110
 
 Ensure the current resolution meets or exceeds the recommended minimum
111
 
 resolution (800x600) on the {vendor} {product} graphics card. See here for details:
112
 
 https://help.ubuntu.com/community/Installation/SystemRequirements
113
 
 
114
 
unit: template
115
 
template-resource: graphics_card
116
 
id: graphics/{index}_maximum_resolution_{product_slug}
117
 
plugin: user-interact-verify
118
 
category_id: 2013.com.canonical.plainbox::graphics
119
 
requires:
120
 
 device.category == 'VIDEO'
121
 
 package.name == 'zenity'
122
 
command: 
123
 
   maxi="$(xrandr -q |grep -A 1 "connected\( primary\)* [0-9]" |tail -1 |awk '{{print $1}}')"
124
 
   now="$(python3 -c 'from gi.repository import Gdk; screen=Gdk.Screen.get_default(); geo = screen.get_monitor_geometry(screen.get_primary_monitor()); print(geo.width, "x", geo.height, sep="")')"
125
 
   test "$maxi" != "$now" && notify="\nPlease switch to the maximum resolution \nfor every graphic tests"
126
 
   zenity --info --text "Maximum resolution: $maxi\nCurrent resolution: $now $notify"
127
 
estimated_duration: 10.0
128
 
_summary: Test maximum supported resolution for {vendor} {product}
129
 
_description:
130
 
 PURPOSE:
131
 
   This test will verify the maximum supported resolution on the {vendor} {product} graphics card.
132
 
 STEPS:
133
 
   1. Select the {vendor} {product} graphics card (a reboot may be necessary)
134
 
   2. Consult the system's specifications and locate the screen's maximum supported resolution.
135
 
   3. Click on Test to display the maximum resolution that can be used by Ubuntu on the current display.
136
 
 VERIFICATION:
137
 
   Is this the maximum resolution for the display connected to the {vendor} {product} graphics card?
138
 
 
139
 
unit: template
140
 
template-resource: graphics_card
141
 
id: graphics/{index}_modes_{product_slug}
142
 
plugin: shell
143
 
category_id: 2013.com.canonical.plainbox::graphics
144
 
command: graphics_modes_info
145
 
estimated_duration: 0.250
146
 
_description: Collect info on graphics modes (screen resolution and refresh rate) for {vendor} {product}
147
 
_summary: Test graphic modes info for {vendor} {product}
148
 
 
149
 
unit: template
150
 
template-resource: graphics_card
151
 
id: graphics/{index}_color_depth_{product_slug}
152
 
plugin: shell
153
 
category_id: 2013.com.canonical.plainbox::graphics
154
 
command: color_depth_info
155
 
estimated_duration: 0.150
156
 
_description: Collect info on color depth and pixel format for {vendor} {product}
157
 
_summary: Test color depth info for {vendor} {product}
158
 
 
159
 
unit: template
160
 
template-resource: graphics_card
161
 
id: graphics/{index}_fresh_rate_{product_slug}
162
 
plugin: shell
163
 
category_id: 2013.com.canonical.plainbox::graphics
164
 
command: fresh_rate_info
165
 
_description: Collect info on fresh rate for {vendor} {product}.
166
 
_summary: Test refresh rate for {vendor} {product}
167
 
 
168
 
unit: template
169
 
template-resource: graphics_card
170
 
id: graphics/{index}_graphic_memory_{product_slug}
171
 
plugin: shell
172
 
category_id: 2013.com.canonical.plainbox::graphics
173
 
command: graphic_memory_info
174
 
_description: Collect info on graphic memory for {vendor} {product}.
175
 
_summary: Test graphic memory info for {vendor} {product}.
176
 
 
177
 
unit: template
178
 
template-resource: graphics_card
179
 
id: graphics/{index}_video_{product_slug}
180
 
plugin: user-interact-verify
181
 
category_id: 2013.com.canonical.plainbox::graphics
 
67
id: graphics/generator_resolution
 
68
requires: device.category == 'VIDEO'
 
69
_description: Default resolution tests
 
70
_summary: Default resolution tests
 
71
plugin: local
 
72
command:
 
73
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
74
 plugin: user-verify
 
75
 id: graphics/`echo ${index}`_resolution_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
76
 requires:
 
77
  device.category == 'VIDEO'
 
78
 command: resolution_test
 
79
 estimated_duration: 0.750
 
80
 _summary: Test default resolution for $product
 
81
 _description:
 
82
  PURPOSE:
 
83
      This test will verify the default display resolution on the $product graphics card.
 
84
  STEPS:
 
85
      1. This display is using the following resolution:
 
86
  INFO:
 
87
      Resolution: $output
 
88
  VERIFICATION:
 
89
      Is this acceptable for your display on $product graphics card?
 
90
 EOF
 
91
 
 
92
id: graphics/generator_screen_resolution
 
93
requires: device.category == 'VIDEO'
 
94
_description: Default resolution tests
 
95
_summary: Default resolution tests
 
96
plugin: local
 
97
command:
 
98
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
99
 plugin: user-verify
 
100
 id: graphics/`echo ${index}`_screen_resolution_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
101
 requires:
 
102
  device.category == 'VIDEO'
 
103
  package.name == 'qmlscene'
 
104
 command: timeout 5 qmlscene --transparent --fullscreen $PLAINBOX_PROVIDER_DATA/resolution_test.qml
 
105
 estimated_duration: 10.0
 
106
 _summary: Test default resolution for $product
 
107
 _description:
 
108
  PURPOSE:
 
109
      This test will verify the default display resolution on the $product graphics card
 
110
  STEPS:
 
111
      1. Click on Test to display the screen resolution overlay for 5 seconds.
 
112
  VERIFICATION:
 
113
      Is this acceptable for your display on the $product graphics card?
 
114
 EOF
 
115
 
 
116
id: graphics/generator_minimum_resolution
 
117
requires: device.category == 'VIDEO'
 
118
_description: Minimum resolution tests
 
119
_summary: Minimum resolution tests
 
120
plugin: local
 
121
command:
 
122
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
123
 plugin: shell
 
124
 id: graphics/`echo ${index}`_minimum_resolution_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
125
 requires:
 
126
  device.category == 'VIDEO'
 
127
 command: resolution_test --horizontal 800 --vertical 600
 
128
 estimated_duration: 0.331
 
129
 _summary: Test that $product meets minimum resolution requirement
 
130
 _description:
 
131
  Ensure the current resolution meets or exceeds the recommended minimum
 
132
  resolution (800x600) on the $product graphics card. See here for details:
 
133
  https://help.ubuntu.com/community/Installation/SystemRequirements
 
134
 EOF
 
135
 
 
136
id: graphics/generator_maximum_resolution
 
137
requires: device.category == 'VIDEO'
 
138
_description: Maximum resolution tests
 
139
_summary: Maximum resolution tests
 
140
plugin: local
 
141
command:
 
142
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
143
 id: graphics/`echo ${index}`_maximum_resolution_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
144
 plugin: user-verify
 
145
 requires:
 
146
  device.category == 'VIDEO'
 
147
  package.name == 'zenity'
 
148
 command: zenity --info --text "Maximum resolution: $(xrandr -q |grep -A 1 "connected\( primary\)* [0-9]" |tail -1 |awk '{print $1}')"
 
149
 estimated_duration: 10.0
 
150
 _summary: Test maximum resolution for $product
 
151
 _description:
 
152
  PURPOSE:
 
153
    This test will verify the display is operating at its maximum supported resolution on the $product graphics card. 
 
154
  STEPS:
 
155
    1. Select the $product graphics card (a reboot may be necessary)
 
156
    2. Consult the system's specifications and locate the screen's maximum supported resolution.
 
157
    3. Click on Test to display the maximum resolution that can be used by Ubuntu on the current display.
 
158
  VERIFICATION:
 
159
    Is this the maximum resolution for the display connected to the $product graphics card?
 
160
 EOF
 
161
 
 
162
id: graphics/generator_modes
 
163
requires: device.category == 'VIDEO'
 
164
_description: Mode tests
 
165
_summary: Mode tests
 
166
plugin: local
 
167
command:
 
168
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
169
 id: graphics/`echo ${index}`_modes_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
170
 plugin: shell
 
171
 command: graphics_modes_info
 
172
 estimated_duration: 0.250
 
173
 _description: Collect info on graphics modes (screen resolution and refresh rate) for $product
 
174
 _summary: Test graphic modes info for $product
 
175
 EOF
 
176
 
 
177
id: graphics/generator_color_depth
 
178
requires: device.category == 'VIDEO'
 
179
_description: Color depth tests
 
180
_summary: Color depth tests
 
181
plugin: local
 
182
command:
 
183
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
184
 id: graphics/`echo ${index}`_color_depth_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
185
 plugin: shell
 
186
 command: color_depth_info
 
187
 estimated_duration: 0.150
 
188
 _description: Collect info on color depth and pixel format for $product
 
189
 _summary: Test color depth info for $product
 
190
 EOF
 
191
 
 
192
id: graphics/generator_fresh_rate
 
193
requires: device.category == 'VIDEO'
 
194
_description: Refresh rate tests
 
195
_summary: Refresh rate tests
 
196
plugin: local
 
197
command:
 
198
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
199
 id: graphics/`echo ${index}`_fresh_rate_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
200
 plugin: shell
 
201
 command: fresh_rate_info
 
202
 _description: Collect info on fresh rate for $product.
 
203
 _summary: Test refresh rate for $product
 
204
 EOF
 
205
 
 
206
id: graphics/generator_graphic_memory
 
207
requires: device.category == 'VIDEO'
 
208
_description: Graphic memory tests
 
209
_summary: Graphic memory tests
 
210
plugin: local
 
211
command:
 
212
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
213
 id: graphics/`echo ${index}`_graphic_memory_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
214
 plugin: shell
 
215
 command: graphic_memory_info
 
216
 _description: Collect info on graphic memory for $product.
 
217
 _summary: Test graphic memory info for $product.
 
218
 EOF
 
219
 
 
220
plugin: user-verify
 
221
id: graphics/display
182
222
requires:
183
223
 package.name == 'xorg'
184
224
 package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
185
 
command: gst_pipeline_test -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink'
186
 
_summary: Test that video can be displayed with {vendor} {product}
 
225
command: gst_pipeline_test -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink' 
 
226
_summary: Test that video can be displayed
187
227
_description:
188
228
 PURPOSE:
189
 
     This test will test the default display with a sample video
 
229
     This test will test the default display
190
230
 STEPS:
191
231
     1. Click "Test" to display a video test.
192
232
 VERIFICATION:
193
233
     Do you see color bars and static?
194
234
 
195
235
plugin: shell
196
 
category_id: 2013.com.canonical.plainbox::graphics
197
236
id: graphics/VESA_drivers_not_in_use
198
237
command: cat /var/log/Xorg.0.log | perl -e '$a=0;while(<>){$a++ if /Loading.*vesa_drv\.so/;$a-- if /Unloading.*vesa/&&$a}exit 1 if $a'
199
238
estimated_duration: 0.011
200
239
_description: Check that VESA drivers are not in use
201
240
_summary: Test that VESA drivers are not in use
202
241
 
203
 
unit: template
204
 
template-resource: graphics_card
205
 
plugin: user-interact-verify
206
 
category_id: 2013.com.canonical.plainbox::graphics
207
 
id: graphics/{index}_cycle_resolution_{product_slug}
208
 
requires: package.name == 'xorg'
209
 
depends: graphics/VESA_drivers_not_in_use
210
 
command: xrandr_cycle --screenshot-dir $PLAINBOX_SESSION_SHARE
211
 
estimated_duration: 250.000
212
 
_summary: Test resolution cycling for {vendor} {product}
213
 
_description:
214
 
 PURPOSE:
215
 
     This test cycles through the detected video modes for the {vendor} {product} graphics card
216
 
 STEPS:
217
 
     1. Click "Test" to start cycling through the video modes
218
 
 VERIFICATION:
219
 
     Did the screen appear to be working for each mode?
220
 
 
221
 
unit: template
222
 
template-resource: graphics_card
223
 
plugin: user-interact-verify
224
 
category_id: 2013.com.canonical.plainbox::graphics
225
 
id: graphics/{index}_rotation_{product_slug}
226
 
depends: graphics/xorg-version
227
 
command: rotation_test_using_dbus
228
 
estimated_duration: 20.000
229
 
_summary: Test rotation for {vendor} {product}
230
 
_description:
231
 
 PURPOSE:
232
 
     This test will test display rotation on the {vendor} {product} graphics card
233
 
 STEPS:
234
 
     1. Click "Test" to test display rotation. The display will be rotated every 4 seconds.
235
 
     2. Check if all rotations (normal right inverted left) took place without permanent screen corruption
236
 
 VERIFICATION:
237
 
     Did the display rotation take place without without permanent screen corruption?
238
 
 
239
 
unit: template
240
 
template-resource: graphics_card
241
 
plugin: shell
242
 
category_id: 2013.com.canonical.plainbox::graphics
243
 
id: graphics/{index}_compiz_check_{product_slug}
244
 
requires: package.name == 'nux-tools'
245
 
command: ! /usr/lib/nux/unity_support_test -c -p 2>&1 | ansi_parser | grep -e ":\(\s\+\)no$" -ie "error"
246
 
estimated_duration: 0.130
247
 
_description: Check that {vendor} {product} hardware is able to run compiz
248
 
_summary: Test Compiz support for {vendor} {product}
249
 
 
250
 
unit: template
251
 
template-resource: graphics_card
252
 
plugin: shell
253
 
category_id: 2013.com.canonical.plainbox::graphics
254
 
id: graphics/{index}_unity_support_{product_slug}
255
 
requires: package.name == 'nux-tools'
256
 
command: ! /usr/lib/nux/unity_support_test -p 2>&1 | ansi_parser | grep -e ":\(\s\+\)no$" -ie "error"
257
 
estimated_duration: 0.131
258
 
_description: Check that {vendor} {product} hardware is able to run Unity 3D
259
 
_summary: Test Unity 3D support for {vendor} {product}
260
 
 
261
 
unit: template
262
 
template-resource: graphics_card
263
 
plugin: user-interact-verify
264
 
category_id: 2013.com.canonical.plainbox::graphics
265
 
id: graphics/{index}_glxgears_{product_slug}
266
 
requires: package.name == 'mesa-utils'
267
 
command: glxgears; true
268
 
_summary: Test that glxgears works for {vendor} {product}
269
 
_description:
270
 
 PURPOSE:
271
 
     This test tests the basic 3D capabilities of your {vendor} {product} video card
272
 
 STEPS:
273
 
     1. Click "Test" to execute an OpenGL demo. Press ESC at any time to close.
274
 
     2. Verify that the animation is not jerky or slow.
275
 
 VERIFICATION:
276
 
     1. Did the 3d animation appear?
277
 
     2. Was the animation free from slowness/jerkiness?
278
 
 
279
 
unit: template
280
 
template-resource: graphics_card
281
 
plugin: shell
282
 
category_id: 2013.com.canonical.plainbox::graphics
283
 
id: graphics/{index}_3d_window_open_close_{product_slug}
284
 
requires: package.name == 'mesa-utils'
285
 
command: window_test -t open-close -i 10
286
 
estimated_duration: 60.525
287
 
_description: Open and close a 3D window multiple times on the {vendor} {product} video card
288
 
_summary: Test 3D window open/close for {vendor} {product}
289
 
 
290
 
unit: template
291
 
template-resource: graphics_card
292
 
plugin: shell
293
 
category_id: 2013.com.canonical.plainbox::graphics
294
 
id: graphics/{index}_3d_window_suspend_resume_{product_slug}
295
 
requires: package.name == 'mesa-utils'
296
 
command: window_test -t suspend-resume -i 10
297
 
estimated_duration: 121.00
298
 
_description: Open, suspend resume and close a 3D window multiple times on the {vendor} {product} video card
299
 
_summary: Test a 3D window with suspend/resume for {vendor} {product}
300
 
 
301
 
unit: template
302
 
template-resource: graphics_card
303
 
plugin: shell
304
 
category_id: 2013.com.canonical.plainbox::graphics
305
 
id: graphics/{index}_multi_3d_windows_open_close_{product_slug}
306
 
requires: package.name == 'mesa-utils'
307
 
command: window_test -t open-close-multi -i 10 -w 4
308
 
estimated_duration: 60.000
309
 
_description: Open and close 4 3D windows multiple times on the {vendor} {product} video card
310
 
_summary: Test Multi 3D window open/close for {vendor} {product}
311
 
 
312
 
unit: template
313
 
template-resource: graphics_card
314
 
plugin: shell
315
 
category_id: 2013.com.canonical.plainbox::graphics
316
 
id: graphics/{index}_3d_window_move_{product_slug}
317
 
requires:
318
 
 package.name == 'mesa-utils'
319
 
 package.name == 'wmctrl'
320
 
command: window_test -t move
321
 
estimated_duration: 50.000
322
 
_description: Move a 3D window around the screen on the {vendor} {product} video card
323
 
_summary: Test 3D window movement for {vendor} {product}
324
 
 
325
 
unit: template
326
 
template-resource: graphics_card
327
 
plugin: shell
328
 
category_id: 2013.com.canonical.plainbox::graphics
329
 
id: graphics/{index}_screenshot_{product_slug}
330
 
requires: package.name == 'fswebcam'
331
 
command: set -o pipefail; camera_test still --device=/dev/external_webcam -f $PLAINBOX_SESSION_SHARE/screenshot_{index}.jpg -q 2>&1 | ansi_parser
332
 
_summary: Test grabbing a screenshot for {vendor} {product}
333
 
_description:
334
 
 PURPOSE:
335
 
     Take a screengrab of the current screen (logged on Unity desktop) as produced by the {vendor} {product} graphics card
336
 
 STEPS:
337
 
     1. Take picture using USB webcam
338
 
 VERIFICATION:
339
 
     Review attachment manually later
340
 
 
341
 
unit: template
342
 
template-resource: graphics_card
343
 
plugin: attachment
344
 
category_id: 2013.com.canonical.plainbox::graphics
345
 
id: graphics/{index}_screenshot_{product_slug}.jpg
346
 
depends: graphics/{index}_screenshot_{product_slug}
347
 
command: base64 $PLAINBOX_SESSION_SHARE/screenshot_{index}.jpg
348
 
_description: Attaches the screenshot captured in graphics/screenshot for the {vendor} {product} graphics card.
349
 
_summary: Attach results of screenshot test for {vendor} {product}
350
 
 
351
 
unit: template
352
 
template-resource: graphics_card
353
 
plugin: shell
354
 
category_id: 2013.com.canonical.plainbox::graphics
355
 
id: graphics/{index}_screenshot_fullscreen_video_{product_slug}
356
 
requires: package.name == 'fswebcam'
357
 
command:
358
 
 [ -f $PLAINBOX_PROVIDER_DATA/video/Ogg_Theora_Video.ogv ] || {{ echo "Video file not found"; exit 1; }}
359
 
 gsettings set org.gnome.totem repeat true
360
 
 totem --fullscreen $PLAINBOX_PROVIDER_DATA/video/Ogg_Theora_Video.ogv 2>/dev/null &
361
 
 set -o pipefail
362
 
 sleep 15 && camera_test still --device=/dev/external_webcam -f $PLAINBOX_SESSION_SHARE/screenshot_fullscreen_video_{index}.jpg -q 2>&1 | ansi_parser
363
 
 sleep 5 && totem --quit 2>/dev/null
364
 
 gsettings set org.gnome.totem repeat false
365
 
_summary: Test FSV screenshot for {vendor} {product}
366
 
_description:
367
 
 PURPOSE:
368
 
     Take a screengrab of the current screen during fullscreen video playback using the {vendor} {product} graphics card
369
 
 STEPS:
370
 
     1. Start a fullscreen video playback
371
 
     2. Take picture using USB webcam after a few seconds
372
 
 VERIFICATION:
373
 
     Review attachment manually later
374
 
 
375
 
unit: template
376
 
template-resource: graphics_card
377
 
plugin: manual
378
 
category_id: 2013.com.canonical.plainbox::graphics
379
 
id: graphics/{index}_switch_card_{product_slug}
380
 
_summary: Test GPU switching for {vendor} {product}
381
 
_description:
382
 
 PURPOSE:
383
 
     Manually switch to the {vendor} {product} card.
384
 
 STEPS:
385
 
     1. If your system is already running with the {vendor} {product} card, then please mark this test as "passed" and proceed.
386
 
     2. Using the appropriate tool (either NVidia settings or AMD Control Center), switch your system to use the {vendor} {product} graphics card. This will require restarting your session.
387
 
     3. Once the session restarts, please restart this testing program and select "continue" when prompted for a resume action.
388
 
     4. Don't answer the verification question until the system has restarted with the {vendor} {product} card enabled.
389
 
 VERIFICATION:
390
 
     Is the system using the {vendor} {product} card now?
391
 
 
392
 
unit: template
393
 
template-resource: graphics_card
394
 
plugin: attachment
395
 
category_id: 2013.com.canonical.plainbox::graphics
396
 
id: graphics/{index}_screenshot_fullscreen_video_{product_slug}.jpg
397
 
depends: graphics/{index}_screenshot_fullscreen_video_{product_slug}
398
 
command: base64 $PLAINBOX_SESSION_SHARE/screenshot_fullscreen_video_{index}.jpg
399
 
_summary: Attach results of FSV screenshot test for {vendor} {product}
400
 
_description: Attaches the screenshot captured in graphics/screenshot_fullscreen_video for the {vendor} {product} graphics card
401
 
 
402
 
plugin: shell
403
 
category_id: 2013.com.canonical.plainbox::graphics
404
 
id: graphics/screen-capture-internal
405
 
_summary: Obtains a simple screen capture
406
 
estimated_duration: 1.0
407
 
requires: package.name == 'gnome-screenshot'
408
 
command: gnome-screenshot --file ${PLAINBOX_SESSION_SHARE}/screen-capture.png
409
 
_description: Obtains a simple screen capture using gnome-screenshot if present
410
 
 
411
 
plugin: attachment
412
 
category_id: 2013.com.canonical.plainbox::graphics
413
 
id: screen-capture-internal.png
414
 
_summary: Attaches a simple screen capture
415
 
estimated_duration: 1.0
416
 
depends: graphics/screen-capture-internal
417
 
command: [ -f ${PLAINBOX_SESSION_SHARE}/screen-capture.png ] && base64 ${PLAINBOX_SESSION_SHARE}/screen-capture.png
418
 
_description: Attaches the simple screen capture file
419
 
 
420
 
unit: template
421
 
template-resource: graphics_card
422
 
plugin: shell
423
 
category_id: 2013.com.canonical.plainbox::graphics
424
 
id: graphics/{index}_screen-capture-internal_{product_slug}
425
 
_summary: Obtains a simple screen capture of {vendor} {product}
426
 
estimated_duration: 1.0
427
 
requires: package.name == 'gnome-screenshot'
428
 
command: gnome-screenshot --file $PLAINBOX_SESSION_SHARE/screen-capture-{index}.png
429
 
_description: Obtains a simple screen capture of {vendor} {product} using gnome-screenshot if present
430
 
 
431
 
unit: template
432
 
template-resource: graphics_card
433
 
plugin: attachment
434
 
category_id: 2013.com.canonical.plainbox::graphics
435
 
id: graphics/{index}_screen-capture-internal_{product_slug}.png
436
 
depends: graphics/{index}_screen-capture-internal_{product_slug}
437
 
_summary: Attaches a simple screen capture of {vendor} {product}
438
 
estimated_duration: 1.0
439
 
command: [ -f $PLAINBOX_SESSION_SHARE/screen-capture-{index}.png ] && base64 $PLAINBOX_SESSION_SHARE/screen-capture-{index}.png
440
 
_description: Attaches the simple screen capture file of {vendor} {product}
 
242
id: graphics/generator_cycle_resolution
 
243
requires: device.category == 'VIDEO'
 
244
_description: Resolution cycling tests
 
245
_summary: Resolution cycling tests
 
246
plugin: local
 
247
command:
 
248
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
249
 plugin: user-verify
 
250
 id: graphics/`echo ${index}`_cycle_resolution_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
251
 requires: package.name == 'xorg'
 
252
 depends: graphics/VESA_drivers_not_in_use
 
253
 command: xrandr_cycle --screenshot-dir $PLAINBOX_SESSION_SHARE
 
254
 estimated_duration: 250.000
 
255
 _summary: Test resolution cycling for $product
 
256
 _description:
 
257
  PURPOSE:
 
258
      This test cycles through the detected video modes for the $product graphics card
 
259
  STEPS:
 
260
      1. Click "Test" to start cycling through the video modes
 
261
  VERIFICATION:
 
262
      Did the screen appear to be working for each mode?
 
263
 EOF
 
264
 
 
265
id: graphics/generator_rotation
 
266
requires: device.category == 'VIDEO'
 
267
_description: Rotation tests
 
268
_summary: Rotation tests
 
269
plugin: local
 
270
command:
 
271
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
272
 plugin: user-verify
 
273
 id: graphics/`echo ${index}`_rotation_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
274
 depends: graphics/xorg-version
 
275
 command: rotation_test
 
276
 estimated_duration: 20.000
 
277
 _summary: Test rotation for $product
 
278
 _description:
 
279
  PURPOSE:
 
280
      This test will test display rotation on the $product graphics card
 
281
  STEPS:
 
282
      1. Click "Test" to test display rotation. The display will be rotated every 4 seconds.
 
283
      2. Check if all rotations (normal right inverted left) took place without permanent screen corruption
 
284
  VERIFICATION:
 
285
      Did the display rotation take place without without permanent screen corruption?
 
286
 EOF
 
287
 
 
288
id: graphics/generator_compiz_check
 
289
requires: device.category == 'VIDEO'
 
290
_description: Compiz support tests
 
291
_summary: Compiz support tests
 
292
plugin: local
 
293
command:
 
294
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
295
 plugin: shell
 
296
 id: graphics/`echo ${index}`_compiz_check_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
297
 requires: package.name == 'nux-tools'
 
298
 command: ! /usr/lib/nux/unity_support_test -c -p | ansi_parser | grep ":\(\s\+\)no$"
 
299
 estimated_duration: 0.130
 
300
 _description: Check that $product hardware is able to run compiz
 
301
 _summary: Test Compiz support for $product
 
302
 EOF
 
303
 
 
304
id: graphics/generator_unity_support
 
305
requires: device.category == 'VIDEO'
 
306
_description: Unity support tests
 
307
_summary: Unity support tests
 
308
plugin: local
 
309
command:
 
310
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
311
 plugin: shell
 
312
 id: graphics/`echo ${index}`_unity_support_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
313
 requires: package.name == 'nux-tools'
 
314
 command: ! /usr/lib/nux/unity_support_test -p | ansi_parser | grep ":\(\s\+\)no"
 
315
 estimated_duration: 0.131
 
316
 _description: Check that $product hardware is able to run Unity 3D
 
317
 _summary: Test Unity 3D support for $product
 
318
 EOF
 
319
 
 
320
id: graphics/generator_glxgears
 
321
requires: device.category == 'VIDEO'
 
322
_description: glxgears tests
 
323
_summary: glxgears tests
 
324
plugin: local
 
325
command:
 
326
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
327
 plugin: user-interact-verify
 
328
 id: graphics/`echo ${index}`_glxgears_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
329
 requires: package.name == 'mesa-utils'
 
330
 command: glxgears; true
 
331
 _summary: Test that glxgears works for $product
 
332
 _description:
 
333
  PURPOSE:
 
334
      This test tests the basic 3D capabilities of your $product video card
 
335
  STEPS:
 
336
      1. Click "Test" to execute an OpenGL demo. Press ESC at any time to close.
 
337
      2. Verify that the animation is not jerky or slow.
 
338
  VERIFICATION:
 
339
      1. Did the 3d animation appear?
 
340
      2. Was the animation free from slowness/jerkiness?
 
341
 EOF
 
342
 
 
343
id: graphics/generator_3d_window_open_close
 
344
requires: device.category == 'VIDEO'
 
345
_description: 3D window open/close tests
 
346
_summary: 3D window open/close tests
 
347
plugin: local
 
348
command:
 
349
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
350
 plugin: shell
 
351
 id: graphics/`echo ${index}`_3d_window_open_close_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
352
 requires: package.name == 'mesa-utils'
 
353
 command: window_test -t open-close -i 10
 
354
 estimated_duration: 60.525
 
355
 _description: Open and close a 3D window multiple times on the $product video card
 
356
 _summary: Test 3D window open/close for $product
 
357
 EOF
 
358
 
 
359
id: graphics/generator_3d_window_suspend_resume
 
360
requires: device.category == 'VIDEO'
 
361
_description: 3D window with suspend/resume tests
 
362
_summary: 3D window with suspend/resume tests
 
363
plugin: local
 
364
command:
 
365
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
366
 plugin: shell
 
367
 id: graphics/`echo ${index}`_3d_window_suspend_resume_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
368
 requires: package.name == 'mesa-utils'
 
369
 command: window_test -t suspend-resume -i 10
 
370
 estimated_duration: 121.00
 
371
 _description: Open, suspend resume and close a 3D window multiple times on the $product video card
 
372
 _summary: Test a 3D window with suspend/resume for $product
 
373
 EOF
 
374
 
 
375
id: graphics/generator_multi_3d_windows_open_close
 
376
requires: device.category == 'VIDEO'
 
377
_description: Multiple 3D window open/close
 
378
_summary: Multiple 3D window open/close tests
 
379
plugin: local
 
380
command:
 
381
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
382
 plugin: shell
 
383
 id: graphics/`echo ${index}`_multi_3d_windows_open_close_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
384
 requires: package.name == 'mesa-utils'
 
385
 command: window_test -t open-close-multi -i 10 -w 4
 
386
 estimated_duration: 60.000
 
387
 _description: Open and close 4 3D windows multiple times on the $product video card
 
388
 _summary: Test Multi 3D window open/close for $product
 
389
 EOF
 
390
 
 
391
id: graphics/generator_3d_window_move
 
392
requires: device.category == 'VIDEO'
 
393
_description: 3D window movement
 
394
_summary: 3D window movement tests
 
395
plugin: local
 
396
command:
 
397
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
398
 plugin: shell
 
399
 id: graphics/`echo ${index}`_3d_window_move_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
400
 requires:
 
401
  package.name == 'mesa-utils'
 
402
  package.name == 'wmctrl'
 
403
 command: window_test -t move
 
404
 estimated_duration: 50.000
 
405
 _description: Move a 3D window around the screen on the $product video card
 
406
 _summary: Test 3D window movement for $product
 
407
 EOF
 
408
 
 
409
id: graphics/generator_screenshot
 
410
requires: device.category == 'VIDEO'
 
411
_description: screenshot tests
 
412
_summary: screenshot tests
 
413
plugin: local
 
414
command:
 
415
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
416
 plugin: shell
 
417
 id: graphics/`echo ${index}`_screenshot_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
418
 requires: package.name == 'fswebcam'
 
419
 command: set -o pipefail; camera_test still --device=/dev/external_webcam -f ${PLAINBOX_SESSION_SHARE}/screenshot_${index}.jpg -q 2>&1 | ansi_parser
 
420
 _summary: Test grabbing a screenshot for $product
 
421
 _description:
 
422
  PURPOSE:
 
423
      Take a screengrab of the current screen (logged on Unity desktop) as produced by the $product graphics card
 
424
  STEPS:
 
425
      1. Take picture using USB webcam
 
426
  VERIFICATION:
 
427
      Review attachment manually later
 
428
 EOF
 
429
 
 
430
id: graphics/generator_screenshot.jpg
 
431
requires: device.category == 'VIDEO'
 
432
_description: screenshot attachment tests
 
433
_summary: screenshot attachment tests
 
434
plugin: local
 
435
command:
 
436
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
437
 plugin: attachment
 
438
 id: `echo ${index}`_screenshot_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`.jpg
 
439
 depends: graphics/`echo ${index}`_screenshot_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
440
 command: base64 ${PLAINBOX_SESSION_SHARE}/screenshot_${index}.jpg
 
441
 _description: Attaches the screenshot captured in graphics/screenshot for the $product graphics card.
 
442
 _summary: Attach results of screenshot test for $product
 
443
 EOF
 
444
 
 
445
id: graphics/generator_screenshot_fullscreen_video
 
446
requires: device.category == 'VIDEO'
 
447
_description: full screen video screenshot tests
 
448
_summary: full screen video screenshot tests
 
449
plugin: local
 
450
command:
 
451
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
452
 plugin: shell
 
453
 id: graphics/`echo ${index}`_screenshot_fullscreen_video_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
454
 requires: package.name == 'fswebcam'
 
455
 command:
 
456
  [ -f ${PLAINBOX_PROVIDER_DATA}/video/Ogg_Theora_Video.ogv ] || { echo "Video file not found"; exit 1; }
 
457
  dbus-launch gsettings set org.gnome.totem repeat true
 
458
  totem --fullscreen ${PLAINBOX_PROVIDER_DATA}/video/Ogg_Theora_Video.ogv 2>/dev/null &
 
459
  set -o pipefail
 
460
  sleep 15 && camera_test still --device=/dev/external_webcam -f ${PLAINBOX_SESSION_SHARE}/screenshot_fullscreen_video_${index}.jpg -q 2>&1 | ansi_parser
 
461
  sleep 5 && totem --quit 2>/dev/null
 
462
  dbus-launch gsettings set org.gnome.totem repeat false
 
463
 _summary: Test FSV screenshot for $product
 
464
 _description:
 
465
  PURPOSE:
 
466
      Take a screengrab of the current screen during fullscreen video playback using the $product graphics card
 
467
  STEPS:
 
468
      1. Start a fullscreen video playback
 
469
      2. Take picture using USB webcam after a few seconds
 
470
  VERIFICATION:
 
471
      Review attachment manually later
 
472
 EOF
 
473
 
 
474
id: graphics/generator_switch_card
 
475
requires: device.category == 'VIDEO'
 
476
_description: GPU switch prompt tests
 
477
_summary: GPU switch prompt tests
 
478
plugin: local
 
479
command:
 
480
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
481
 plugin: manual
 
482
 id: graphics/`echo ${index}`_switch_card_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
483
 _summary: Test GPU switching for $product
 
484
 _description:
 
485
  PURPOSE:
 
486
      Manually switch to the $product card.
 
487
  STEPS:
 
488
      1. If your system is already running with the $product card, then please mark this test as "passed" and proceed.
 
489
      2. Using the appropriate tool (either NVidia settings or AMD Control Center), switch your system to use the $product graphics card. This will require restarting your session.
 
490
      3. Once the session restarts, please restart this testing program and select "continue" when prompted for a resume action.
 
491
      4. Don't answer the verification question until the system has restarted with the $product card enabled.
 
492
  VERIFICATION:
 
493
      Is the system using the $product card now?
 
494
 EOF
 
495
 
 
496
id: graphics/generator_screenshot_fullscreen_video.jpg
 
497
requires: device.category == 'VIDEO'
 
498
_description: full screen video attachment tests
 
499
_summary: full screen video attachment tests
 
500
plugin: local
 
501
command:
 
502
 cat <<'EOF' | run_templates -t -s 'graphics_card_resource'
 
503
 plugin: attachment
 
504
 id: `echo ${index}`_screenshot_fullscreen_video_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`.jpg
 
505
 depends: graphics/`echo ${index}`_screenshot_fullscreen_video_`echo "${product}" | sed 's/ /_/g;s/[^_a-zA-Z0-9-]//g'`
 
506
 command: base64 ${PLAINBOX_SESSION_SHARE}/screenshot_fullscreen_video_${index}.jpg
 
507
 _summary: Attach results of FSV screenshot test for $product
 
508
 _description: Attaches the screenshot captured in graphics/screenshot_fullscreen_video for the $product graphics card
 
509
 EOF
 
510
 
 
511
plugin: shell
 
512
id: graphics/screenshot_opencv_validation
 
513
requires: package.name == 'python-opencv'
 
514
environ: EXTERNAL_WEBCAM_DEVICE
 
515
command:
 
516
 screenshot_validation \
 
517
    ${PLAINBOX_PROVIDER_DATA}/images/logo_Ubuntu_stacked_black.png \
 
518
    --device=${EXTERNAL_WEBCAM_DEVICE:-/dev/external_webcam} \
 
519
    -o ${PLAINBOX_SESSION_SHARE}/screenshot_opencv_validation.jpg
 
520
_summary: Test that a screenshot is valid, automatically
 
521
_description:
 
522
 Take a screengrab of the screen displaying a black and white Ubuntu logo.
 
523
 Check that the screenshot matches the original file using OpenCV ORB detection.
 
524
 
 
525
plugin: attachment
 
526
id: screenshot_opencv_validation.jpg
 
527
depends: graphics/screenshot_opencv_validation
 
528
command: base64 ${PLAINBOX_SESSION_SHARE}/screenshot_opencv_validation.jpg
 
529
_description: Attaches the screenshot captured in graphics/screenshot_opencv_validation.
 
530
_summary: Attach the screenshot captured for the automatically validated screenshot test
441
531