Skip to content

Commit

Permalink
Use a report for selective mask tests, try to make tests stable
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Dec 10, 2019
1 parent 02f883f commit b0dc935
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions tests/src/python/test_selective_masking.py
Expand Up @@ -19,6 +19,7 @@
from qgis.PyQt.QtCore import (
QSize,
QRectF,
QDir
)
from qgis.PyQt.QtGui import (
QColor,
Expand Down Expand Up @@ -95,6 +96,8 @@ def setUp(self):
self.checker = QgsRenderChecker()
self.checker.setControlPathPrefix("selective_masking")

self.report = "<h1>Python Selective Masking Tests</h1>\n"

self.map_settings = QgsMapSettings()
crs = QgsCoordinateReferenceSystem()
crs.createFromSrid(4326)
Expand Down Expand Up @@ -139,6 +142,11 @@ def setUp(self):
# order layers for rendering
self.map_settings.setLayers([self.points_layer, self.lines_layer, self.polys_layer])

def tearDown(self):
report_file_path = "%s/qgistest.html" % QDir.tempPath()
with open(report_file_path, 'a') as report_file:
report_file.write(self.report)

def check_renderings(self, map_settings, control_name):
"""Test a rendering with different configurations:
- parallel rendering, no cache
Expand All @@ -163,7 +171,9 @@ def check_renderings(self, map_settings, control_name):
self.checker.setControlName(control_name)
self.checker.setRenderedImage(tmp)
suffix = "_parallel" if do_parallel else "_sequential"
self.assertTrue(self.checker.compareImages(control_name + suffix))
res = self.checker.compareImages(control_name + suffix)
self.report += self.checker.report()
self.assertTrue(res)

print("=== Rendering took {}s".format(float(t) / 1000.0))

Expand Down Expand Up @@ -336,6 +346,7 @@ def test_label_mask_rule_labeling(self):
if child.description() == 'Tadam':
break
label_settings = child.settings()
label_settings.priority = 3
fmt = label_settings.format()
# enable a mask
fmt.mask().setEnabled(True)
Expand Down Expand Up @@ -674,7 +685,9 @@ def test_layout_exports(self):
control_name = "layout_export"
self.checker.setControlName(control_name)
self.checker.setRenderedImage(tmp)
self.assertTrue(self.checker.compareImages(control_name))
res = self.checker.compareImages(control_name)
self.report += self.checker.report()
self.assertTrue(res)


if __name__ == '__main__':
Expand Down

0 comments on commit b0dc935

Please sign in to comment.