* Port redmine issue 1024
* Port redmine issue 1026
* Port redmine issue 1040
* Port redmine issue 1044
* Port redmine issue 1053
* Port redmine issue 1054 (not finished yet; I found some issues there)
* Port redmine issue 1058
* Port redmine issue 1062
* Port redmine issue 1080
* Port redmine issue 1108
* Port redmine issue 1112
* Port redmine issue 1114
* Port redmine issue 1122
* Port redmine issue 1140
* Port redmine issue 1144
* Port redmine issue 1145
* Port redmine issue 1153
* Port redmine issue 1155
* Port redmine issue 1166
* Port redmine issue 1167
* Port redmine issue 1170
* Replace escaped chars in 1054
* Add brackets in exiv2json::main()
* Link all sample apps against exiv2lib
* Changes in 1054
* test 1054: fix dates depending on Local time
* Do not run make with VERBOSE=1
* Use system_tests.path
* Fix windows issues with quotes
* Use system_tests.path
* Use itertools to simplify test code
The FileDecoratorBase injects a new setUp & tearDown function. These new
functions would call the old setUp & tearDown in an inconvenient order: e.g. the
child class CopyFiles would at first call the user provided setUp and then copy
the files. This makes it impossible to perform some action on the file copy in
setUp.
=> This commit changes the call order, so that setUp & tearDown always "see" the
finished environment after file copies are in place and before any cleanup took
place.
This commit fixes the heap-buffer-overflow in PngChunk::parseTXTChunk.
According to the specification:
http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html
There must be 2 null separators when we start to analyze the language tag.
- Refactor FileDecoratorBase to use an arbitrary property in the decorated
class where the list of files is saved
- Add DeleteFiles decorator which deletes all files passed to it after the test
finished
commands, retval, stdout & stderr are lists
if they don't have the same length, they are truncated to the smallest list
thereby silently dropping test cases
=> now a ValueError is raised preventing that
The testsuite now uses python's template module for string substitutions which
allows for a more natural substitution syntax known from the shell. Also, it
allows to run the substitutions multiple times, which is not possible with
string.format().
The heavy-lifting is now performed via a metaclass, which expands all variables
on the class creation.