diff options
author | PMR <pmr@pmr-lander> | 2019-09-28 11:30:11 +0200 |
---|---|---|
committer | PMR <pmr@pmr-lander> | 2019-09-28 11:30:11 +0200 |
commit | 3de78a9cfb447a117f1e0af1a0a1ba20ca67f3dc (patch) | |
tree | dcf4d1a0302f1b8e35eacd6529580f011e703c51 | |
parent | fbe9746504a207bcb29afc10fec3ff5a0a5ccc8f (diff) | |
parent | 974145babe60757bc40e96cd4d1912c1cb163ca5 (diff) |
Merge branch 'master' into release
-rwxr-xr-x | bin/edid_cycle.py | 9 | ||||
-rw-r--r-- | units/pig/jobs.pxu | 8 | ||||
-rw-r--r-- | units/pig/resource.pxu | 5 | ||||
-rw-r--r-- | units/pig/test-plan.pxu | 16 | ||||
-rw-r--r-- | units/submission/jobs.pxu | 6 |
5 files changed, 37 insertions, 7 deletions
diff --git a/bin/edid_cycle.py b/bin/edid_cycle.py index 7e3c97e..a6daf1c 100755 --- a/bin/edid_cycle.py +++ b/bin/edid_cycle.py @@ -10,6 +10,7 @@ https://docs.google.com/document/d/1kjgaazt2IMskn_HPjN7adXYx1O5zXc39DRayZ0PYh9Y The command-line argument for the program is the address of the RaspberryPi Host (optionally with a username), e.g.: pi@192.168.1.100 """ +import os import re import subprocess import sys @@ -27,8 +28,8 @@ def check_resolution(): def change_edid(host, edid_file): with open(edid_file, 'rb') as f: - cmd = ['ssh', host, 'v4l2-ctl', '--set-edid=file=-,format=raw', - '--fix-edid-checksums'] + cmd = ['ssh', host, '/snap/bin/pigbox', 'run', + '\'v4l2-ctl --set-edid=file=-,format=raw --fix-edid-checksums\''] subprocess.check_output(cmd, input=f.read()) @@ -38,7 +39,9 @@ def main(): failed = False for res in ['2560x1440', '1920x1080', '1280x1024']: print('changing EDID to {}'.format(res)) - change_edid(sys.argv[1], '{}.edid'.format(res)) + edid_file = os.path.expandvars(os.path.join( + '$PLAINBOX_PROVIDER_DATA', 'edids', '{}.edid'.format(res))) + change_edid(sys.argv[1], edid_file) time.sleep(1) print('checking resolution... ', end='') actual_res = check_resolution() diff --git a/units/pig/jobs.pxu b/units/pig/jobs.pxu new file mode 100644 index 0000000..2bbcaa6 --- /dev/null +++ b/units/pig/jobs.pxu @@ -0,0 +1,8 @@ +id: monitor/pig-edid +category_id: com.canonical.plainbox::monitor +plugin: shell +estimated_duration: 60 +_summary: Check if the system automatically changes the resolution based on EDID +requires: pig.hdmi_bridge == 'installed' +environ: PIG_HOST +command: edid_cycle.py $PIG_HOST diff --git a/units/pig/resource.pxu b/units/pig/resource.pxu new file mode 100644 index 0000000..eb62e22 --- /dev/null +++ b/units/pig/resource.pxu @@ -0,0 +1,5 @@ +id: pig +plugin: resource +_summary: Get Pig's capabilities +environ: PIG_HOST +command: ssh -q -o 'StrictHostKeyChecking=no' $PIG_HOST /snap/bin/pigbox capabilities diff --git a/units/pig/test-plan.pxu b/units/pig/test-plan.pxu new file mode 100644 index 0000000..071a927 --- /dev/null +++ b/units/pig/test-plan.pxu @@ -0,0 +1,16 @@ +id: pig-enabled-full +unit: test plan +_name: Tests using Pi Testing Rig +_description: Tests using Pi Testing Rig +include: +nested_part: + pig-enabled-automated + +id: pig-enabled-automated +unit: test plan +_name: Tests using Pi Testing Rig (Automated) +_description: Tests using Pi Testing Rig (Automated) +include: + monitor/pig-edid +bootstrap_include: + pig diff --git a/units/submission/jobs.pxu b/units/submission/jobs.pxu index a2f5382..b433fd3 100644 --- a/units/submission/jobs.pxu +++ b/units/submission/jobs.pxu @@ -22,10 +22,8 @@ requires: dmi_present.state == 'supported' user: root command: - dmidecode -t bios -t system | python3 -m plainbox dev parse dmidecode | \ - jq '[.[0]._attributes + - {"category": .[0].category}, .[1]._attributes + - {"category": .[1].category}]' + dmidecode | python3 -m plainbox dev parse dmidecode | \ + jq '[.[] | ._attributes + {"category": .category}]' estimated_duration: 1 _description: Attaches dmidecode output _summary: Attaches json dumps of udev_resource raw dmi devices |