flattests fails if out-of-source build directory is used
Tatsh opened this issue · comments
This is on Linux x86-64, 2.0.6 release. 2.0.0 does not have this issue.
cd flatbuffers mkdir build cmake -G Ninja .. ninja ninja test
0/1] Running tests... Test project /home/tatsh/dev/flatbuffers/build Start 1: flattests 1/1 Test #1: flattests ........................Subprocess aborted***Exception: 0.05 sec 0% tests passed, 1 tests failed out of 1 Total Test time (real) = 0.05 sec The following tests FAILED: 1 - flattests (Subprocess aborted) Errors while running CTest Output from these tests are in: /home/tatsh/dev/flatbuffers/build/Testing/Temporary/LastTest.log Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely. FAILED: CMakeFiles/test.util cd /home/tatsh/dev/flatbuffers/build && /usr/bin/ctest --force-new-ctest-process ninja: build stopped: subcommand failed.
The paths that are set in various fields such as
declaration_file are relative, and the tests are not expecting this.
EXPECTED: "//../../tests/monster_test.fbs" VALUE: "//monster_test.fbs" TEST FAILED: /home/tatsh/dev/flatbuffers/tests/test.cpp:932, 'root_table->declaration_file()->c_str()' != '"//monster_test.fbs"' in flattests: /home/tatsh/dev/flatbuffers/tests/test_assert.cpp:24: void TestFail(const char*, const char*, const char*, const char*, int, const char*): Assertion `0' failed. Aborted (core dumped)
Yeah, our out-of-source build setup is not good at the moment. I would welcome any PRs to fix this.