~cgregan/checkbox/audio_dolby

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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
plugin: shell
name: graphics/driver_version
command: graphics_driver
estimated_duration: 0.500
_description: Parses Xorg.0.Log and discovers the running X driver and version

plugin: shell
name: graphics/xorg-version
requires: package.name == "x11-utils"
command: xdpyinfo | grep "^X.Org version" | cut -d ':' -f 2 | tr -d ' '
estimated_duration: 0.018
_description: Test to output the Xorg version

plugin: manual
name: graphics/resolution-change
depends: graphics/xorg-version
_description:
 PURPOSE:
     This test will verify that the GUI is usable after manually changing resolution
 STEPS:
     1. Open the Displays application
     2. Select a new resolution from the dropdown list
     3. Click on Apply
     4. Select the original resolution from the dropdown list
     5. Click on Apply
 VERIFICATION:
     Did the resolution change as expected?

plugin: shell
name: graphics/xorg-process
requires:
 package.name == 'xorg'
 package.name == 'procps'
command: pgrep -f '/usr/bin/X' >/dev/null
estimated_duration: 0.100
_description: Test that the X process is running.

plugin: shell
name: graphics/xorg-failsafe
requires: package.name == 'xorg'
command: ! test -e /var/log/Xorg.failsafe.log
estimated_duration: 0.030
_description: Test that the X is not running in failsafe mode.

plugin: user-verify
name: graphics/resolution
requires:
 device.category == 'VIDEO'
command: resolution_test
estimated_duration: 0.750
_description:
 PURPOSE:
     This test will verify the default display resolution
 STEPS:
     1. This display is using the following resolution:
 INFO:
     $output
 VERIFICATION:
     Is this acceptable for your display?

plugin: user-verify
name: graphics/screen-resolution
requires:
 device.category == 'VIDEO'
 package.name == 'qmlscene'
command: timeout 5 qmlscene --transparent --fullscreen $CHECKBOX_SHARE/scripts/resolution_test.qml
estimated_duration: 10
_description:
 PURPOSE:
     This test will verify the default display resolution
 STEPS:
     1. Click on Test to display the screen resolution overlay for 5 seconds.
 VERIFICATION:
     Is this acceptable for your display?

plugin: shell
name: graphics/minimum_resolution
requires:
 device.category == 'VIDEO'
command: resolution_test --horizontal 800 --vertical 600
estimated_duration: 0.331
_description:
 Ensure the current resolution meets or exceeds the recommended minimum
 resolution (800x600). See here for details:
 .
 https://help.ubuntu.com/community/Installation/SystemRequirements

plugin: user-verify
name: graphics/maximum_resolution
requires:
 device.category == 'VIDEO'
 package.name == 'zenity'
command: zenity --info --text "Maximum resolution: $(xrandr -q |grep -A 1 "connected\( primary\)* [0-9]" |tail -1 |awk '{print $1}')"
estimated_duration: 10
_description:
 PURPOSE:
     This test will verify the display is operating at its maximum supported resolution 
 STEPS:
     1. Consult the system's specifications and locate the screen's maximum supported resolution.
     2. Click on Test to display the maximum resolution that can be used by Ubuntu on the current display.
 VERIFICATION:
     Is this the display's maximum resolution?

name: graphics/modes
plugin: shell
command: graphics_modes_info
estimated_duration: 0.250
_description: Collect info on graphics modes (screen resolution and refresh rate)

name: graphics/color_depth
plugin: shell
command: color_depth_info
estimated_duration: 0.150
_description: Collect info on color depth and pixel format.

name: graphics/fresh_rate
plugin: shell
command: fresh_rate_info
_description: Collect info on fresh rate.

name: graphics/graphic_memory
plugin: shell
command: graphic_memory_info
_description: Collect info on graphic memory.

plugin: user-verify
name: graphics/display
requires: 
 package.name == 'xorg'
 package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
command: gst_pipeline_test -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink' 
_description:
 PURPOSE:
     This test will test the default display
 STEPS:
     1. Click "Test" to display a video test.
 VERIFICATION:
     Do you see color bars and static?

plugin: shell
name: graphics/VESA_drivers_not_in_use
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'
estimated_duration: 0.011
_description: Check that VESA drivers are not in use

plugin: user-verify
name: graphics/cycle_resolution
requires: package.name == 'xorg'
depends: graphics/VESA_drivers_not_in_use
command: xrandr_cycle --screenshot-dir $CHECKBOX_DATA
estimated_duration: 250.000
_description:
 PURPOSE:
     This test cycles through the detected video modes
 STEPS:
     1. Click "Test" to start cycling through the video modes
 VERIFICATION:
     Did the screen appear to be working for each mode?

