diff options
author | Sylvain Pineau <sylvain.pineau@canonical.com> | 2017-09-18 20:56:16 +0200 |
---|---|---|
committer | Sylvain Pineau <sylvain.pineau@canonical.com> | 2017-09-18 20:56:16 +0200 |
commit | 06ebc0457992bddfca74c3decc554d70ffdd310d (patch) | |
tree | ddc2038690c7e0bbd7146b3375681b919e91ab95 /units/graphics | |
parent | a2cbc59e55ed21f755f45a5db2df5695a2220315 (diff) |
Move all jobs definition files into pxu units
Diffstat (limited to 'units/graphics')
-rw-r--r-- | units/graphics/jobs.pxu | 505 | ||||
-rw-r--r-- | units/graphics/legacy.pxu | 276 |
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 |