Commit Graph

66 Commits

Author SHA1 Message Date
Robin Mills
d632988bbd Massive code prolog cleanup. 2021-03-17 13:34:21 +00:00
Robin Mills
9e2ac47cf9
Merge pull request #1475 from 1div0/BMFF
Base Media File Format
2021-03-10 10:34:21 +00:00
postscript-dev
207a0d65c9 Change LangAltValue::read() tests to unitTests
Removed previous Python tests.
2021-03-09 11:58:55 +00:00
clanmills
f1303cbcda Another effort to fix base64decode and associated unit test. 2021-03-08 08:58:24 +00:00
Robin Mills
6109e5c49d I've removed the test and put a comment in the code! 2020-05-28 19:09:53 +01:00
Robin Mills
7fefeb739c Adding debugging code. 2020-05-28 18:27:31 +01:00
Robin Mills
7bf40a2408 fix_1211_c++11_0.27. I'll explain this in the PR. 2020-05-28 14:16:08 +01:00
clanmills
63a13e8620 Adding option -DEXIV2_BUILD_USE_C++11 2020-05-02 12:21:21 +01:00
Robin Mills
df04671976 Enforce cxx_std_98 in samples, unit_tests, and exiv2 application (to eliminate 2305 GCC unique_ptr warnings) 2020-04-30 11:20:37 +01:00
Luis Diaz Mas
235087af4e Do not call tell() in File::eof() - Fix tests & performance 2020-04-24 07:42:23 +02:00
Luis Diaz Mas
2732c10a86 Add unit tests for FileIO: canSeekBeyondEOF fails 2020-04-24 07:25:19 +02:00
Robin Mills
2034c41957 Fix #1164 (unit test failures on various platforms) 2020-04-20 12:57:31 +01:00
Luis Diaz Mas
48d68c8271 Fix sign-compare warnings & use gtestwrapper.h 2019-07-28 12:43:40 +02:00
Kevin Backhouse
edb4bf78ca Add bounds check to MemIo::seek(). (#944)
- Regression test for missing bounds check in MemIo::seek()
- Add bounds check to MemIo::seek(), this fixes CVE-2019-13504

(cherry picked from commit bd0afe0390439b2c424d881c8c6eb0c5624e31d9)

Additional fixes for 0.27:
- Add fix for the linux variant of MemIo::seek
- Change type of variable from unsigned to signed
2019-07-28 12:43:06 +02:00
Luis Díaz Más
0058dd1099 Use compile definitions only if they are available 2019-07-17 22:34:15 +02:00
Robin Mills
0c282f8373 Looking better all the time, Gentlemen. I believe the only changes between the patches are in unitTests/CMakeLists.txt.
This build passes the test suite and jens.cpp on MacOS-X.  I'll submit and see what the CI has to say.  With the changes only relating to unitTests (which I didn't run on FreeBSD), we should not have disturbed Linux/FreeBSD/jens.cpp.
2019-07-17 22:30:18 +02:00
Luis Díaz Más
4ed5bdc78b CMake: Supress MSVC PDB warnings 2018-11-27 18:20:20 +01:00
Luis Díaz Más
4d47b08a16 CMake: Move gtest finding to unitTests folder 2018-11-14 19:53:59 +01:00
Luis Díaz Más
7485bb54d7 Create function getProcessPath and add unit test for it
Debugging: Relative and Absolute path alternatives
2018-11-11 12:27:26 +01:00
Luis Díaz Más
244f00bf3a CMake: Do not add conan global compiler flags
+ Add conan-gtest compile definitions for the unit_tests target
2018-11-06 08:02:33 +01:00
Dan Čermák
fec6535ae8 [binaryToString] Reimplement using Slices
- reimplement binaryToString:
  - it now accepts a Slice and nothing else
  - it does not return a std::string but instead a proxy object that implements
    operator<< (this should be more efficient, as we do not need to touch the
    heap in most cases)
