Image checksum tests failing for variant=release and x64 arch
- Dominant language
- C++
- Stars
- 199
- Forks
- 171
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 10
Description
Adding `b2 variant=release` build jobs to AppVeyor in #46 which revealed that `test/image.cpp` is failing on **optimised x64 only** builds:
```
Checksum error in bgr121_basic_red_x (crc=2009802095 != 2137924839)
```
Here is the build https://ci.appveyor.com/project/stefanseefeld/gil/build/1.0.182-develop
This issue does not occur on Travis using GCC 5.4.1 and clang 4.2.1.
I also was not able to reproduce it locally, on Ubuntu with GCC 5.4.0.
## Failing checksum test cases
Modifying `test/image.cpp` to skip cases with missing CRC-s:
```
// Create a checksum for the given view and compare it with the reference checksum. Throw exception if different
void checksum_image_test::check_view_impl(const rgb8c_view_t& img_view, const string& name) {
+ if (_crc_map[name] == 0)
+ {
+ cerr << "no checksum, skipping " << name << endl;
+ return;
+ }
+
boost::crc_32_type checksum_acumulator;
checksum_acumulator.process_bytes(img_view.row_begin(0),img_view.size()*3);
```
allowed to iterate over the test cases in `test/gil_reference_checksums.txt` (remove failing entry, run the test, repeat until all remaining cases pass) and identify the failing ones:
```
bgr121_basic_red_x 7f6e24e7
bgr121_basic_white_x e4aaa1d3
bgr121_views_90cw 8565efd8
bgr121_views_flipped_ud 8f7f7d00
```
Contributor guide
Assessment
This issue has not been assessed yet.