diff options
author | Maciej Kisielewski <maciej.kisielewski@canonical.com> | 2019-09-19 15:20:24 +0200 |
---|---|---|
committer | Maciej Kisielewski <maciej.kisielewski@canonical.com> | 2019-09-24 11:39:33 +0200 |
commit | 5d9d9dc800f88d1632f69aaf633faf4ac5c0cdb1 (patch) | |
tree | 21a972d8660007b4d7062af259f16b488ecf42c4 | |
parent | 57b936b03a87463b3301add90753c6bf3a1891c5 (diff) |
modify edid-cycle test to use PIG
-rwxr-xr-x | bin/edid_cycle.py | 9 | ||||
-rw-r--r-- | units/pig/jobs.pxu | 8 | ||||
-rw-r--r-- | units/pig/resource.pxu | 5 |
3 files changed, 19 insertions, 3 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 |