Save difference file if error detected in QA image test
This commit is contained in:
parent
cef4b72b89
commit
42933c1c12
|
@ -28,7 +28,7 @@ from pathlib import Path
|
||||||
import pytest
|
import pytest
|
||||||
from typing import List
|
from typing import List
|
||||||
import platform
|
import platform
|
||||||
from PIL import Image
|
from PIL import Image, ImageChops
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
def images_are_equal( image1: str, image2: str ):
|
def images_are_equal( image1: str, image2: str ):
|
||||||
|
@ -42,12 +42,18 @@ def images_are_equal( image1: str, image2: str ):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
sum = np.sum( ( np.asarray ( image1 ).astype( np.float32 ) - np.asarray( image2 ).astype( np.float32 ) ) ** 2.0 )
|
sum = np.sum( ( np.asarray ( image1 ).astype( np.float32 ) - np.asarray( image2 ).astype( np.float32 ) ) ** 2.0 )
|
||||||
|
retval = True
|
||||||
|
|
||||||
if sum == 0:
|
if sum != 0.0:
|
||||||
return True
|
|
||||||
else:
|
|
||||||
norm_sum = sum / np.sqrt( sum )
|
norm_sum = sum / np.sqrt( sum )
|
||||||
return norm_sum < 0.001
|
retval = norm_sum < 0.001
|
||||||
|
|
||||||
|
if not retval:
|
||||||
|
diff = ImageChops.difference( image1, image2 )
|
||||||
|
diff_name = image1.filename + ".diff.png"
|
||||||
|
diff.save( diff_name )
|
||||||
|
|
||||||
|
return retval
|
||||||
|
|
||||||
@pytest.mark.parametrize("test_file,output_dir,compare_fn,cli_args",
|
@pytest.mark.parametrize("test_file,output_dir,compare_fn,cli_args",
|
||||||
[("cli/basic_test/basic_test.kicad_sch", "basic_test", "cli/basic_test/basic_test.png", []),
|
[("cli/basic_test/basic_test.kicad_sch", "basic_test", "cli/basic_test/basic_test.png", []),
|
||||||
|
|
Loading…
Reference in New Issue