Skip to content

Commit f0c438d

Browse files
committed
Test approval with ImageMagick `compare'.
1 parent bad8848 commit f0c438d

File tree

4 files changed

+16
-4
lines changed

4 files changed

+16
-4
lines changed

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.png diff=image

Makefile

+9-3
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@ THE_PROGRAM = main
66
CFLAGS += -g -O0 -Wall -Werror -Wextra -std=c99
77
CAIRO_CFLAGS := $(shell pkg-config --cflags cairo)
88
CAIRO_LIBS := $(shell pkg-config --libs cairo)
9-
GD_CFLAGS := $(shell pkg-config --cflags gdlib)
10-
GD_LIBS := $(shell pkg-config --libs gdlib)
119
CHECK_CFLAGS := $(shell pkg-config --cflags check)
1210
CHECK_LIBS := $(shell pkg-config --libs check)
11+
GD_CFLAGS := $(shell pkg-config --cflags gdlib)
12+
GD_LIBS := $(shell pkg-config --libs gdlib)
13+
IMAGEMAGICK_PATH:= $(shell pkg-config --variable=exec_prefix ImageMagick)
1314

1415
BUILD_WITH_MPC ?= no
1516

@@ -20,7 +21,7 @@ all: check approval
2021
check: ${THE_TESTS}
2122
${SILENT}./${THE_TESTS}
2223

23-
approval: ${THE_PROGRAM}
24+
approval: is-imagemagick-installed ${THE_PROGRAM}
2425
${SILENT}./${THE_PROGRAM} gd pngelbrot.png 800 500 100 0.0 0.0 4.0
2526
${SILENT}./${APPROVAL_TESTS} pngelbrot.png
2627

@@ -46,6 +47,11 @@ ifeq (, ${GD_LIBS})
4647
${SILENT}echo "Please install GD (http://libgd.github.io)." && false
4748
endif
4849

50+
is-imagemagick-installed:
51+
ifeq (, ${IMAGEMAGICK_PATH})
52+
${SILENT}echo "Please install ImageMagick (http://www.imagemagick.org)." && false
53+
endif
54+
4955
is-mpc-installed:
5056
ifeq (yes, ${BUILD_WITH_MPC}) # XXX a little too phony
5157
MPC_CFLAGS = -DUSE_MPC ${GD_CFLAGS}

approve_mandelbrot

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/sh
22

3-
exit $(git status -- "$1" | grep modified | wc -l)
3+
exit $(git diff -- "$1")

diff-image

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/sh
2+
3+
num_changed_pixels=$(compare $2 $1 -metric ae -compose src /dev/null 2>&1)
4+
echo ${num_changed_pixels}
5+
exit 0;

0 commit comments

Comments
 (0)