(self, path, root, source)
| 230 | A model for a single image comparison test. |
| 231 | """ |
| 232 | def __init__(self, path, root, source): |
| 233 | self.source = source |
| 234 | self.root = root |
| 235 | self.dir = path.parent |
| 236 | self.diff = path.name |
| 237 | self.reldir = self.dir.relative_to(self.root) |
| 238 | |
| 239 | basename = self.diff[:-len('-failed-diff.png')] |
| 240 | for ext in exts: |
| 241 | if basename.endswith(f'_{ext}'): |
| 242 | display_extension = f'_{ext}' |
| 243 | extension = ext |
| 244 | basename = basename[:-len(display_extension)] |
| 245 | break |
| 246 | else: |
| 247 | display_extension = '' |
| 248 | extension = 'png' |
| 249 | |
| 250 | self.basename = basename |
| 251 | self.extension = extension |
| 252 | self.generated = f'{basename}.{extension}' |
| 253 | self.expected = f'{basename}-expected.{extension}' |
| 254 | self.expected_display = f'{basename}-expected{display_extension}.png' |
| 255 | self.generated_display = f'{basename}{display_extension}.png' |
| 256 | self.name = self.reldir / self.basename |
| 257 | self.destdir = self.get_dest_dir(self.reldir) |
| 258 | |
| 259 | self.thumbnails = [ |
| 260 | self.generated_display, |
| 261 | self.expected_display, |
| 262 | self.diff |
| 263 | ] |
| 264 | self.thumbnails = [self.dir / x for x in self.thumbnails] |
| 265 | |
| 266 | if self.destdir is None or not Path(self.destdir, self.generated).exists(): |
| 267 | # This case arises from a check_figures_equal test. |
| 268 | self.status = 'autogen' |
| 269 | elif ((self.dir / self.generated).read_bytes() |
| 270 | == (self.destdir / self.generated).read_bytes()): |
| 271 | self.status = 'accept' |
| 272 | else: |
| 273 | self.status = 'unknown' |
| 274 | |
| 275 | def get_dest_dir(self, reldir): |
| 276 | """ |
no test coverage detected