Commit Graph

5361 Commits

Author SHA1 Message Date
Luis Diaz Mas
d09c4bb7cd Fix arithmetic operation overflow 2017-12-21 16:33:14 +01:00
Luis Diaz Mas
d1b4df5533 Show the Appveyor badge corresponding to the master branch 2017-12-19 15:53:11 +01:00
D4N
2c1d5288c2
Merge pull request #198 from Exiv2/fix_errno_failure_Fedora
Reset errno to 0 before unit test probing strerror(errno)
2017-12-18 09:46:58 +01:00
Dan Čermák
1de633ad37 Reset errno to 0 before unit test probing strerror(errno)
errno can be set to a non-zero value from a previously failed system
call, it is not reset by successful ones
=> have to do that manually or the unit test fails because it detects
   an "outdated" error message
2017-12-17 23:46:10 +01:00
D4N
eec3f9a0c5
Merge pull request #194 from Exiv2/integer_overflow_checks
Add Integer addition overflow checks
2017-12-17 23:45:29 +01:00
Luis Díaz Más
a1023c39ab Add safe_op.hpp to LIBEXIV2_PRIVATE_HDR (to be shown in IDEs) 2017-12-17 20:35:07 +01:00
Dan Čermák
7c00e9128d Fix compilation error with gcc < 5
- overflow builtins were added with gcc 5.0
2017-12-17 20:35:07 +01:00
Dan Čermák
3b3283e37d Added unit tests for new overflow checking addition functions 2017-12-17 20:35:07 +01:00
Dan Čermák
ca7c699aa1 Added overflow safe addition function 2017-12-17 20:35:07 +01:00
Luis Díaz Más
39377b8c02 Fix strError tests on Mac 2017-12-17 18:26:12 +01:00
Luis Díaz Más
9b463708a4 Test runner return the gtest return value 2017-12-17 18:26:12 +01:00
Luis Díaz Más
3cf3635ae2 [travis] Fix unit tests on Mac.
- Use libc++ instead of libstdc++ in the conan profile
- Add CMAKE_OPTIONS for Mac
2017-12-17 18:26:12 +01:00
Luis Díaz Más
6d41884245 [AppVeyor] Re-enable unit tests and compile project in release mode
The problem was that we were not indicating the CMAKE_BUILD_TYPE when
calling CMake. It is important to set that CMake variable when using
the Ninja generator.
2017-12-17 18:26:12 +01:00
Luis Díaz Más
a1213c1d90 Use the DEBUG compiler definition in Debug mode 2017-12-15 10:08:01 +01:00
Luis Díaz Más
74a5c5f770 [travis] Fix mac osx jobs
- Specify concrete ubuntu and mac versions
- Use latest conan version
- Fix the profiles for linux and mac
- Use new version of expat (avilable in conan-center)
- Install urllib3 as suggested in python guidelines
- Use virtualenv with python3
2017-12-13 15:12:20 +01:00
Luis Díaz Más
3ccc64d713 [travis] Re-enable osx 2017-12-13 15:12:20 +01:00
Robin Mills
8f5b795eaa Fixes to autotools build to respect mn_int.cpp files (#186)
* Fixes to autotools build to respect mn_int.cpp files

* Changes following Luis' code review.
2017-12-11 16:48:07 +01:00
D4N
6b29822670
Merge pull request #169 from D4N/reproducer_redmine_1305
Added reproducer for redmine issue 1305
2017-12-07 09:17:23 +01:00
Dan Čermák
42090c1625 Updated bugfixes-test.out 2017-12-07 09:09:11 +01:00
Dan Čermák
305d22136c Added reproducer for issue 1305 on exiv2 redmine
http://dev.exiv2.org/issues/1305
2017-12-07 09:09:10 +01:00
Luis Díaz Más
f36bea3801 exiv2::getEnv throws std::out_of_range on unexpected EnVar
This change define explicitly the behavior that exiv2::getEnv should have
on response to unexpected inputs.

There are some other minor changes:

- Use _putenv_s for the unit tests on Windows
- Add todo comment
- Remove deprecated note about freeing memory
2017-12-06 17:29:05 +01:00
Luis Díaz Más
8dc3c1f0a0 Replace malloc/free by new/delete. Use const char* for input arg 2017-12-06 17:29:05 +01:00
Luis Díaz Más
bfe057ca20 Auto-formatting done by the IDE while touching code in the previous commits 2017-12-06 17:29:05 +01:00
Luis Díaz Más
8b049922d7 Change exiv2::urlencode signature to return std::string
The goal of this change is to remove the responsibility from the client code to
free the memory of the returned string.
2017-12-06 17:29:05 +01:00
Luis Díaz Más
fd5f131f4e Add characterisation test for exiv2::urlencode 2017-12-06 17:29:05 +01:00
Luis Díaz Más
171c7970f9 Add characterization tests for exiv2::getEnv 2017-12-06 17:29:05 +01:00
Luis Diaz Mas
1657c7e53d Ignore build* folders and project file generated by QtCreator 2017-12-06 17:29:05 +01:00
Luis Diaz Mas
ec09c98adb add few characterisation tests for exiv2::strError 2017-12-06 17:29:05 +01:00
Luis Díaz Más
3984a197b3 Use specific conan version 2017-12-05 07:02:15 +01:00
Luis Díaz Más
76668a03b1 Disable Mac builds on travis 2017-12-05 07:02:15 +01:00
Luis Díaz Más
19136d508a Changes proposed by tbeu (To be squased before merging) 2017-12-03 17:00:04 +01:00
Luis Díaz Más
977c5f7a63 Add CONTRIBUTING.md file with main guidelines for contributions 2017-12-03 17:00:04 +01:00
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.
2017-11-28 17:36:08 +01:00
Luis Díaz Más
8c010c903b Compile private part as an OBJECT library (CMake concept) 2017-11-28 17:36:08 +01:00
Luis Díaz Más
d3748152a7 add _int suffix to all the internal files 2017-11-28 17:36:08 +01:00
Luis Díaz Más
44fc9ec528 Move Cr2Header to a new .cpp file 2017-11-28 17:36:08 +01:00
Jakub Wilk
11a910561e Fix typos in Polish translation 2017-11-27 22:13:21 +01:00
D4N
558acfe982
Merge pull request #179 from D4N/testSuiteFixAgain
[WIP] Make the testsuite really fail when tests don't pass
2017-11-26 18:29:32 +01:00
Dan Čermák
307138c12c reportTest function returns 3 on failure
the Makefile only aborts if the return value is > 2
2017-11-26 12:14:47 +01:00
Luis Díaz Más
f0ee2b638c
Merge pull request #173 from piponazo/fixGtestWarningsOnWindows
Provide a gtestWrapper header to skip useless warnings
2017-11-25 09:28:03 +01:00
Luis Díaz Más
cfe614d8c3 Provide a gtestWrapper header to skip useless warnings 2017-11-25 08:33:15 +01:00
Luis Díaz Más
4c4f91e407
Merge pull request #152 from piponazo/clangFormat
Add clang-format file
2017-11-20 21:32:11 +01:00
Luis Diaz Mas
d48abab718 Apply clang-format to some lines of the file canonmn.cpp 2017-11-19 18:52:33 +01:00
Luis Diaz Mas
d0a1c6d19d Apply clang-format to bmpimage.cpp 2017-11-19 18:52:23 +01:00
Luis Diaz Mas
6d9e0b5b3e Add .clang-format file 2017-11-19 18:52:19 +01:00
Luis Díaz Más
5d13356055
Merge pull request #157 from tbeu/legacy-svn
Remove obsolete SVN revision and EXIV2_RCSID
2017-11-19 18:06:12 +01:00
tbeu
2efc2e79da Remove obsolete id 2017-11-19 11:17:12 +01:00
tbeu
5b5987a596 Remove obsolete EXIV2_RCSID 2017-11-19 11:17:12 +01:00
tbeu
5df8b01b77 Remove obsolete svn revision 2017-11-19 11:17:11 +01:00
D4N
f45fb51f51
Merge pull request #167 from D4N/testsuite-hotfix
Testsuite fails with non-zero exit code if a test does not pass
2017-11-19 11:08:47 +01:00