#1054. exiv2json deep recursion and AltLang support. Regression detector.

This commit is contained in:
Robin Mills 2015-04-21 18:48:49 +00:00
parent 5463d4f89d
commit d2f5abbac5
6 changed files with 45 additions and 23 deletions

View File

@ -36,7 +36,7 @@
# History: 15-Jan-04, ahu: created
#
# Description:
# Simple top-level makefile that mainly forwards to makefiles in
# Simple top-level makefile that mainly forwards to makefiles in
# subdirectories.
#
# Restrictions:
@ -83,8 +83,8 @@ MAJOR=$(shell grep "define.*EXIV2_.*_VERSION .*\\d*" src/version.hpp | grep MAJO
MINOR=$(shell grep "define.*EXIV2_.*_VERSION .*\\d*" src/version.hpp | grep MINOR | sed -e 's/EXIV2//g' | tr -dC [:digit:])
VERSION=exiv2-$(MAJOR).$(MINOR)
tarball:
@rm -rf /tmp/$(VERSION)
@rm -rf /tmp/$(VERSION).tar
@rm -rf /tmp/$(VERSION)
@rm -rf /tmp/$(VERSION).tar
@rm -rf /tmp/$(VERSION).tar.gz
@rm -rf $(VERSION).tar.gz
svn export -q . /tmp/$(VERSION)
@ -103,9 +103,9 @@ configure:
config:
cd config && $(MAKE) -f config.make $(MAKECMDGOALS)
xmpsdk: src/svn_version.h config/config.mk
xmpsdk: src/svn_version.h config/config.mk
if test "x$(ENABLE_XMP)" = "x1"; then cd xmpsdk/src && $(MAKE) $@; fi;
src/svn_version.h:
cd src && $(MAKE) svn_version.h
@ -119,8 +119,8 @@ mostlyclean clean: config/config.mk
rm -rf test/tmp include/exiv2/exv_conf.h src/svn_version.h
mkdir test/tmp
# `make distclean' also removes files created by configuring
# the program. Running `make all distclean' prepares the project
# `make distclean' also removes files created by configuring
# the program. Running `make all distclean' prepares the project
# for packaging.
distclean: clean
rm -f config.log config.status libtool
@ -133,16 +133,16 @@ maintainer-clean: distclean
rm -f configure
-cd test && $(MAKE) $(MAKECMDGOALS)
config/config.mk:
config/config.mk:
$(error File config/config.mk does not exist. Did you run ./configure?)
rebuild:
make distclean
make config
./configure
make
make -j
sudo make install
make samples
make -j samples
# That's all Folks!
##

View File

@ -36,7 +36,7 @@
# History: 15-Jan-04, ahu: created
#
# Description:
# Simple top-level makefile that mainly forwards to makefiles in
# Simple top-level makefile that mainly forwards to makefiles in
# subdirectories.
#
# Restrictions:
@ -83,8 +83,8 @@ MAJOR=$(shell grep "define.*EXIV2_.*_VERSION .*\\d*" src/version.hpp | grep MAJO
MINOR=$(shell grep "define.*EXIV2_.*_VERSION .*\\d*" src/version.hpp | grep MINOR | sed -e 's/EXIV2//g' | tr -dC [:digit:])
VERSION=exiv2-$(MAJOR).$(MINOR)
tarball:
@rm -rf /tmp/$(VERSION)
@rm -rf /tmp/$(VERSION).tar
@rm -rf /tmp/$(VERSION)
@rm -rf /tmp/$(VERSION).tar
@rm -rf /tmp/$(VERSION).tar.gz
@rm -rf $(VERSION).tar.gz
svn export -q . /tmp/$(VERSION)
@ -103,9 +103,9 @@ configure:
config:
cd config && $(MAKE) -f config.make $(MAKECMDGOALS)
xmpsdk: src/svn_version.h config/config.mk
xmpsdk: src/svn_version.h config/config.mk
if test "x$(ENABLE_XMP)" = "x1"; then cd xmpsdk/src && $(MAKE) $@; fi;
src/svn_version.h:
cd src && $(MAKE) svn_version.h
@ -119,8 +119,8 @@ mostlyclean clean: config/config.mk
rm -rf test/tmp include/exiv2/exv_conf.h src/svn_version.h
mkdir test/tmp
# `make distclean' also removes files created by configuring
# the program. Running `make all distclean' prepares the project
# `make distclean' also removes files created by configuring
# the program. Running `make all distclean' prepares the project
# for packaging.
distclean: clean
rm -f config.log config.status libtool
@ -133,16 +133,16 @@ maintainer-clean: distclean
rm -f configure
-cd test && $(MAKE) $(MAKECMDGOALS)
config/config.mk:
config/config.mk:
$(error File config/config.mk does not exist. Did you run ./configure?)
rebuild:
make distclean
make config
./configure
make
make -j
sudo make install
make samples
make -j samples
# That's all Folks!
##

View File

@ -268,7 +268,7 @@ try {
Jzon::Object root;
if ( option == 'a' || option == 'f' ) {
if ( option == 'f' ) { // only report filesystem when requested
const char* FS="FS";
Jzon::Object fs ;
root.Add(FS,fs) ;

View File

@ -191,6 +191,12 @@ EXIFPOBJ = $(SAMPLEDIR)$(EXIFPRINT:.cpp=.o)
EXIFPBIN = $(EXIFPRINT:.cpp=)
EXIFPEXE = $(EXIFPRINT:.cpp=$(EXEEXT))
# exiv2json application
EXIV2JSON = exiv2json.cpp
EXIVJOBJ = $(SAMPLEDIR)$(EXIV2JSON:.cpp=.o)
EXIVJBIN = $(EXIV2JSON:.cpp=)
EXIVJEXE = $(EXIV2JSON:.cpp=$(EXEEXT))
# cmdfiletest application
REMOTETEST = remotetest.cpp
REMOTETOBJ = $(SAMPLEDIR)$(REMOTETEST:.cpp=.o)
@ -206,6 +212,7 @@ DEP = $(CCSRC:%.cpp=$(DEPDIR)/%.d) \
$(CONNTEST:%.cpp=$(DEPDIR)/%.d) \
$(EXIFPRINT:%.cpp=$(DEPDIR)/%.d) \
$(REMOTETEST:%.cpp=$(DEPDIR)/%.d) \
$(EXIV2JSON:%.cpp=$(DEPDIR)/%.d) \
$(EXIVCSRC:%.c=$(DEPDIR)/%.d)
endif
@ -299,6 +306,10 @@ $(EXIFPBIN): lib $(EXIFPOBJ)
mkdir -pv ../bin 2>&1 > /dev/null
@$(LIBTOOL) --mode=link $(LINK.cc) -o ../bin/$@ $(LIBRARY) $(EXIFPOBJ) -rpath $(libdir)
$(EXIVJBIN): lib $(EXIVJOBJ)
mkdir -pv ../bin 2>&1 > /dev/null
@$(LIBTOOL) --mode=link $(LINK.cc) -o ../bin/$@ $(LIBRARY) $(EXIVJOBJ) -rpath $(libdir)
$(REMOTETBIN): lib $(REMOTETOBJ)
mkdir -pv ../bin 2>&1 > /dev/null
@$(LIBTOOL) --mode=link $(LINK.cc) -o ../bin/$@ $(LIBRARY) $(REMOTETOBJ) -rpath $(libdir)

View File

@ -336,6 +336,17 @@ source ./functions.source
runTest exiv2 -PE -K ImageWidth $filename
runTest exiv2 -PE -K Exif.Image.ImageWidth $filename
num=1054
filename1=exiv2-bug${num}-1.jpg
filename2=exiv2-bug${num}-2.jpg
printf "$num " >&3
echo '------>' Bug $num '<-------' >&2
copyTestFile BlueSquare.xmp $filename1
copyTestFile exiv2-bug784.jpg $filename2
runTest exiv2json $filename1
runTest exiv2json x $filename1
runTest exiv2json $filename2
num=1058
filename=exiv2-bug$num.jpg
printf "$num " >&3

Binary file not shown.