plugin: user-verify
name: graphics/rotation
depends: graphics/xorg-version
command: rotation_test
estimated_duration: 20.000
_description:
 PURPOSE:
     This test will test display rotation
 STEPS:
     1. Click "Test" to test display rotation. The display will be rotated every 4 seconds.
     2. Check if all rotations (normal right inverted left) took place without permanent screen corruption
 VERIFICATION:
     Did the display rotation take place without without permanent screen corruption?

plugin: shell
name: graphics/compiz_check
requires: package.name == 'nux-tools'
command: set -o pipefail; /usr/lib/nux/unity_support_test -c -p | ansi_parser
estimated_duration: 0.130
_description: Check that hardware is able to run compiz

plugin: shell
name: graphics/unity-support
requires: package.name == 'nux-tools'
command: set -o pipefail; /usr/lib/nux/unity_support_test -p | ansi_parser
estimated_duration: 0.131
_description: Check that hardware is able to run Unity 3D

plugin: user-verify
name: graphics/glxgears
requires: package.name == 'mesa-utils'
command: glxgears; true
_description:
 PURPOSE:
     This test tests the basic 3D capabilities of your video card
 STEPS:
     1. Click "Test" to execute an OpenGL demo. Press ESC at any time to close.
     2. Verify that the animation is not jerky or slow.
 VERIFICATION:
     1. Did the 3d animation appear?
     2. Was the animation free from slowness/jerkiness?

plugin: shell
name: graphics/3d_window_open_close
requires: package.name == 'mesa-utils'
command: window_test -t open-close -i 10
estimated_duration: 60.525
_description: Open and close a 3D window multiple times

plugin: shell
name: graphics/3d_window_suspend_resume
requires: package.name == 'mesa-utils'
command: window_test -t suspend-resume -i 10
estimated_duration: 121.00
_description: Open, suspend resume and close a 3D window multiple times

plugin: shell
name: graphics/multi_3d_windows_open_close
requires: package.name == 'mesa-utils'
command: window_test -t open-close-multi -i 10 -w 4
estimated_duration: 60.000
_description: Open and close 4 3D windows multiple times

plugin: shell
name: graphics/3d_window_move
requires: package.name == 'mesa-utils'
command: window_test -t move
estimated_duration: 50.000
_description: Move a 3D window around the screen

plugin: shell
name: graphics/screenshot
requires: package.name == 'fswebcam'
command: set -o pipefail; camera_test still --device=/dev/external_webcam -f ${CHECKBOX_DATA}/screenshot.jpg -q 2>&1 | ansi_parser
_description:
 PURPOSE:
     Take a screengrab of the current screen (logged on Unity desktop)
 STEPS:
     1. Take picture using USB webcam
 VERIFICATION:
     Review attachment manually later

plugin: attachment
name: screenshot.jpg
depends: graphics/screenshot
command: base64 ${CHECKBOX_DATA}/screenshot.jpg
_description: Attaches the screenshot captured in graphics/screenshot.

plugin: shell
name: graphics/screenshot_fullscreen_video
requires: package.name == 'fswebcam'
command:
 [ -f ${CHECKBOX_SHARE}/data/video/Ogg_Theora_Video.ogv ] || { echo "Video file not found"; exit 1; }
 dbus-launch gsettings set org.gnome.totem repeat true
 totem --fullscreen ${CHECKBOX_SHARE}/data/video/Ogg_Theora_Video.ogv 2>/dev/null &
 set -o pipefail
 sleep 15 && camera_test still --device=/dev/external_webcam -f ${CHECKBOX_DATA}/screenshot_fullscreen_video.jpg -q 2>&1 | ansi_parser
 sleep 5 && totem --quit 2>/dev/null
 dbus-launch gsettings set org.gnome.totem repeat false
_description:
 PURPOSE:
     Take a screengrab of the current screen during fullscreen video playback
 STEPS:
     1. Start a fullscreen video playback
     2. Take picture using USB webcam after a few seconds
 VERIFICATION:
     Review attachment manually later

plugin: attachment
name: screenshot_fullscreen_video.jpg
depends: graphics/screenshot_fullscreen_video
command: base64 ${CHECKBOX_DATA}/screenshot_fullscreen_video.jpg
_description: Attaches the screenshot captured in graphics/screenshot_fullscreen_video.