summaryrefslogtreecommitdiff
path: root/units/graphics
diff options
authorSylvain Pineau <sylvain.pineau@canonical.com>2017-09-18 20:56:16 +0200
committerSylvain Pineau <sylvain.pineau@canonical.com>2017-09-18 20:56:16 +0200
commit06ebc0457992bddfca74c3decc554d70ffdd310d (patch)
treeddc2038690c7e0bbd7146b3375681b919e91ab95 /units/graphics
parenta2cbc59e55ed21f755f45a5db2df5695a2220315 (diff)
Move all jobs definition files into pxu units
Diffstat (limited to 'units/graphics')
-rw-r--r--units/graphics/jobs.pxu505
-rw-r--r--units/graphics/legacy.pxu276
2 files changed, 781 insertions, 0 deletions
diff --git a/units/graphics/jobs.pxu b/units/graphics/jobs.pxu
new file mode 100644
index 0000000..a7af65a
--- /dev/null
+++ b/units/graphics/jobs.pxu
@@ -0,0 +1,505 @@
+unit: template
+template-resource: graphics_card
+template-filter: graphics_card.prime_gpu_offload == 'Off'
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_driver_version_{product_slug}
+command:
+ source graphics_env {driver} {index}
+ graphics_driver
+estimated_duration: 0.5
+_description: Parses Xorg.0.Log and discovers the running X driver and version for the {vendor} {product} graphics card
+_summary: Test X driver/version for {vendor} {product}
+
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/xorg-version
+requires: package.name == "x11-utils"
+command: set -o pipefail; xdpyinfo | grep "^X.Org version" | cut -d ':' -f 2 | tr -d ' '
+estimated_duration: 0.018
+_description: Test to output the Xorg version
+_summary: Test Xorg version
+
+unit: template
+template-resource: graphics_card
+plugin: manual
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_resolution-change_{product_slug}
+depends: graphics/xorg-version
+_summary: Test changing resolution for {vendor} {product}
+_description:
+ PURPOSE:
+ This test will verify that the GUI is usable after manually changing resolution on the {vendor} {product} graphics card.
+ STEPS:
+ 1. Select the {vendor} {product} graphics card (a reboot may be necessary)
+ 2. Open the Displays application
+ 3. Select a new resolution from the dropdown list
+ 4. Click on Apply
+ 5. Select the original resolution from the dropdown list
+ 6. Click on Apply
+ VERIFICATION:
+ Did the resolution on the {vendor} {product} graphics card change as expected?
+
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: 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.
+_summary: Test that the X process is running.
+
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: 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.
+_summary: Test that X is not in failsafe mode.
+
+unit: template
+template-resource: graphics_card
+plugin: user-interact-verify
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_resolution_{product_slug}
+requires:
+ device.category == 'VIDEO'
+ package.name == 'zenity'
+command: resolution_test | zenity --text-info
+estimated_duration: 10.00
+_summary: Test default resolution for {vendor} {product}
+_description:
+ PURPOSE:
+ This test will verify the default display resolution on the {vendor} {product} graphics card.
+ STEPS:
+ 1. Click "Test".
+ 2. Confirm that the resolution shown in the text window is acceptable for your display.
+ VERIFICATION:
+ Is the resolution shown acceptable for your display on {vendor} {product} graphics card?
+
+unit: template
+template-resource: graphics_card
+plugin: user-interact-verify
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_screen_resolution_{product_slug}
+requires:
+ device.category == 'VIDEO'
+ package.name == 'qmlscene'
+command: qmlscene -qt5 --transparent --fullscreen $PLAINBOX_PROVIDER_DATA/resolution_test.qml
+estimated_duration: 10.0
+_summary: Test default resolution for {vendor} {product}
+_description:
+ PURPOSE:
+ This test will verify the default display resolution on the {vendor} {product} graphics card
+ STEPS:
+ 1. Click on Test to display the screen resolution overlay for 5 seconds.
+ VERIFICATION:
+ Is this acceptable for your display on the {vendor} {product} graphics card?
+
+unit: template
+template-resource: graphics_card
+template-filter: graphics_card.prime_gpu_offload == 'Off'
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_minimum_resolution_{product_slug}
+requires:
+ device.category == 'VIDEO'
+command:
+ source graphics_env {driver} {index}
+ resolution_test --horizontal 800 --vertical 600
+estimated_duration: 0.331
+_summary: Test that {vendor} {product} meets minimum resolution requirement
+_description:
+ Ensure the current resolution meets or exceeds the recommended minimum
+ resolution (800x600) on the {vendor} {product} graphics card. See here for details:
+ https://help.ubuntu.com/community/Installation/SystemRequirements
+
+unit: template
+template-resource: graphics_card
+template-filter: graphics_card.prime_gpu_offload == 'Off'
+id: graphics/{index}_maximum_resolution_{product_slug}
+plugin: user-interact-verify
+category_id: com.canonical.plainbox::graphics
+requires:
+ device.category == 'VIDEO'
+ package.name == 'zenity'
+command:
+ source graphics_env {driver} {index}
+ maxi="$(xrandr -q |grep -A 1 "connected\( primary\)* [0-9]" |tail -1 |awk '{{print $1}}')"
+ 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="")')"
+ test "$maxi" != "$now" && notify="\nPlease switch to the maximum resolution \nfor every graphic tests"
+ zenity --info --text "Maximum resolution: $maxi\nCurrent resolution: $now $notify"
+estimated_duration: 10.0
+_summary: Test maximum supported resolution for {vendor} {product}
+_description:
+ PURPOSE:
+ This test will verify the maximum supported resolution on the {vendor} {product} graphics card.
+ STEPS:
+ 1. Select the {vendor} {product} graphics card (a reboot may be necessary)
+ 2. Consult the system's specifications and locate the screen's maximum supported resolution.
+ 3. Click on Test to display the maximum resolution that can be used by Ubuntu on the current display.
+ VERIFICATION:
+ Is this the maximum resolution for the display connected to the {vendor} {product} graphics card?
+
+unit: template
+template-resource: graphics_card
+id: graphics/{index}_modes_{product_slug}
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+command: graphics_modes_info
+estimated_duration: 0.250
+_description: Collect info on graphics modes (screen resolution and refresh rate) for {vendor} {product}
+_summary: Test graphic modes info for {vendor} {product}
+
+unit: template
+template-resource: graphics_card
+id: graphics/{index}_color_depth_{product_slug}
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+command: color_depth_info
+estimated_duration: 0.150
+_description: Collect info on color depth and pixel format for {vendor} {product}
+_summary: Test color depth info for {vendor} {product}
+
+unit: template
+template-resource: graphics_card
+id: graphics/{index}_fresh_rate_{product_slug}
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+command: fresh_rate_info
+_description: Collect info on fresh rate for {vendor} {product}.
+_summary: Test refresh rate for {vendor} {product}
+
+unit: template
+template-resource: graphics_card
+id: graphics/{index}_graphic_memory_{product_slug}
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+command: graphic_memory_info
+_description: Collect info on graphic memory for {vendor} {product}.
+_summary: Test graphic memory info for {vendor} {product}.
+
+unit: template
+template-resource: graphics_card
+id: graphics/{index}_video_{product_slug}
+plugin: user-interact-verify
+category_id: com.canonical.plainbox::graphics
+requires:
+ package.name == 'xorg'
+ package.name == 'gir1.2-gst-plugins-base-0.10' or package.name == 'gir1.2-gst-plugins-base-1.0'
+command:
+ source graphics_env {driver} {index}
+ gst_pipeline_test -t 2 'videotestsrc ! videoconvert ! autovideosink' || gst_pipeline_test -t 2 'videotestsrc ! ffmpegcolorspace ! autovideosink'
+_summary: Test that video can be displayed with {vendor} {product}
+_description:
+ PURPOSE:
+ This test will test the default display with a sample video
+ STEPS:
+ 1. Click "Test" to display a video test.
+ VERIFICATION:
+ Do you see color bars and static?
+
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: 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
+_summary: Test that VESA drivers are not in use
+
+unit: template
+template-resource: graphics_card
+template-filter: graphics_card.prime_gpu_offload == 'Off'
+plugin: user-interact-verify
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_cycle_resolution_{product_slug}
+requires: package.name == 'xorg'
+depends: graphics/VESA_drivers_not_in_use
+command:
+ source graphics_env {driver} {index}
+ xrandr_cycle --screenshot-dir $PLAINBOX_SESSION_SHARE
+estimated_duration: 250.000
+_summary: Test resolution cycling for {vendor} {product}
+_description:
+ PURPOSE:
+ This test cycles through the detected video modes for the {vendor} {product} graphics card
+ STEPS:
+ 1. Click "Test" to start cycling through the video modes
+ VERIFICATION:
+ Did the screen appear to be working for each mode?
+
+unit: template
+template-resource: graphics_card
+template-filter: graphics_card.prime_gpu_offload == 'Off'
+plugin: user-interact-verify
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_rotation_{product_slug}
+depends: graphics/xorg-version
+command:
+ source graphics_env {driver} {index}
+ rotation_test_using_dbus
+estimated_duration: 20.000
+_summary: Test rotation for {vendor} {product}
+_description:
+ PURPOSE:
+ This test will test display rotation on the {vendor} {product} graphics card
+ 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?
+
+unit: template
+template-resource: graphics_card
+template-filter: graphics_card.prime_gpu_offload == 'Off'
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_compiz_check_{product_slug}
+requires: package.name == 'nux-tools'
+command:
+ source graphics_env {driver} {index}
+ ! /usr/lib/nux/unity_support_test -c -p 2>&1 | ansi_parser | grep -e ":\(\s\+\)no$" -ie "error"
+estimated_duration: 0.130
+_description: Check that {vendor} {product} hardware is able to run compiz
+_summary: Test Compiz support for {vendor} {product}
+
+unit: template
+template-resource: graphics_card
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_unity_support_{product_slug}
+requires: package.name == 'nux-tools'
+command: ! /usr/lib/nux/unity_support_test -p 2>&1 | ansi_parser | grep -e ":\(\s\+\)no$" -ie "error"
+estimated_duration: 0.131
+_description: Check that {vendor} {product} hardware is able to run Unity 3D
+_summary: Test Unity 3D support for {vendor} {product}
+
+unit: template
+template-resource: graphics_card
+template-filter: graphics_card.driver in ['amdgpu', 'amdgpu-pro']
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_valid_opengl_renderer_{product_slug}
+requires: package.name == 'mesa-utils'
+command:
+ renderer=`DRI_PRIME=1 glxinfo | grep "OpenGL re"`
+ echo $renderer
+ if grep -qi 'Intel' <<<$renderer; then
+ echo 'ERROR: renderer is Intel when DRI_PRIME=1'
+ exit 1
+ fi
+_summary: Check the OpenGL renderer (AMD GPU and DRI_PRIME=1)
+
+unit: template
+template-resource: graphics_card
+plugin: user-interact-verify
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_glxgears_{product_slug}
+requires: package.name == 'mesa-utils'
+command:
+ source graphics_env {driver} {index}
+ glxgears
+ true
+_summary: Test that glxgears works for {vendor} {product}
+_description:
+ PURPOSE:
+ This test tests the basic 3D capabilities of your {vendor} {product} 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?
+
+unit: template
+template-resource: graphics_card
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_3d_window_open_close_{product_slug}
+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 on the {vendor} {product} video card
+_summary: Test 3D window open/close for {vendor} {product}
+
+unit: template
+template-resource: graphics_card
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_3d_window_suspend_resume_{product_slug}
+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 on the {vendor} {product} video card
+_summary: Test a 3D window with suspend/resume for {vendor} {product}
+
+unit: template
+template-resource: graphics_card
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_multi_3d_windows_open_close_{product_slug}
+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 on the {vendor} {product} video card
+_summary: Test Multi 3D window open/close for {vendor} {product}
+
+unit: template
+template-resource: graphics_card
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_3d_window_move_{product_slug}
+requires:
+ package.name == 'mesa-utils'
+ package.name == 'wmctrl'
+command: window_test -t move
+estimated_duration: 50.000
+_description: Move a 3D window around the screen on the {vendor} {product} video card
+_summary: Test 3D window movement for {vendor} {product}
+
+unit: template
+template-resource: graphics_card
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_screenshot_{product_slug}
+requires: package.name == 'fswebcam'
+command: set -o pipefail; camera_test still --device=/dev/external_webcam -f $PLAINBOX_SESSION_SHARE/screenshot_{index}.jpg -q 2>&1 | ansi_parser
+_summary: Test grabbing a screenshot for {vendor} {product}
+_description:
+ PURPOSE:
+ Take a screengrab of the current screen (logged on Unity desktop) as produced by the {vendor} {product} graphics card
+ STEPS:
+ 1. Take picture using USB webcam
+ VERIFICATION:
+ Review attachment manually later
+
+unit: template
+template-resource: graphics_card
+plugin: attachment
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_screenshot_{product_slug}.jpg
+depends: graphics/{index}_screenshot_{product_slug}
+command: base64 $PLAINBOX_SESSION_SHARE/screenshot_{index}.jpg
+_description: Attaches the screenshot captured in graphics/screenshot for the {vendor} {product} graphics card.
+_summary: Attach results of screenshot test for {vendor} {product}
+
+unit: template
+template-resource: graphics_card
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_screenshot_fullscreen_video_{product_slug}
+requires: package.name == 'fswebcam'
+command:
+ [ -f $PLAINBOX_PROVIDER_DATA/video/Ogg_Theora_Video.ogv ] || {{ echo "Video file not found"; exit 1; }}
+ gsettings set org.gnome.totem repeat true
+ totem --fullscreen $PLAINBOX_PROVIDER_DATA/video/Ogg_Theora_Video.ogv 2>/dev/null &
+ set -o pipefail
+ sleep 15 && camera_test still --device=/dev/external_webcam -f $PLAINBOX_SESSION_SHARE/screenshot_fullscreen_video_{index}.jpg -q 2>&1 | ansi_parser
+ sleep 5 && totem --quit 2>/dev/null
+ gsettings set org.gnome.totem repeat false
+_summary: Test FSV screenshot for {vendor} {product}
+_description:
+ PURPOSE:
+ Take a screengrab of the current screen during fullscreen video playback using the {vendor} {product} graphics card
+ STEPS:
+ 1. Start a fullscreen video playback
+ 2. Take picture using USB webcam after a few seconds
+ VERIFICATION:
+ Review attachment manually later
+
+unit: template
+template-resource: graphics_card
+plugin: manual
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_switch_card_{product_slug}
+_summary: Test GPU switching for {vendor} {product}
+_description:
+_purpose:
+ Manually switch to the {vendor} {product} card.
+_steps:
+ Note: If your system is already running with the {vendor} {product} card, then please mark this test as "passed" and proceed.
+ .
+ 1. 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.
+ 2. Once the session restarts, please restart this testing program and select "continue" when prompted for a resume action.
+ 3. Don't answer the verification question until the system has restarted with the {vendor} {product} card enabled.
+_verification:
+ Is the system using the {vendor} {product} card now?
+
+unit: template
+template-resource: graphics_card
+template-filter: graphics_card.prime_gpu_offload == 'Off'
+plugin: manual
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_switch_card_{product_slug}_xenial
+requires:
+ graphics_card.driver in ['nouveau', 'nvidia', 'amdgpu-pro']
+ lsb.codename == 'xenial'
+_summary: Test GPU switching for {vendor} {product}
+_description:
+_purpose:
+ Manually switch to the {vendor} {product} card.
+_steps:
+ Note: If your system is already running with the {vendor} {product} card, then please mark this test as "passed" and proceed.
+ .
+ 1. Using the appropriate tool (e.g. NVidia settings, amdgpu-pro-px), switch your system to use the {vendor} {product} graphics card. This will require restarting your session.
+ If using amdgpu-pro drivers, use the following command to switch to:
+ - integrated GPU: sudo /opt/amdgpu-pro/bin/amdgpu-pro-px --mode powersaving
+ - discrete GPU: sudo /opt/amdgpu-pro/bin/amdgpu-pro-px --mode performance
+ 2. Once the session restarts, please restart this testing program and select "continue" when prompted for a resume action.
+ 3. Don't answer the verification question until the system has restarted with the {vendor} {product} card enabled.
+_verification:
+ Is the system using the {vendor} {product} card now?
+
+unit: template
+template-resource: graphics_card
+plugin: attachment
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_screenshot_fullscreen_video_{product_slug}.jpg
+depends: graphics/{index}_screenshot_fullscreen_video_{product_slug}
+command: base64 $PLAINBOX_SESSION_SHARE/screenshot_fullscreen_video_{index}.jpg
+_summary: Attach results of FSV screenshot test for {vendor} {product}
+_description: Attaches the screenshot captured in graphics/screenshot_fullscreen_video for the {vendor} {product} graphics card
+
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/screen-capture-internal
+_summary: Obtains a simple screen capture
+estimated_duration: 1.0
+requires: package.name == 'gnome-screenshot'
+command: gnome-screenshot --file ${PLAINBOX_SESSION_SHARE}/screen-capture.png
+_description: Obtains a simple screen capture using gnome-screenshot if present
+
+plugin: attachment
+category_id: com.canonical.plainbox::graphics
+id: screen-capture-internal.png
+_summary: Attaches a simple screen capture
+estimated_duration: 1.0
+depends: graphics/screen-capture-internal
+command: [ -f ${PLAINBOX_SESSION_SHARE}/screen-capture.png ] && base64 ${PLAINBOX_SESSION_SHARE}/screen-capture.png
+_description: Attaches the simple screen capture file
+
+unit: template
+template-resource: graphics_card
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_screen-capture-internal_{product_slug}
+_summary: Obtains a simple screen capture of {vendor} {product}
+estimated_duration: 1.0
+requires: package.name == 'gnome-screenshot'
+command: gnome-screenshot --file $PLAINBOX_SESSION_SHARE/screen-capture-{index}.png
+_description: Obtains a simple screen capture of {vendor} {product} using gnome-screenshot if present
+
+unit: template
+template-resource: graphics_card
+plugin: attachment
+category_id: com.canonical.plainbox::graphics
+id: graphics/{index}_screen-capture-internal_{product_slug}.png
+depends: graphics/{index}_screen-capture-internal_{product_slug}
+_summary: Attaches a simple screen capture of {vendor} {product}
+estimated_duration: 1.0
+command: [ -f $PLAINBOX_SESSION_SHARE/screen-capture-{index}.png ] && base64 $PLAINBOX_SESSION_SHARE/screen-capture-{index}.png
+_description: Attaches the simple screen capture file of {vendor} {product}
+
diff --git a/units/graphics/legacy.pxu b/units/graphics/legacy.pxu
new file mode 100644
index 0000000..91eb888
--- /dev/null
+++ b/units/graphics/legacy.pxu
@@ -0,0 +1,276 @@
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/driver_version
+command: graphics_driver
+estimated_duration: 0.500
+_description: Parses Xorg.0.Log and discovers the running X driver and version
+_summary: Test X driver/version
+
+plugin: manual
+category_id: com.canonical.plainbox::graphics
+id: graphics/resolution-change
+depends: graphics/xorg-version
+_summary: Test changing resolution
+_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: user-interact-verify
+category_id: com.canonical.plainbox::graphics
+id: graphics/resolution
+requires:
+ device.category == 'VIDEO'
+flags: deprecated
+command: resolution_test
+estimated_duration: 0.750
+_summary: Test default resolution (for old checkbox)
+_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-interact-verify
+category_id: com.canonical.plainbox::graphics
+id: graphics/screen-resolution
+requires:
+ device.category == 'VIDEO'
+ package.name == 'qmlscene'
+command: qmlscene -qt5 --transparent --fullscreen $PLAINBOX_PROVIDER_DATA/resolution_test.qml
+estimated_duration: 10.0
+_summary: Test default resolution
+_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
+category_id: com.canonical.plainbox::graphics
+id: graphics/minimum_resolution
+requires:
+ device.category == 'VIDEO'
+command: resolution_test --horizontal 800 --vertical 600
+estimated_duration: 0.331
+_summary: Test that system meets minimum resolution requirement
+_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-interact-verify
+category_id: com.canonical.plainbox::graphics
+id: 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
+_summary: Test maximum supported resolution
+_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?
+
+id: graphics/modes
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+command: graphics_modes_info
+estimated_duration: 0.250
+_description: Collect info on graphics modes (screen resolution and refresh rate)
+_summary: Collect info on graphics modes
+
+id: graphics/color_depth
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+command: color_depth_info
+estimated_duration: 0.150
+_description: Collect info on color depth and pixel format.
+_summary: Collect info on color depth and pixel format.
+
+id: graphics/fresh_rate
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+command: fresh_rate_info
+_description: Collect info on fresh rate.
+_summary: Collect info on fresh rate.
+
+id: graphics/graphic_memory
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+command: graphic_memory_info
+_description: Collect info on graphic memory.
+_summary: Collect info on graphic memory.
+
+plugin: user-interact-verify
+category_id: com.canonical.plainbox::graphics
+id: graphics/cycle_resolution
+requires: package.name == 'xorg'
+depends: graphics/VESA_drivers_not_in_use
+command: xrandr_cycle --screenshot-dir $PLAINBOX_SESSION_SHARE
+estimated_duration: 250.000
+_summary: Test resolution cycling
+_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-interact-verify
+category_id: com.canonical.plainbox::graphics
+id: graphics/rotation
+depends: graphics/xorg-version
+command: rotation_test
+estimated_duration: 20.000
+_summary: Test rotation
+_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
+category_id: com.canonical.plainbox::graphics
+id: graphics/compiz_check
+requires: package.name == 'nux-tools'
+command: ! /usr/lib/nux/unity_support_test -c -p 2>&1 | ansi_parser | grep -e ":\(\s\+\)no$" -ie "error"
+estimated_duration: 0.130
+_summary: Test Compiz support
+_description: Check that hardware is able to run compiz
+
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/unity-support
+requires: package.name == 'nux-tools'
+command: ! /usr/lib/nux/unity_support_test -p 2>&1 | ansi_parser | grep -e ":\(\s\+\)no$" -ie "error"
+estimated_duration: 0.131
+_description: Check that hardware is able to run Unity 3D
+_summary: Test Unity 3D support
+
+plugin: user-interact-verify
+category_id: com.canonical.plainbox::graphics
+id: graphics/glxgears
+requires: package.name == 'mesa-utils'
+command: glxgears; true
+_summary: Test that glxgears works
+_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
+category_id: com.canonical.plainbox::graphics
+id: graphics/3d_window_open_close
+requires: package.name == 'mesa-utils'
+command: window_test -t open-close -i 10
+estimated_duration: 60.525
+_summary: Test 3D window open/close
+_description: Open and close a 3D window multiple times
+
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: 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
+_summary: Test a 3D window with suspend/resume
+
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: 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
+_summary: Test Multi 3D window open/close
+
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: 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
+_summary: Test 3D window movement
+
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/screenshot
+requires: package.name == 'fswebcam'
+command: set -o pipefail; camera_test still --device=/dev/external_webcam -f ${PLAINBOX_SESSION_SHARE}/screenshot.jpg -q 2>&1 | ansi_parser
+_summary: Test grabbing a screenshot
+_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
+category_id: com.canonical.plainbox::graphics
+id: screenshot.jpg
+depends: graphics/screenshot
+command: base64 ${PLAINBOX_SESSION_SHARE}/screenshot.jpg
+_description: Attaches the screenshot captured in graphics/screenshot.
+_summary: Attach results of screenshot test
+
+plugin: shell
+category_id: com.canonical.plainbox::graphics
+id: graphics/screenshot_fullscreen_video
+requires: package.name == 'fswebcam'
+command:
+ [ -f ${PLAINBOX_PROVIDER_DATA}/video/Ogg_Theora_Video.ogv ] || { echo "Video file not found"; exit 1; }
+ gsettings set org.gnome.totem repeat true
+ totem --fullscreen ${PLAINBOX_PROVIDER_DATA}/video/Ogg_Theora_Video.ogv 2>/dev/null &
+ set -o pipefail
+ sleep 15 && camera_test still --device=/dev/external_webcam -f ${PLAINBOX_SESSION_SHARE}/screenshot_fullscreen_video.jpg -q 2>&1 | ansi_parser
+ sleep 5 && totem --quit 2>/dev/null
+ gsettings set org.gnome.totem repeat false
+_summary: Test FSV screenshot
+_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
+category_id: com.canonical.plainbox::graphics
+id: screenshot_fullscreen_video.jpg
+depends: graphics/screenshot_fullscreen_video
+command: base64 ${PLAINBOX_SESSION_SHARE}/screenshot_fullscreen_video.jpg
+_description: Attaches the screenshot captured in graphics/screenshot_fullscreen_video.
+_summary: Attach results of FSV screenshot test