WillAyd opened a new issue, #47434:
URL: https://github.com/apache/arrow/issues/47434
### Describe the bug, including details regarding any error messages,
version, and platform.
With a clean build of Arrow:
```sh
$ cmake -S . -B build -G Ninja -DARROW_COMPUTE=ON -DARROW_BUILD_TESTS=ON
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
$ cmake --build build
```
The default ctest invocation seems to show everything as passing:
```sh
$ cd build
$ ctest
```
However, with verbose inspection, you will see that many tests are not
actually running:
```sh
$ 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-gtest-util-test (which fails with the issue shown in
https://github.com/apache/arrow/pull/47282/files#r2270999922),
arrow-compute-internals-test, arrow-json-integration-test, arrow-utility-test,
and arrow-compute-scalar-cast-test. The common pattern for AFAICT for these is
that they define their own main function. I also noticed that adding the
following main function:
```cpp
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++
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]