Blame test/Makefile

Packit 01d647
# ************************************************************* -*- Makefile -*-
Packit 01d647
#
Packit 01d647
# Copyright (C) 2004-2015 Andreas Huggel <ahuggel@gmx.net>
Packit 01d647
#
Packit 01d647
# This Makefile is part of the Exiv2 distribution.
Packit 01d647
#
Packit 01d647
# Redistribution and use in source and binary forms, with or without
Packit 01d647
# modification, are permitted provided that the following conditions
Packit 01d647
# are met:
Packit 01d647
#
Packit 01d647
#    1. Redistributions of source code must retain the above copyright
Packit 01d647
#       notice, this list of conditions and the following disclaimer.
Packit 01d647
#    2. Redistributions in binary form must reproduce the above
Packit 01d647
#       copyright notice, this list of conditions and the following
Packit 01d647
#       disclaimer in the documentation and/or other materials provided
Packit 01d647
#       with the distribution.
Packit 01d647
#    3. The name of the author may not be used to endorse or promote
Packit 01d647
#       products derived from this software without specific prior
Packit 01d647
#       written permission.
Packit 01d647
#
Packit 01d647
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
Packit 01d647
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
Packit 01d647
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
Packit 01d647
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
Packit 01d647
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Packit 01d647
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
Packit 01d647
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
Packit 01d647
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
Packit 01d647
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
Packit 01d647
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
Packit 01d647
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Packit 01d647
#
Packit 01d647
# File:      Makefile
Packit 01d647
# Author(s): Andreas Huggel (ahu) <ahuggel@gmx.net>
Packit 01d647
# History:   26-Dec-04, ahu: created
Packit 01d647
#
Packit 01d647
# Description:
Packit 01d647
#  Simple makefile to run the Exiv2 unit tests
Packit 01d647
#
Packit 01d647
# Restrictions:
Packit 01d647
#  Only tested with GNU make.
Packit 01d647
#
Packit 01d647
Packit 01d647
# Default make target
Packit 01d647
all: test
Packit 01d647
Packit 01d647
top_srcdir = ..
Packit 01d647
Packit 01d647
# Initialisations
Packit 01d647
SHELL = /bin/sh
Packit 01d647
Packit 01d647
.SUFFIXES:
Packit 01d647
Packit 01d647
# ******************************************************************************
Packit 01d647
# Targets
Packit 01d647
.PHONY: all test testv teste mostlyclean clean distclean maintainer-clean
Packit 01d647
Packit 01d647
##
Packit 01d647
# to save download time for simple build/test, we download video and eps data on demand
Packit 01d647
SVN    = svn://dev.exiv2.org/svn/testdata/trunk
Packit 01d647
Packit 01d647
##
Packit 01d647
# Add test drivers to this list
Packit 01d647
TESTS  = addmoddel.sh         \
Packit 01d647
         conversions.sh       \
Packit 01d647
         exifdata-test.sh     \
Packit 01d647
         exiv2-test.sh        \
Packit 01d647
         geotag-test.sh       \
Packit 01d647
         imagetest.sh         \
Packit 01d647
         icc-test.sh          \
Packit 01d647
         iotest.sh            \
Packit 01d647
         iptctest.sh          \
Packit 01d647
         iso65k-test.sh       \
Packit 01d647
         modify-test.sh       \
Packit 01d647
         path-test.sh         \
Packit 01d647
         preview-test.sh      \
Packit 01d647
         stringto-test.sh     \
Packit 01d647
         tiff-test.sh         \
Packit 01d647
         webp-test.sh         \
Packit 01d647
         write-test.sh        \
Packit 01d647
         write2-test.sh       \
Packit 01d647
         xmpparser-test.sh    \
Packit 01d647
         version-test.sh
Packit 01d647
Packit 01d647
# video tests
Packit 01d647
TESTV  = video-test.sh
Packit 01d647
TESTVW = write-video-test.sh
Packit 01d647
Packit 01d647
# EPS tests
Packit 01d647
TESTE  = eps-test.sh          \
Packit 01d647
         eps-preview-test.sh
Packit 01d647
Packit 01d647
# webready tests
Packit 01d647
TESTX  = httpiotest.sh        \
Packit 01d647
         curliotest.sh        \
