summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtests/kms-test-allplanes.py20
-rwxr-xr-xtests/kms-test-brxalloc.py30
-rwxr-xr-xtests/kms-test-connectors.py6
-rwxr-xr-xtests/kms-test-crc.py30
-rwxr-xr-xtests/kms-test-formats.py16
-rwxr-xr-xtests/kms-test-legacy-modeset.py18
-rwxr-xr-xtests/kms-test-modes.py18
-rwxr-xr-xtests/kms-test-modeset.py18
-rwxr-xr-xtests/kms-test-pageflip.py24
-rwxr-xr-xtests/kms-test-planeposition.py30
-rwxr-xr-xtests/kms-test-routing.py14
-rwxr-xr-xtests/kmstest.py60
12 files changed, 142 insertions, 142 deletions
diff --git a/tests/kms-test-allplanes.py b/tests/kms-test-allplanes.py
index d883262..710ae66 100755
--- a/tests/kms-test-allplanes.py
+++ b/tests/kms-test-allplanes.py
@@ -9,7 +9,7 @@ class AllPlanesTest(kmstest.KMSTest):
"""Test composition with all planes enabled on all CRTCs."""
def handle_page_flip(self, frame, time):
- self.logger.log("Page flip complete")
+ self.logger.log('Page flip complete')
def main(self):
# Create the connectors to CRTCs map
@@ -25,14 +25,14 @@ class AllPlanesTest(kmstest.KMSTest):
connectors[crtc] = connector
for crtc in self.card.crtcs:
- self.start("composition on CRTC %u" % crtc.id)
+ self.start('composition on CRTC %u' % crtc.id)
# Get the connector and default mode
try:
connector = connectors[crtc];
mode = connector.get_default_mode()
except KeyError:
- self.skip("no connector or mode available")
+ self.skip('no connector or mode available')
continue
# List planes available for the CRTC
@@ -42,20 +42,20 @@ class AllPlanesTest(kmstest.KMSTest):
planes.append(plane)
if len(planes) == 0:
- self.skip("no plane available for CRTC")
+ self.skip('no plane available for CRTC')
continue
- self.logger.log("Testing connector %s, CRTC %u, mode %s with %u planes" % \
+ self.logger.log('Testing connector %s, CRTC %u, mode %s with %u planes' % \
(connector.fullname, crtc.id, mode.name, len(planes)))
# Create a frame buffer
- fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, "XR24")
+ fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, 'XR24')
pykms.draw_test_pattern(fb)
# Set the mode with a primary plane
ret = self.atomic_crtc_mode_set(crtc, connector, mode, fb)
if ret < 0:
- self.fail("atomic mode set failed with %d" % ret)
+ self.fail('atomic mode set failed with %d' % ret)
continue
self.run(3)
@@ -67,14 +67,14 @@ class AllPlanesTest(kmstest.KMSTest):
destination = kmstest.Rect(offset, offset, fb.width, fb.height)
ret = self.atomic_plane_set(plane, crtc, source, destination, fb)
if ret < 0:
- self.fail("atomic plane set failed with %d" % ret)
+ self.fail('atomic plane set failed with %d' % ret)
break
- self.logger.log("Adding plane %u" % plane.id)
+ self.logger.log('Adding plane %u' % plane.id)
self.run(1)
if self.flips == 0:
- self.fail("No page flip registered")
+ self.fail('No page flip registered')
break
offset += 50
diff --git a/tests/kms-test-brxalloc.py b/tests/kms-test-brxalloc.py
index dbdc789..af6dd49 100755
--- a/tests/kms-test-brxalloc.py
+++ b/tests/kms-test-brxalloc.py
@@ -21,9 +21,9 @@ class BRxAllocTest(kmstest.KMSTest):
# instance to test dynamic assignment of the BRU and BRS to pipelines.
# This is only occurs on H3 ES2.0 and M3-N. Check the SoC model through
# sysfs as we can't detected it through the DRM/KMS API.
- soc = open("/sys/devices/soc0/soc_id", "rb").read().strip().decode()
- if soc not in ["r8a7795", "r8a77965"]:
- self.skip("VSPDL (BRU+BRS) not available")
+ soc = open('/sys/devices/soc0/soc_id', 'rb').read().strip().decode()
+ if soc not in ['r8a7795', 'r8a77965']:
+ self.skip('VSPDL (BRU+BRS) not available')
return
outputs = [Output(), Output()]
@@ -38,11 +38,11 @@ class BRxAllocTest(kmstest.KMSTest):
# Verify that the two CRTCs share the same planes
planes = outputs[0].crtc.possible_planes
if planes != outputs[1].crtc.possible_planes:
- self.skip("Planes differ for CRTCs %u and %u" % \
+ self.skip('Planes differ for CRTCs %u and %u' % \
(outputs[0].crtc.id, outputs[1].crtc.id))
return
- self.logger.log("Found %u planes for CRTCs %u and %u" % \
+ self.logger.log('Found %u planes for CRTCs %u and %u' % \
(len(planes), outputs[0].crtc.id, outputs[1].crtc.id))
# Get one connector for each CRTC
@@ -58,11 +58,11 @@ class BRxAllocTest(kmstest.KMSTest):
outputs[1].connector = connector
if not outputs[0].connector or not outputs[1].connector:
- self.skip("No connected connectors for CRTCs %u and %u " % \
+ self.skip('No connected connectors for CRTCs %u and %u ' % \
(outputs[0].crtc.id, outputs[1].crtc.id))
return
- self.start("Moving %u planes from %s to %s" % \
+ self.start('Moving %u planes from %s to %s' % \
(len(planes), outputs[0].connector.fullname, outputs[1].connector.fullname))
# Set the initial mode for both outputs and wait 5s for the monitors to
@@ -70,17 +70,17 @@ class BRxAllocTest(kmstest.KMSTest):
for output in outputs:
# Get the default mode and create a framebuffer
mode = output.connector.get_default_mode()
- output.fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, "XR24")
+ output.fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, 'XR24')
pykms.draw_test_pattern(output.fb)
# Set the mode with no plane
ret = self.atomic_crtc_mode_set(output.crtc, output.connector, mode, sync=True)
if ret < 0:
- self.fail("atomic mode set on %s failed with %d" % \
+ self.fail('atomic mode set on %s failed with %d' % \
(output.connector.fullname, ret))
return
- self.logger.log("Initial atomic mode set completed")
+ self.logger.log('Initial atomic mode set completed')
time.sleep(5)
# Add all planes
@@ -88,13 +88,13 @@ class BRxAllocTest(kmstest.KMSTest):
output = outputs[0]
for plane in planes:
- self.logger.log("Adding plane %u to %s" % (plane.id, output.connector.fullname))
+ self.logger.log('Adding plane %u to %s' % (plane.id, output.connector.fullname))
source = kmstest.Rect(0, 0, output.fb.width, output.fb.height)
destination = kmstest.Rect(offset, offset, output.fb.width, output.fb.height)
ret = self.atomic_plane_set(plane, output.crtc, source, destination, output.fb, sync=True)
if ret < 0:
- self.fail("atomic plane set failed with %d" % ret)
+ self.fail('atomic plane set failed with %d' % ret)
return
offset += 50
@@ -106,20 +106,20 @@ class BRxAllocTest(kmstest.KMSTest):
output = outputs[1]
for plane in planes:
- self.logger.log("Moving plane %u to %s" % (plane.id, output.connector.fullname))
+ self.logger.log('Moving plane %u to %s' % (plane.id, output.connector.fullname))
# Switching CRTC directly is not supported by DRM, start by
# disabling the plane.
ret = self.atomic_plane_disable(plane)
if ret < 0:
- self.fail("atomic plane disable failed with %d" % ret)
+ self.fail('atomic plane disable failed with %d' % ret)
return
source = kmstest.Rect(0, 0, output.fb.width, output.fb.height)
destination = kmstest.Rect(offset, offset, output.fb.width, output.fb.height)
ret = self.atomic_plane_set(plane, output.crtc, source, destination, output.fb)
if ret < 0:
- self.fail("atomic plane set failed with %d" % ret)
+ self.fail('atomic plane set failed with %d' % ret)
return
self.run(1)
diff --git a/tests/kms-test-connectors.py b/tests/kms-test-connectors.py
index 4c58b99..54cc89f 100755
--- a/tests/kms-test-connectors.py
+++ b/tests/kms-test-connectors.py
@@ -10,19 +10,19 @@ class ConnectorsTest(kmstest.KMSTest):
def main(self):
for connector in self.card.connectors:
- self.start("connector %s" % connector.fullname)
+ self.start('connector %s' % connector.fullname)
# Every connector should have at least one suitable CRTC
crtcs = connector.get_possible_crtcs()
if len(crtcs) == 0:
- self.fail("no possible CRTC")
+ self.fail('no possible CRTC')
continue
# Connected connectors should have at least one mode
if connector.connected():
modes = connector.get_modes()
if len(modes) == 0:
- self.fail("no mode available")
+ self.fail('no mode available')
continue
self.success()
diff --git a/tests/kms-test-crc.py b/tests/kms-test-crc.py
index 60187ef..5b8a679 100755
--- a/tests/kms-test-crc.py
+++ b/tests/kms-test-crc.py
@@ -105,7 +105,7 @@ class CRCTest(kmstest.KMSTest):
"""Test CRC calculation on pipeline output."""
def handle_page_flip(self, frame, time):
- self.logger.log("Page flip complete")
+ self.logger.log('Page flip complete')
def main(self):
# Create the connectors to CRTCs map
@@ -121,14 +121,14 @@ class CRCTest(kmstest.KMSTest):
connectors[crtc] = connector
for crtc in self.card.crtcs:
- self.start("CRC calculation on CRTC %u" % crtc.id)
+ self.start('CRC calculation on CRTC %u' % crtc.id)
# Get the connector and default mode
try:
connector = connectors[crtc];
mode = connector.get_default_mode()
except KeyError:
- self.skip("no connector or mode available")
+ self.skip('no connector or mode available')
continue
# List planes available for the CRTC
@@ -138,14 +138,14 @@ class CRCTest(kmstest.KMSTest):
planes.append(plane)
if len(planes) == 0:
- self.skip("no plane available for CRTC")
+ self.skip('no plane available for CRTC')
continue
- self.logger.log("Testing connector %s, CRTC %u, mode %s with %u planes" % \
+ self.logger.log('Testing connector %s, CRTC %u, mode %s with %u planes' % \
(connector.fullname, crtc.id, mode.name, len(planes)))
# Create a frame buffer and draw a test pattern.
- fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, "XR24")
+ fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, 'XR24')
pykms.draw_test_pattern(fb)
# Create a composer. This will compute the reference CRCs.
@@ -154,7 +154,7 @@ class CRCTest(kmstest.KMSTest):
# Set the mode and add all planes
ret = self.atomic_crtc_mode_set(crtc, connector, mode, sync=True)
if ret < 0:
- self.fail("atomic mode set failed with %d" % ret)
+ self.fail('atomic mode set failed with %d' % ret)
continue
req = kmstest.AtomicRequest(self)
@@ -177,23 +177,23 @@ class CRCTest(kmstest.KMSTest):
ret = req.commit(0)
if ret < 0:
- self.fail("atomic plane set failed with %d" % ret)
+ self.fail('atomic plane set failed with %d' % ret)
continue
# Wait for one second and make sure the page flip has completed.
self.run(1)
if self.flips == 0:
- self.fail("No page flip registered")
+ self.fail('No page flip registered')
continue
sources = [crtc] + planes
for source in sources:
if source == crtc:
- crc_source = "auto"
+ crc_source = 'auto'
else:
- crc_source = "plane%u" % source.id
+ crc_source = 'plane%u' % source.id
- self.logger.log("Computing CRC from source %s" % crc_source)
+ self.logger.log('Computing CRC from source %s' % crc_source)
# Set the CRC source and acquire 10 CRC values. Discard the
# first value, as the device is running and the new source
@@ -204,7 +204,7 @@ class CRCTest(kmstest.KMSTest):
crc_reader.stop()
crcs = [c.crcs[0] for c in crcs[1:]]
- self.logger.log("CRC value[0] 0x%08x" % crcs[0])
+ self.logger.log('CRC value[0] 0x%08x' % crcs[0])
failures = 0
ref_crc = composer.crc(source)
@@ -212,12 +212,12 @@ class CRCTest(kmstest.KMSTest):
for i in range(len(crcs)):
crc = crcs[i]
if crc != ref_crc:
- self.logger.log("CRC value[%u] 0x%08x does not match reference 0x%08x"
+ self.logger.log('CRC value[%u] 0x%08x does not match reference 0x%08x'
% (i, crc, ref_crc))
failures += 1
if failures:
- self.fail("Incorrect CRC values on source %s" % crc_source)
+ self.fail('Incorrect CRC values on source %s' % crc_source)
break
else:
diff --git a/tests/kms-test-formats.py b/tests/kms-test-formats.py
index 86f1651..ce84943 100755
--- a/tests/kms-test-formats.py
+++ b/tests/kms-test-formats.py
@@ -10,12 +10,12 @@ class FormatsTest(kmstest.KMSTest):
"""Test all available plane formats."""
def main(self):
- self.start("plane formats")
+ self.start('plane formats')
# Find a CRTC with a connected connector and at least one plane
for connector in self.output_connectors():
if not connector.connected():
- self.skip("unconnected connector")
+ self.skip('unconnected connector')
continue
try:
@@ -34,10 +34,10 @@ class FormatsTest(kmstest.KMSTest):
break
else:
- self.skip("no CRTC available with connector")
+ self.skip('no CRTC available with connector')
return
- self.logger.log("Testing connector %s, CRTC %u, mode %s" % \
+ self.logger.log('Testing connector %s, CRTC %u, mode %s' % \
(connector.fullname, crtc.id, mode.name))
failed = 0
@@ -46,14 +46,14 @@ class FormatsTest(kmstest.KMSTest):
for i in range(num_formats):
format = crtc.primary_plane.formats[i]
- self.logger.log("Testing format %s" % format)
+ self.logger.log('Testing format %s' % format)
self.progress(i+1, num_formats)
# Create a frame buffer
try:
fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, format)
except ValueError:
- self.logger.log("Failed to create frame buffer")
+ self.logger.log('Failed to create frame buffer')
failed += 1
continue
@@ -62,7 +62,7 @@ class FormatsTest(kmstest.KMSTest):
# Set the mode with a primary plane
ret = self.atomic_crtc_mode_set(crtc, connector, mode, fb)
if ret < 0:
- self.logger.log("atomic mode set failed with %d" % ret)
+ self.logger.log('atomic mode set failed with %d' % ret)
failed += 1
continue
@@ -71,7 +71,7 @@ class FormatsTest(kmstest.KMSTest):
self.atomic_crtc_disable(crtc)
if failed:
- self.fail("%s/%s formats failed" % (failed, num_formats))
+ self.fail('%s/%s formats failed' % (failed, num_formats))
else:
self.success()
diff --git a/tests/kms-test-legacy-modeset.py b/tests/kms-test-legacy-modeset.py
index 4b56053..f856178 100755
--- a/tests/kms-test-legacy-modeset.py
+++ b/tests/kms-test-legacy-modeset.py
@@ -9,15 +9,15 @@ class LegacyModeSetTest(kmstest.KMSTest):
"""Test mode setting on all connectors in sequence with the default mode through the legacy mode set API."""
def handle_page_flip(self, frame, time):
- self.logger.log("Page flip complete")
+ self.logger.log('Page flip complete')
def main(self):
for connector in self.output_connectors():
- self.start("legacy mode set on connector %s" % connector.fullname)
+ self.start('legacy mode set on connector %s' % connector.fullname)
# Skip disconnected connectors
if not connector.connected():
- self.skip("unconnected connector")
+ self.skip('unconnected connector')
continue
# Find a CRTC suitable for the connector
@@ -33,28 +33,28 @@ class LegacyModeSetTest(kmstest.KMSTest):
try:
mode = connector.get_default_mode()
except ValueError:
- self.skip("no mode available")
+ self.skip('no mode available')
continue
- self.logger.log("Testing connector %s on CRTC %u with mode %s" % \
+ self.logger.log('Testing connector %s on CRTC %u with mode %s' % \
(connector.fullname, crtc.id, mode.name))
# Create a frame buffer
- fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, "XR24")
+ fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, 'XR24')
pykms.draw_test_pattern(fb)
# Perform a mode set
ret = crtc.set_mode(connector, fb, mode)
if ret < 0:
- self.fail("legacy mode set failed with %d" % ret)
+ self.fail('legacy mode set failed with %d' % ret)
continue
- self.logger.log("Legacy mode set complete")
+ self.logger.log('Legacy mode set complete')
self.run(5)
ret = crtc.disable_mode()
if ret < 0:
- self.fail("legacy mode set disable failed with %d" % ret)
+ self.fail('legacy mode set disable failed with %d' % ret)
continue
self.success()
diff --git a/tests/kms-test-modes.py b/tests/kms-test-modes.py
index b298a19..433bb0b 100755
--- a/tests/kms-test-modes.py
+++ b/tests/kms-test-modes.py
@@ -9,35 +9,35 @@ class ModesTest(kmstest.KMSTest):
"""Test all available modes on all available connectors."""
def handle_page_flip(self, frame, time):
- self.logger.log("Page flip complete")
+ self.logger.log('Page flip complete')
def test_mode(self, connector, crtc, mode):
- self.logger.log("Testing connector %s on CRTC %u with mode %s" % \
+ self.logger.log('Testing connector %s on CRTC %u with mode %s' % \
(connector.fullname, crtc.id, mode.name))
# Create a frame buffer
- fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, "XR24")
+ fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, 'XR24')
pykms.draw_test_pattern(fb)
# Perform the mode set
ret = self.atomic_crtc_mode_set(crtc, connector, mode, fb)
if ret < 0:
- raise RuntimeError("atomic mode set failed with %d" % ret)
+ raise RuntimeError('atomic mode set failed with %d' % ret)
- self.logger.log("Atomic mode set complete")
+ self.logger.log('Atomic mode set complete')
self.run(4)
self.atomic_crtc_disable(crtc)
if self.flips == 0:
- raise RuntimeError("Page flip not registered")
+ raise RuntimeError('Page flip not registered')
def main(self):
for connector in self.output_connectors():
- self.start("modes on connector %s" % connector.fullname)
+ self.start('modes on connector %s' % connector.fullname)
# Skip disconnected connectors
if not connector.connected():
- self.skip("unconnected connector")
+ self.skip('unconnected connector')
continue
# Find a CRTC suitable for the connector
@@ -52,7 +52,7 @@ class ModesTest(kmstest.KMSTest):
# Test all available modes
modes = connector.get_modes()
if len(modes) == 0:
- self.skip("no mode available")
+ self.skip('no mode available')
continue
for i in range(len(modes)):
diff --git a/tests/kms-test-modeset.py b/tests/kms-test-modeset.py
index 0dbe67f..a6ba61c 100755
--- a/tests/kms-test-modeset.py
+++ b/tests/kms-test-modeset.py
@@ -9,15 +9,15 @@ class ModeSetTest(kmstest.KMSTest):
"""Test mode setting on all connectors in sequence with the default mode."""
def handle_page_flip(self, frame, time):
- self.logger.log("Page flip complete")
+ self.logger.log('Page flip complete')
def main(self):
for connector in self.output_connectors():
- self.start("atomic mode set on connector %s" % connector.fullname)
+ self.start('atomic mode set on connector %s' % connector.fullname)
# Skip disconnected connectors
if not connector.connected():
- self.skip("unconnected connector")
+ self.skip('unconnected connector')
continue
# Find a CRTC suitable for the connector
@@ -33,28 +33,28 @@ class ModeSetTest(kmstest.KMSTest):
try:
mode = connector.get_default_mode()
except ValueError:
- self.skip("no mode available")
+ self.skip('no mode available')
continue
- self.logger.log("Testing connector %s on CRTC %u with mode %s" % \
+ self.logger.log('Testing connector %s on CRTC %u with mode %s' % \
(connector.fullname, crtc.id, mode.name))
# Create a frame buffer
- fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, "XR24")
+ fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, 'XR24')
pykms.draw_test_pattern(fb)
# Perform a mode set
ret = self.atomic_crtc_mode_set(crtc, connector, mode, fb)
if ret < 0:
- self.fail("atomic mode set failed with %d" % ret)
+ self.fail('atomic mode set failed with %d' % ret)
continue
- self.logger.log("Atomic mode set complete")
+ self.logger.log('Atomic mode set complete')
self.run(5)
self.atomic_crtc_disable(crtc)
if self.flips == 0:
- self.fail("Page flip not registered")
+ self.fail('Page flip not registered')
else:
self.success()
diff --git a/tests/kms-test-pageflip.py b/tests/kms-test-pageflip.py
index 19c3ada..15dae6a 100755
--- a/tests/kms-test-pageflip.py
+++ b/tests/kms-test-pageflip.py
@@ -13,12 +13,12 @@ class PageFlipTest(kmstest.KMSTest):
def handle_page_flip(self, frame, time):
if self.flips == 1:
- self.logger.log("first page flip frame %u time %f" % (frame, time))
+ self.logger.log('first page flip frame %u time %f' % (frame, time))
self.frame_start = frame
self.time_start = time
if self.stop_requested:
- self.logger.log("last page flip frame %u time %f" % (frame, time))
+ self.logger.log('last page flip frame %u time %f' % (frame, time))
self.frame_end = frame
self.time_end = time
self.loop.stop()
@@ -43,11 +43,11 @@ class PageFlipTest(kmstest.KMSTest):
def main(self):
for connector in self.output_connectors():
- self.start("page flip on connector %s" % connector.fullname)
+ self.start('page flip on connector %s' % connector.fullname)
# Skip disconnected connectors
if not connector.connected():
- self.skip("unconnected connector")
+ self.skip('unconnected connector')
continue
# Find a CRTC suitable for the connector
@@ -67,28 +67,28 @@ class PageFlipTest(kmstest.KMSTest):
self.plane = plane
break
else:
- self.skip("no plane available for CRTC %u" % crtc.id)
+ self.skip('no plane available for CRTC %u' % crtc.id)
continue
# Get the default mode for the connector
try:
mode = connector.get_default_mode()
except ValueError:
- self.skip("no mode available")
+ self.skip('no mode available')
continue
- self.logger.log("Testing connector %s, CRTC %u, plane %u, mode %s" % \
+ self.logger.log('Testing connector %s, CRTC %u, plane %u, mode %s' % \
(connector.fullname, crtc.id, self.plane.id, mode.name))
# Create two frame buffers
self.fbs = []
for i in range(2):
- self.fbs.append(pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, "XR24"))
+ self.fbs.append(pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, 'XR24'))
# Set the mode and perform the initial page flip
ret = self.atomic_crtc_mode_set(crtc, connector, mode, self.fbs[0])
if ret < 0:
- self.fail("atomic mode set failed with %d" % ret)
+ self.fail('atomic mode set failed with %d' % ret)
continue
# Flip pages for 10s
@@ -105,16 +105,16 @@ class PageFlipTest(kmstest.KMSTest):
self.atomic_crtc_disable(crtc)
if not self.flips:
- self.fail("No page flip registered")
+ self.fail('No page flip registered')
continue
if self.stop_requested:
- self.fail("Last page flip not registered")
+ self.fail('Last page flip not registered')
continue
frames = self.frame_end - self.frame_start + 1
interval = self.time_end - self.time_start
- self.logger.log("Frame rate: %f (%u/%u frames in %f s)" % \
+ self.logger.log('Frame rate: %f (%u/%u frames in %f s)' % \
(frames / interval, self.flips, frames, interval))
self.success()
diff --git a/tests/kms-test-planeposition.py b/tests/kms-test-planeposition.py
index 0381896..e843ae1 100755
--- a/tests/kms-test-planeposition.py
+++ b/tests/kms-test-planeposition.py
@@ -10,12 +10,12 @@ class PlanePositionTest(kmstest.KMSTest):
"""Test boundaries of plane positioning."""
def main(self):
- self.start("plane positioning boundaries")
+ self.start('plane positioning boundaries')
# Find a CRTC with a connected connector and at least two planes
for connector in self.output_connectors():
if not connector.connected():
- self.skip("unconnected connector")
+ self.skip('unconnected connector')
continue
try:
@@ -39,23 +39,23 @@ class PlanePositionTest(kmstest.KMSTest):
break
else:
- self.skip("no CRTC available with connector and at least two planes")
+ self.skip('no CRTC available with connector and at least two planes')
return
- self.logger.log("Testing connector %s, CRTC %u, mode %s with %u planes" % \
+ self.logger.log('Testing connector %s, CRTC %u, mode %s with %u planes' % \
(connector.fullname, crtc.id, mode.name, len(planes)))
# Create a frame buffer
- fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, "XR24")
+ fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, 'XR24')
pykms.draw_test_pattern(fb)
# Set the mode with no plane, wait 5s for the monitor to wake up
ret = self.atomic_crtc_mode_set(crtc, connector, mode, sync=True)
if ret < 0:
- self.fail("atomic mode set failed with %d" % ret)
+ self.fail('atomic mode set failed with %d' % ret)
return
- self.logger.log("Initial atomic mode set completed")
+ self.logger.log('Initial atomic mode set completed')
time.sleep(5)
# Add the first plane to cover half of the CRTC
@@ -63,10 +63,10 @@ class PlanePositionTest(kmstest.KMSTest):
destination = kmstest.Rect(0, 0, fb.width // 2, fb.height)
ret = self.atomic_plane_set(planes[0], crtc, source, destination, fb, sync=True)
if ret < 0:
- self.fail("atomic plane set for first plane failed with %d" % ret)
+ self.fail('atomic plane set for first plane failed with %d' % ret)
return
- self.logger.log("Root plane enabled")
+ self.logger.log('Root plane enabled')
time.sleep(3)
# Add the second plane and move it around to cross all CRTC boundaries
@@ -79,10 +79,10 @@ class PlanePositionTest(kmstest.KMSTest):
ret = self.atomic_plane_set(planes[1], crtc, source, destination, fb, sync=True)
if ret < 0:
- self.fail("atomic plane set with offset %d,%d" % offset)
+ self.fail('atomic plane set with offset %d,%d' % offset)
return
- self.logger.log("Moved overlay plane to %d,%d" % offset)
+ self.logger.log('Moved overlay plane to %d,%d' % offset)
time.sleep(3)
# Try to move the plane completely off-screen. The device is expected
@@ -97,17 +97,17 @@ class PlanePositionTest(kmstest.KMSTest):
ret = self.atomic_plane_set(planes[1], crtc, source, destination, fb, sync=True)
if ret < 0:
- self.fail("atomic plane set with offset %d,%d" % offset)
+ self.fail('atomic plane set with offset %d,%d' % offset)
return
- self.logger.log("Moved overlay plane to %d,%d" % offset)
+ self.logger.log('Moved overlay plane to %d,%d' % offset)
time.sleep(3)
# Disable and re-enable the plane when it is off-screen. The device is
# still expected to handle this gracefully.
ret = self.atomic_plane_disable(planes[1])
if ret < 0:
- self.fail("off-screen atomic plane disable failed")
+ self.fail('off-screen atomic plane disable failed')
return
width = fb.width - 100
@@ -117,7 +117,7 @@ class PlanePositionTest(kmstest.KMSTest):
ret = self.atomic_plane_set(planes[1], crtc, source, destination, fb, sync=True)
if ret < 0:
- self.fail("off-scrren atomic plane enable failed")
+ self.fail('off-scrren atomic plane enable failed')
return
self.atomic_crtc_disable(crtc)
diff --git a/tests/kms-test-routing.py b/tests/kms-test-routing.py
index 806adb8..69f8be1 100755
--- a/tests/kms-test-routing.py
+++ b/tests/kms-test-routing.py
@@ -49,7 +49,7 @@ class RoutingTest(kmstest.KMSTest):
break
if not shared_connector:
- self.skip("No suitable connector")
+ self.skip('No suitable connector')
return
# Allocate planes for each CRTC.
@@ -61,13 +61,13 @@ class RoutingTest(kmstest.KMSTest):
pool = [(elem[0], [p for p in elem[1] if p != pipe.plane]) for elem in pool[:-1]]
# Create a framebuffer big enough for all connectors.
- fb = pykms.DumbFramebuffer(self.card, max_hdisplay, max_vdisplay, "XR24")
+ fb = pykms.DumbFramebuffer(self.card, max_hdisplay, max_vdisplay, 'XR24')
pykms.draw_test_pattern(fb)
- self.start("Moving connector %s between CRTCs %s" % \
+ self.start('Moving connector %s between CRTCs %s' % \
(shared_connector.fullname, [pipe.crtc.id for pipe in pipes]))
- self.logger.log("Highest display resolution: %ux%u" % (max_hdisplay, max_vdisplay))
+ self.logger.log('Highest display resolution: %ux%u' % (max_hdisplay, max_vdisplay))
for master_pipe in pipes:
req = kmstest.AtomicRequest(self)
@@ -97,13 +97,13 @@ class RoutingTest(kmstest.KMSTest):
'CRTC_H': mode.vdisplay,
})
- route.append("CRTC %u to connector %s" % (pipe.crtc.id, pipe.connector.fullname))
+ route.append('CRTC %u to connector %s' % (pipe.crtc.id, pipe.connector.fullname))
- self.logger.log("Routing " + ", ".join(route))
+ self.logger.log('Routing ' + ', '.join(route))
ret = req.commit_sync(True)
if ret < 0:
- self.fail("atomic commit failed with %d" % ret)
+ self.fail('atomic commit failed with %d' % ret)
return
time.sleep(5)
diff --git a/tests/kmstest.py b/tests/kmstest.py
index 949bb20..708e699 100755
--- a/tests/kmstest.py
+++ b/tests/kmstest.py
@@ -63,23 +63,23 @@ class EventLoop(selectors.DefaultSelector):
class KernelLogMessage(object):
def __init__(self, msg):
- pos = msg.find(";")
+ pos = msg.find(';')
header = msg[:pos]
msg = msg[pos+1:]
- facility, sequence, timestamp, *other = header.split(",")
+ facility, sequence, timestamp, *other = header.split(',')
self.facility = int(facility)
self.sequence = int(sequence)
self.timestamp = int(timestamp) / 1000000.
- msg = msg.split("\n")
+ msg = msg.split('\n')
self.msg = msg[0]
self.tags = {}
try:
tags = msg[1:-1]
for tag in tags:
- tag = tag.strip().split("=")
+ tag = tag.strip().split('=')
self.tags[tag[0]] = tag[1]
except:
pass
@@ -87,7 +87,7 @@ class KernelLogMessage(object):
class KernelLogReader(object):
def __init__(self):
- self.kmsg = os.open("/dev/kmsg", 0)
+ self.kmsg = os.open('/dev/kmsg', 0)
flags = fcntl.fcntl(self.kmsg, fcntl.F_GETFL)
fcntl.fcntl(self.kmsg, fcntl.F_SETFL, flags | os.O_NONBLOCK)
os.lseek(self.kmsg, 0, os.SEEK_END)
@@ -100,7 +100,7 @@ class KernelLogReader(object):
while True:
try:
msg = os.read(self.kmsg, 8191)
- msg = msg.decode("utf-8")
+ msg = msg.decode('utf-8')
except OSError as e:
if e.errno == errno.EAGAIN:
break
@@ -113,7 +113,7 @@ class KernelLogReader(object):
class Logger(object):
def __init__(self, name):
- self.logfile = open("%s.log" % name, "w")
+ self.logfile = open('%s.log' % name, 'w')
self._kmsg = KernelLogReader()
def __del__(self):
@@ -129,7 +129,7 @@ class Logger(object):
def event(self):
kmsgs = self._kmsg.read()
for msg in kmsgs:
- self.logfile.write("K [%6f] %s\n" % (msg.timestamp, msg.msg))
+ self.logfile.write('K [%6f] %s\n' % (msg.timestamp, msg.msg))
self.logfile.flush()
@property
@@ -146,13 +146,13 @@ class Logger(object):
self.event()
now = time.clock_gettime(time.CLOCK_MONOTONIC)
- self.logfile.write("U [%6f] %s\n" % (now, msg))
+ self.logfile.write('U [%6f] %s\n' % (now, msg))
self.logfile.flush()
class CRC(object):
def __init__(self, crc):
- if crc.startswith("XXXXXXXXXX"):
+ if crc.startswith('XXXXXXXXXX'):
self.frame = None
else:
self.frame = int(crc[:10], 16)
@@ -171,8 +171,8 @@ class CRCReader(object):
# Hardcode the device minor to 0 as the KMSTest constructor opens the
# default card object.
- self.dir = os.open("/sys/kernel/debug/dri/0/crtc-%u/crc" % self.pipe, 0)
- self.ctrl = os.open("control", os.O_WRONLY, dir_fd = self.dir)
+ self.dir = os.open('/sys/kernel/debug/dri/0/crtc-%u/crc' % self.pipe, 0)
+ self.ctrl = os.open('control', os.O_WRONLY, dir_fd = self.dir)
self.data = -1
def __del__(self):
@@ -181,8 +181,8 @@ class CRCReader(object):
os.close(self.dir)
def start(self, source):
- os.write(self.ctrl, source.encode("ascii"))
- self.data = os.open("data", os.O_RDONLY, dir_fd = self.dir)
+ os.write(self.ctrl, source.encode('ascii'))
+ self.data = os.open('data', os.O_RDONLY, dir_fd = self.dir)
def stop(self):
if self.data != -1:
@@ -194,7 +194,7 @@ class CRCReader(object):
while len(crcs) < num_entries:
try:
crc = os.read(self.data, CRCReader.MAX_LINE_LEN)
- crc = crc.decode("ascii")
+ crc = crc.decode('ascii')
except OSError as e:
if e.errno == errno.EAGAIN:
break
@@ -211,7 +211,7 @@ class Dist(object):
self.y = y
def __repr__(self):
- return "(%d,%d)" % (self.x, self.y)
+ return '(%d,%d)' % (self.x, self.y)
class Point(object):
@@ -220,7 +220,7 @@ class Point(object):
self.y = y
def __repr__(self):
- return "(%d,%d)" % (self.x, self.y)
+ return '(%d,%d)' % (self.x, self.y)
def move(self, distance):
self.x += distance.x
@@ -233,7 +233,7 @@ class Size(object):
self.height = height
def __repr__(self):
- return "%ux%u" % (self.width, self.height)
+ return '%ux%u' % (self.width, self.height)
class Rect(object):
@@ -244,7 +244,7 @@ class Rect(object):
self.height = height
def __repr__(self):
- return "(%d,%d)/%ux%u" % (self.left, self.top, self.width, self.height)
+ return '(%d,%d)/%ux%u' % (self.left, self.top, self.width, self.height)
def isEmpty(self):
"""Check if the rectangle has a zero width or height"""
@@ -387,7 +387,7 @@ class KMSTest(object):
def atomic_plane_disable(self, plane, sync=True):
req = AtomicRequest(self)
- req.add(plane, { "FB_ID": 0, 'CRTC_ID': 0 })
+ req.add(plane, { 'FB_ID': 0, 'CRTC_ID': 0 })
if sync:
return req.commit_sync()
@@ -397,7 +397,7 @@ class KMSTest(object):
def atomic_planes_disable(self, sync=True):
req = AtomicRequest(self)
for plane in self.card.planes:
- req.add(plane, { "FB_ID": 0, 'CRTC_ID': 0 })
+ req.add(plane, { 'FB_ID': 0, 'CRTC_ID': 0 })
if sync:
return req.commit_sync()
@@ -462,32 +462,32 @@ class KMSTest(object):
def start(self, name):
"""Start a test."""
self.test_name = name
- self.logger.log("Testing %s" % name)
- sys.stdout.write("Testing %s: " % name)
+ self.logger.log('Testing %s' % name)
+ sys.stdout.write('Testing %s: ' % name)
sys.stdout.flush()
def progress(self, current, maximum):
- sys.stdout.write("\rTesting %s: %u/%u" % (self.test_name, current, maximum))
+ sys.stdout.write('\rTesting %s: %u/%u' % (self.test_name, current, maximum))
sys.stdout.flush()
def fail(self, reason):
"""Complete a test with failure."""
- self.logger.log("Test failed. Reason: %s" % reason)
+ self.logger.log('Test failed. Reason: %s' % reason)
self.logger.flush()
- sys.stdout.write("\rTesting %s: FAIL\n" % self.test_name)
+ sys.stdout.write('\rTesting %s: FAIL\n' % self.test_name)
sys.stdout.flush()
def skip(self, reason):
"""Complete a test with skip."""
- self.logger.log("Test skipped. Reason: %s" % reason)
+ self.logger.log('Test skipped. Reason: %s' % reason)
self.logger.flush()
- sys.stdout.write("SKIP\n")
+ sys.stdout.write('SKIP\n')
sys.stdout.flush()
def success(self):
"""Complete a test with success."""
- self.logger.log("Test completed successfully")
+ self.logger.log('Test completed successfully')
self.logger.flush()
- sys.stdout.write("\rTesting %s: SUCCESS\n" % self.test_name)
+ sys.stdout.write('\rTesting %s: SUCCESS\n' % self.test_name)
sys.stdout.flush()