- addapt unit tests
- replace all occurences with the new API
2018-10-11 14:06:16 +02:00
Dan Čermák
30787e6f1e [binaryToString] Add unit tests 2018-10-11 14:06:16 +02:00
Dan Čermák
98bca06592 Add Slices: views of STL containers & C-arrays and add unit tests
This commit adds a very simple implementation of std::span but with
mandatory range checks and only the most essential functionality.
2018-10-11 14:06:16 +02:00
Luis Díaz Más
c5d46ac440 Expect std::exception instead of Exiv2::Error 2018-09-14 13:20:08 +02:00
Luis Díaz Más
b9f913d5af Move implementation to .cpp files. Fix more issues related to visibility settings 2018-09-14 13:20:08 +02:00
Luis Díaz Más
e3f975137c Use STATIC_DEFINE to solve issues with OBJECT library 2018-09-14 13:20:08 +02:00
Luis Díaz Más
6ba4081f95 Use CMake-GenerateExportHeader to generate a macro to export symbols
- Delete the hardcoded macros in config.h taking care of that.
2018-09-14 13:20:08 +02:00
Luis Díaz Más
94375034e6 Fix -Wsign-compare issues 2018-09-12 19:22:31 +02:00
Luis Díaz Más
24be5a514e [Appveyor] Build exiv2 with Visual Studio 2012 and 2013
- Integration tests had to be disabled with 2012 and 2013. There were
few (4) tests failing for these cases.
- Only bring libiconv with conan when a windows subsystem is detected.
- libiconv can be enabled now with a conan option.
- Use infinity instead of INFINITY
- Use conan_basic_setup(). Fixes a problem with gtest is VS2012
- call vcvarsall.bat for each compiler version so that nmake can be
found.
2018-09-10 10:31:00 +02:00
Luis Díaz Más
4161099b91 Fix warnings reported by MSVC 2018-09-10 10:31:00 +02:00
Luis Diaz Mas
0cf7d4fad8 Add unit tests for the TimeValue class 2018-09-10 08:40:55 +02:00
Dan Čermák
e705f1ef5b Add unit test for floatToRationalCast 2018-08-27 17:21:16 +02:00
Dan Čermák
2dacb19933 [safe_op] Add Safe::abs(), calculates absoulte value without UB
Add a drop-in replacement for std::abs which never produces
negative values and thereby never invokes undefined behavior.
2018-08-27 17:21:16 +02:00
Luis Diaz Mas
eb306fdbae Substitute malloc/free with new/delete 2018-08-27 13:24:47 +02:00
Luis Diaz Mas
669ab49c43 New tests for Uri class 2018-08-27 13:24:47 +02:00
Luis Diaz Mas
ca290d870f New tests for base64 encode & decode 2018-08-27 13:24:47 +02:00
Luis Diaz Mas
5d76036af5 Add more tests for decoding and encoding URL functions 2018-08-27 13:24:47 +02:00
Luis Diaz Mas
0bc6fbcea7 Add stdexcept header in unit test files 2018-08-26 15:46:47 +02:00
Luis Diaz Mas
ad004498a2 Cleanup 'comparison between signed & unsigned integer' warning 2018-08-24 16:45:52 +02:00
Dan Čermák
088986e5fa [unit_tests] Remove a memory leak from test_XmpKey.cpp
XmpProperties::registerNs allocates strings on the heap that must be freed
manually via XmpProperties::unregisterNs().
=> do this in TearDownTestCase()
2018-05-27 12:11:30 +02:00
Dan Čermák
dd52b1a832 Add helper_functions.cpp/hpp & unit tests
- add function which constructs a new std::string from a potentially not null
  terminated char *
- add unit tests
2018-05-27 09:38:27 +02:00
Luis Diaz Mas
4713336c93 Add more unit tests for TiffHeader 2018-05-26 18:19:40 +02:00
Luis Diaz Mas
59493d1edc Fix bug in Cr2Header::read 2018-05-26 18:19:40 +02:00
Luis Diaz Mas
b1c34ee11f Add unit tests for Cr2Header 2018-05-26 18:19:40 +02:00
Luis Díaz Más
794fea2639 Replaced way to check buffer after calling DateValue::copy 2018-04-08 10:10:12 +02:00
Luis Diaz Mas
bf0b7affaa Add few basic unit tests for DateValue
I feel more confortable doing changes in a code that I do not know by
having some unit tests around it. These characterisation tests will
also be useful as documentation.
2018-04-08 10:10:12 +02:00
Luis Díaz Más
b545605d25 Add characterisation tests for XmpKey 2018-04-07 20:04:22 +02:00
Dan Čermák
8b7941b733 [cmake] Add EXTRA_COMPILE_FLAGS to samples & unitTests
Add the additional compiler flags added by -DEXIV2_TEAM_EXTRA_WARNINGS=ON to
the targets in samples/ & unitTests/
This fixes #204
2018-03-29 13:17:24 +02:00
Dan Čermák
842dd4cecc Add a unit tests for enforce() 2018-03-25 23:25:23 +02:00
Dan Čermák
06ec1e6984 [safe_op] Refactored addition overflow checks using functions only
- templated structs were not required, SFINAE works for functions too
  => use instead, removes some unneeded code
- fix non-usage of builtins with clang
- adjust unit tests
2018-03-09 00:14:24 +01:00