Esempio n. 1
0
def calc_mse(image1, image2):
    h1 = Image.open(image1).histogram()
    h2 = Image.open(image2).histogram()
    return math.sqrt(reduce(operator.add, map(lambda a,b: (a-b)**2, h1, h2))/len(h1))

outputdir = tempfile.mkdtemp("-ggplot-test")
images = os.listdir(rundir1)
images.sort(key=lambda x: os.stat(os.path.join(rundir1, x)).st_mtime)
test_results = ""
table = []
for img in images:
    img1 = os.path.join(rundir1, img)
    img2 = os.path.join(rundir2, img)
    mse = calc_mse(img1, img2)
    f = os.path.join(outputdir, img)
    imgdiff.main([None, img1, img2, "-S", "-o", f])
    if mse > 0:
        broken = "broken-test"
    else:
        broken = ""
    div = """
<div id="%s" class="text-center %s">
    <p class="lead">%s - %f</p>
    <img src='%s' />
    <p class="text-muted text-small">%s vs. %s</p>
</div><hr>""" % (img, broken, img, mse, f, img1, img2)
    test_results += div
    table.append({ 'name': os.path.basename(f), 'mse': mse })

html += "\n" + "<div class='row' style='padding-left: 25%; width: 75%;'>" + pd.DataFrame(table)[['name', 'mse']].to_html(classes='table table-bordered') + "</div>\n"
html += test_results
Esempio n. 2
0
        # generate image made from kl bindings
        klExtTest = os.path.join(os.getcwd(), testNumber, "test.py")
        if os.path.exists(klExtTest):
            try:
                execfile(klExtTest)
            except Exception, e:
                print("Exception : {0}".format(e))
                failedTests.append(testNumber)
                continue
        else:
            print("[FabricArnold::TestSuite] {0} doesn't exist!".format(testNumber))
            failedTests.append(testNumber)
            continue

        # run difference test
        if imgdiff.main(testNumber):
            print("[FabricArnold::TestSuite] {0} failed!".format(testNumber))
            failedTests.append(testNumber)
        else:
            print("[FabricArnold::TestSuite] {0} passed!".format(testNumber))
else:
    # run all the tests
    for testNumber in os.listdir(os.getcwd()):
        if os.path.isdir(testNumber):

            # clean before running
            if args.clean:
                refImage = os.path.join(os.getcwd(), testNumber, "reference.jpg")
                if os.path.exists(refImage):
                    os.remove(refImage)
Esempio n. 3
0
def calc_mse(image1, image2):
    h1 = Image.open(image1).histogram()
    h2 = Image.open(image2).histogram()
    return math.sqrt(reduce(operator.add, map(lambda a,b: (a-b)**2, h1, h2))/len(h1))

outputdir = tempfile.mkdtemp("-ggplot-test")
images = os.listdir(rundir1)
images.sort(key=lambda x: os.stat(os.path.join(rundir1, x)).st_mtime)
test_results = ""
table = []
for img in images:
    img1 = os.path.join(rundir1, img)
    img2 = os.path.join(rundir2, img)
    mse = calc_mse(img1, img2)
    f = os.path.join(outputdir, img)
    imgdiff.main([None, img1, img2, "-S", "-o", f])
    if mse > 0:
        broken = "broken-test"
    else:
        broken = ""
    div = """
<div id="%s" class="text-center %s">
    <p class="lead">%s - %f</p>
    <img src='%s' />
    <p class="text-muted text-small">%s vs. %s</p>
</div><hr>""" % (img, broken, img, mse, f, img1, img2)
    test_results += div
    table.append({ 'name': os.path.basename(f), 'mse': mse })

html += "\n" + "<div class='row' style='padding-left: 25%; width: 75%;'>" + pd.DataFrame(table)[['name', 'mse']].to_html(classes='table table-bordered') + "</div>\n"
html += test_results
Esempio n. 4
0
 def main(self, *args):
     try:
         imgdiff.main(['imgdiff'] + list(args))
     except SystemExit:
         pass
Esempio n. 5
0
 def main(self, *args):
     try:
         imgdiff.main(['imgdiff'] + list(args))
     except SystemExit:
         pass