1141cc406Sopenharmony_ci##  Makefile.am -- an automake template for Makefile.in file
2141cc406Sopenharmony_ci##  Copyright (C) 2013 Stéphane Voltz and Sane Developers.
3141cc406Sopenharmony_ci##
4141cc406Sopenharmony_ci##  This file is part of the "Sane" build infra-structure.  See
5141cc406Sopenharmony_ci##  included LICENSE file for license information.
6141cc406Sopenharmony_ci
7141cc406Sopenharmony_ciall:
8141cc406Sopenharmony_ci	@echo "run 'make check' to run tests"
9141cc406Sopenharmony_ci
10141cc406Sopenharmony_ciSANEDESC  = ../../tools/sane-desc$(EXEEXT)
11141cc406Sopenharmony_ciTESTFILE  = $(srcdir)/data/testfile.desc
12141cc406Sopenharmony_ciOUTFILES  = *.res
13141cc406Sopenharmony_ciDEVICE    = test
14141cc406Sopenharmony_ci
15141cc406Sopenharmony_ciEXTRA_DIST = data/testfile.desc data/ascii.ref data/db.ref data/hal-new.ref \
16141cc406Sopenharmony_ci	     data/hal.ref data/html-backends-split.ref data/html-mfgs.ref \
17141cc406Sopenharmony_ci	     data/hwdb.ref data/plist.ref data/statistics.ref \
18141cc406Sopenharmony_ci	     data/udev+acl.ref data/udev+hwdb.ref data/udev.ref \
19141cc406Sopenharmony_ci	     data/usermap.ref data/xml.ref
20141cc406Sopenharmony_ciCLEANFILES = $(OUTFILES)
21141cc406Sopenharmony_ci
22141cc406Sopenharmony_ciall: help
23141cc406Sopenharmony_ci
24141cc406Sopenharmony_cihelp:
25141cc406Sopenharmony_ci	@echo "Use 'make check' to run the tests."
26141cc406Sopenharmony_ci
27141cc406Sopenharmony_cicheck: check.local
28141cc406Sopenharmony_ci
29141cc406Sopenharmony_cicheck.local:
30141cc406Sopenharmony_ci	@echo "**** Testing $(SANEDESC) with $(TESTFILE)"
31141cc406Sopenharmony_ci	@pass=true; \
32141cc406Sopenharmony_ci	for mode in ascii html-backends-split html-mfgs xml statistics usermap db udev udev+acl udev+hwdb hwdb plist hal hal-new; \
33141cc406Sopenharmony_ci	do \
34141cc406Sopenharmony_ci	  $(SANEDESC) -m $$mode -s $(srcdir)/data >$$mode.res ;\
35141cc406Sopenharmony_ci          if diff -I "sane-backends 1\.[0-9]\.[0-9]\+\([-.0-9a-fgdirty]\+\)\?$$" \
36141cc406Sopenharmony_ci	       $(srcdir)/data/$$mode.ref $$mode.res ; \
37141cc406Sopenharmony_ci	  then \
38141cc406Sopenharmony_ci		echo "PASS: sane-desc -m $$mode -s $(srcdir)/data"; \
39141cc406Sopenharmony_ci	  else \
40141cc406Sopenharmony_ci		echo "FAIL: sane-desc -m $$mode -s $(srcdir)/data"; \
41141cc406Sopenharmony_ci		pass=false ; \
42141cc406Sopenharmony_ci	  fi; \
43141cc406Sopenharmony_ci	done ;\
44141cc406Sopenharmony_ci	if `$$pass`; then \
45141cc406Sopenharmony_ci	  echo "================" ; \
46141cc406Sopenharmony_ci	  echo "All tests passed" ; \
47141cc406Sopenharmony_ci	  echo "================" ; \
48141cc406Sopenharmony_ci	else \
49141cc406Sopenharmony_ci	  echo "========================" ; \
50141cc406Sopenharmony_ci	  echo "One or more tests failed" ; \
51141cc406Sopenharmony_ci	  echo "========================" ; \
52141cc406Sopenharmony_ci	  exit 1; \
53141cc406Sopenharmony_ci	fi
54