Packit 01d647
         sshiotest.sh
Packit 01d647
Packit 01d647
tests:
Packit 01d647
	cd .. ; make tests
Packit 01d647
Packit 01d647
test:
Packit 01d647
	mkdir -p tmp
Packit 01d647
	rm -rf tmp/test-failed
Packit 01d647
	@list='$(TESTS)'; for p in $$list; do \
Packit 01d647
	    echo Running $$p ...; \
Packit 01d647
	    ./$$p;  \
Packit 01d647
	    rc=$$?; \
Packit 01d647
	    if [ $$rc -ne 0 ]; then echo '***' ; echo '***' $$p result = $$rc ; echo '***'       ; fi ; \
Packit 01d647
	    if [ $$rc -ne 0 ]; then              echo '***' $$p result = $$rc >> tmp/test-failed ; fi ; \
Packit 01d647
	done
Packit 01d647
	make newtests
Packit 01d647
	@if [ -e tmp/test-failed ]; then echo '***' FAILED ; cat tmp/test-failed ; echo '***' ; exit 255; fi
Packit 01d647
Packit 01d647
newtests:
Packit 01d647
	( cd ../tests ; python3 runner.py --verbose )
Packit 01d647
Packit 01d647
testv:
Packit 01d647
	@for t in /video ; do \
Packit 01d647
		if [ ! -e data/$$t ]; then \
Packit 01d647
	echo svn export '$(SVN)'$$t data$$t -r 3100 ; \
Packit 01d647
	     svn export '$(SVN)'$$t data$$t -r 3100 ; \
Packit 01d647
	fi ; done
Packit 01d647
	@list='$(TESTV)'; for p in $$list; do \
Packit 01d647
	    echo Running $$p ...; \
Packit 01d647
	    ./$$p; \
Packit 01d647
	done
Packit 01d647
Packit 01d647
testvw:
Packit 01d647
	@for t in /video ; do \
Packit 01d647
		if [ ! -e data/$$t ]; then \
Packit 01d647
	echo svn export '$(SVN)'$$t data$$t ; \
Packit 01d647
	     svn export '$(SVN)'$$t data$$t ; \
Packit 01d647
	fi ; done
Packit 01d647
	@list='$(TESTVW)'; for p in $$list; do \
Packit 01d647
	    echo Running $$p ...; \
Packit 01d647
	    ./$$p; \
Packit 01d647
	done
Packit 01d647
Packit 01d647
teste:
Packit 01d647
	@for t in /eps ; do \
Packit 01d647
		if [ ! -e data/$$t ]; then \
Packit 01d647
	echo svn export '$(SVN)'$$t data$$t ; \
Packit 01d647
	     svn export '$(SVN)'$$t data$$t ; \
Packit 01d647
	fi ; done
Packit 01d647
	@list='$(TESTE)'; for p in $$list; do \
Packit 01d647
	    echo Running $$p ...; \
Packit 01d647
	    ./$$p; \
Packit 01d647
	    rc=$$?; \
Packit 01d647
	    if [ $$rc -ne 0 ]; then \
Packit 01d647
		echo result = $$rc ; \
Packit 01d647
		exit $$rc ; \
Packit 01d647
		fi ; \
Packit 01d647
	done
Packit 01d647
Packit 01d647
testx:
Packit 01d647
	@list='$(TESTX)'; for p in $$list; do \
Packit 01d647
	    echo Running $$p ...; \
Packit 01d647
	    ./$$p; \
Packit 01d647
	done
Packit 01d647
Packit 01d647
mostlyclean clean:
Packit 01d647
	rm -rf $(top_srcdir)/test/tmp/*
Packit 01d647
Packit 01d647
distclean: clean
Packit 01d647
	$(RM) *~ *.bak *#
Packit 01d647
Packit 01d647
# This command is intended for maintainers to use; it deletes files
Packit 01d647
# that may need special tools to rebuild.
Packit 01d647
maintainer-clean: distclean
Packit 01d647
	rm -rf $(top_srcdir)/data/video $(top_srcdir)/test/data/eps
Packit 01d647
Packit 01d647
# That's all Folks!
Packit 01d647
##