FileFormatTest: Provide data to MOC for big endian tests#2479
FileFormatTest: Provide data to MOC for big endian tests#2479pkturner wants to merge 1 commit intoOpenOrienteering:masterfrom
Conversation
The ocdTextSymbolTest and ocdAreaSymbolTests had been created with 0 rows on big endian systems, which was causing a fatal error in QTest::fetchData.
|
Thank you @pkturner. |
That's because NetCDF is not built for Z, therefore GDAL does not build. As a result, anything depending on GDAL does not build on Z either. I'm looking into a fix. I've looked if other distros, .deb or .rpm based, can build Mapper on s390x, but all seem to be broken. Tumbleweed appears to be the easiest to fix. As a side note, it's reportedly possible to gain access to System Z through LinuxONE project. I haven't tried LinuxONE myself yet, but if someone is interested in first-hand experience with that platform, it might be a way. Spoiler alert -- over SSH it looks like any other Linux instance. |
|
GDAL builds now for s390x in my staging. I've created a custom build of pkturner's submission in https://build.opensuse.org/package/show/home:LPechacek:oomapper/openorienteering-mapper-master (updated _service file to point to his Git repo). The test results look better now but there are still glitches: |
|
Thank you @lpechacek for testing my PR. Those glitches were present in issue #2473 and escaped my notice. I will work on a change to make them EXPECTed FAILs. |
|
Maybe it is a good time to revise the organic growth of this file. Would it make sense to separate the set of pure OCD tests (to be exluded from compilation) from the set of tests with some OCD data rows (to be marked "expected fail")? It should be easy to add new tests without accidentally breaking big endian builds even if this configuration is not run in CI. |
This addresses #2473 (file_format_t fails on s390x). The
ocdTextSymbolTestandocdAreaSymbolTestshad been created with 0 rows on big endian systems, which was causing a fatal error inQTest::fetchData.The
understandsTesttest already had a technique for skipping OCD test cases on big endian systems, so I applied the same in theocdTextSymbolTestandocdAreaSymbolTests, after removing the#ifdefs which were causing failure.I don't have a big endian system at my disposal, so I forced the definition of the
MAPPER_BIG_ENDIANmacro, first to duplicate the fatal error, then to validate the code change.