45 Commits (89e66ffd37893100a7bebbd6e4d23d2cc9d901b1)

Author SHA1 Message Date
Luis Díaz Más 405f4b5f1b Remove Util::dirname and finally the util files 3 years ago
Luis Díaz Más a725d22ea5 add characterisation tests for utils 3 years ago
Luis Diaz b7d5c7e22a Link against stdc++fs on Linux when it is needed 3 years ago
Luis Díaz Más c499d02dbf Add characterisation test for ImageFactory::create(type)
- Split test identifying which Images can be created and which not
- Add tests for the ImageFactory::create(type, filePath)
3 years ago
Luis Díaz Más d8fcbc4562 Add new tests for Iptc classes 3 years ago
Luis Díaz Más 071e73fa4d Add many tests for datasets 3 years ago
Luis Diaz edf39e00dd Add new BMP tests 3 years ago
Luis Diaz c19425f6a4 Add unit tests for PngChunk::keyTXTChunk 3 years ago
Robin Mills f3393f8308 Fixes following review. 4 years ago
Luis Díaz Más 4c5c8538f5 Ignore missing PDBs 4 years ago
Luis Díaz Más 6c2141959a conan - change generator to be able to use latest expat version 4 years ago
Luis Diaz Mas e87424b5e0 Add CTest support 4 years ago
Luis Díaz Más 5a8511545f unitTests - use internal library object instead of recompiling sources 4 years ago
Luis Díaz Más db4ece70cc gtest - remove wrapper which is not needed anymore 4 years ago
Luis Díaz Más 6c0059b5a0 cmake: Treat xmpsdk headers as system ones
This is done so that when we use EXIV2_TEAM_EXTRA_WARNINGS we do not get
warnings about XMPSDK (we do not want to deal with those)
4 years ago
Luis Díaz Más e9fe24639a cmake - Modern use of consuming gtest 4 years ago
postscript-dev 207a0d65c9 Change LangAltValue::read() tests to unitTests
Removed previous Python tests.
4 years ago
clanmills 63a13e8620 Adding option -DEXIV2_BUILD_USE_C++11 5 years ago
Robin Mills df04671976 Enforce cxx_std_98 in samples, unit_tests, and exiv2 application (to eliminate 2305 GCC unique_ptr warnings) 5 years ago
Luis Diaz Mas 2732c10a86 Add unit tests for FileIO: canSeekBeyondEOF fails 5 years ago
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
6 years ago
Luis Díaz Más 0058dd1099 Use compile definitions only if they are available 6 years ago
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.
6 years ago
Luis Díaz Más 4ed5bdc78b CMake: Supress MSVC PDB warnings 7 years ago
Luis Díaz Más 4d47b08a16 CMake: Move gtest finding to unitTests folder 7 years ago
Luis Díaz Más 244f00bf3a CMake: Do not add conan global compiler flags
+ Add conan-gtest compile definitions for the unit_tests target
7 years ago
Dan Čermák 30787e6f1e [binaryToString] Add unit tests 7 years ago
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.
7 years ago
Luis Díaz Más b9f913d5af Move implementation to .cpp files. Fix more issues related to visibility settings 7 years ago
Luis Díaz Más e3f975137c Use STATIC_DEFINE to solve issues with OBJECT library 7 years ago
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.
7 years ago
Luis Diaz Mas 0cf7d4fad8 Add unit tests for the TimeValue class 7 years ago
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
7 years ago
Luis Diaz Mas b1c34ee11f Add unit tests for Cr2Header 7 years ago
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.
7 years ago
Luis Díaz Más b545605d25 Add characterisation tests for XmpKey 7 years ago
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
7 years ago
Dan Čermák 842dd4cecc Add a unit tests for enforce() 7 years ago
Dan Čermák 3b3283e37d Added unit tests for new overflow checking addition functions 8 years ago
Luis Diaz Mas ec09c98adb add few characterisation tests for exiv2::strError 8 years ago
Luis Díaz Más cc7ff4122d Export all symbols when running unit tests. Add dummy test for private code.
I tried to use directly the private OBJECT library (exiv2lib_int) in the unit_tests targets, but the private objects have dependencies on the public symbols (circular dependency)
and therefore it is impossible to test the private code with that approach with the current design of the library.

Starting from CMake 3.3 we can use the variable CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS to export all the symbols of a shared library:
https://blog.kitware.com/create-dlls-on-windows-without-declspec-using-new-cmake-export-all-feature/

Even having the opportunity to use this variable (that will be only used when EXIV2_BUILD_UNIT_TESTS is enabled) the previous commits are still valid.
It is interesting to clearly differentiate between the public and private code of the library. Enforcing this, make us think twice before putting code in the public
part of the library.
8 years ago
Luis Díaz Más cfe614d8c3 Provide a gtestWrapper header to skip useless warnings 8 years ago
Luis Diaz Mas 2e8376dccc Do not use Gtest imported target (Not available in minimum CMake version required) 8 years ago
Luis Díaz Más 2bad771834 (CMake) Add GTEST_LINKED_AS_SHARED_LIBRARY definition 8 years ago
Luis Díaz Más 26189ad287 (CMake) Add a new CMake option to enable the new Unit Tests 8 years ago