-
Notifications
You must be signed in to change notification settings - Fork 4k
Closed
Description
Describe the bug, including details regarding any error messages, version, and platform.
With a clean build of Arrow:
$ cmake -S . -B build -G Ninja -DARROW_COMPUTE=ON -DARROW_BUILD_TESTS=ON
$ cmake --build buildThe default ctest invocation seems to show everything as passing:
$ cd build
$ ctestHowever, with verbose inspection, you will see that many tests are not actually running:
$ ctest --verbose
UpdateCTestConfiguration from :C:/Users/Will/clones/arrow/cpp/build/DartConfiguration.tcl
UpdateCTestConfiguration from :C:/Users/Will/clones/arrow/cpp/build/DartConfiguration.tcl
Test project C:/Users/Will/clones/arrow/cpp/build
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1
Start 1: arrow-array-test
1: Test command: C:\Users\Will\clones\arrow\cpp\build\debug\arrow-array-test.exe
1: Working Directory: C:/Users/Will/clones/arrow/cpp/build/src/arrow
1: Test timeout computed to be: 10000000
1: Running main() from C:\Users\Will\clones\arrow\cpp\build\_deps\googletest-src\googletest\src\gtest_main.cc
1: [==========] Running 0 tests from 0 test suites.
1: [==========] 0 tests from 0 test suites ran. (0 ms total)
1: [ PASSED ] 0 tests.
1/49 Test #1: arrow-array-test ...................... Passed 0.02 sec
test 2
Start 2: arrow-buffer-test
2: Test command: C:\Users\Will\clones\arrow\cpp\build\debug\arrow-buffer-test.exe
2: Working Directory: C:/Users/Will/clones/arrow/cpp/build/src/arrow
2: Test timeout computed to be: 10000000
2: Running main() from C:\Users\Will\clones\arrow\cpp\build\_deps\googletest-src\googletest\src\gtest_main.cc
2: [==========] Running 0 tests from 0 test suites.
2: [==========] 0 tests from 0 test suites ran. (0 ms total)
2: [ PASSED ] 0 tests.
2/49 Test #2: arrow-buffer-test ..................... Passed 0.01 sec
test 3
Start 3: arrow-extension-type-test
3: Test command: C:\Users\Will\clones\arrow\cpp\build\debug\arrow-extension-type-test.exe
3: Working Directory: C:/Users/Will/clones/arrow/cpp/build/src/arrow
3: Test timeout computed to be: 10000000
3: Running main() from C:\Users\Will\clones\arrow\cpp\build\_deps\googletest-src\googletest\src\gtest_main.cc
3: [==========] Running 0 tests from 0 test suites.
3: [==========] 0 tests from 0 test suites ran. (0 ms total)
3: [ PASSED ] 0 tests.
3/49 Test #3: arrow-extension-type-test ............. Passed 0.01 sec
test 4
Start 4: arrow-misc-test
4: Test command: C:\Users\Will\clones\arrow\cpp\build\debug\arrow-misc-test.exe
4: Working Directory: C:/Users/Will/clones/arrow/cpp/build/src/arrow
4: Test timeout computed to be: 10000000
4: Running main() from C:\Users\Will\clones\arrow\cpp\build\_deps\googletest-src\googletest\src\gtest_main.cc
4: [==========] Running 0 tests from 0 test suites.
4: [==========] 0 tests from 0 test suites ran. (0 ms total)
4: [ PASSED ] 0 tests.
...From a quick glance, the only test executables actually running are arrow-compute-internals-test, arrow-json-integration-test, arrow-utility-test, and arrow-compute-scalar-cast-test. The common pattern for these is that they define their own main function. I also noticed that adding the following main function:
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}To gtest_util_test.cc allows you to run the tests in the arrow-gtest-util-test executable
Component(s)
C++