From bce97760ac4ff6ed3f420b493e2d7475e379e4a3 Mon Sep 17 00:00:00 2001 From: "Alina (Xi) Li" <96995091+alinaliBQ@users.noreply.github.com> Date: Mon, 26 Jan 2026 16:23:15 -0800 Subject: [PATCH 1/4] Run ODBC tests in workflow Run test executables once without re-runs and without using test script. This way the segmentation fault is not caught. --- .github/workflows/cpp_extra.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cpp_extra.yml b/.github/workflows/cpp_extra.yml index 68f47926ad9..06340e905ed 100644 --- a/.github/workflows/cpp_extra.yml +++ b/.github/workflows/cpp_extra.yml @@ -434,10 +434,17 @@ jobs: shell: cmd run: | call "cpp\src\arrow\flight\sql\odbc\tests\install_odbc.cmd" ${{ github.workspace }}\build\cpp\%ARROW_BUILD_TYPE%\arrow_flight_sql_odbc.dll - # GH-48270 TODO: Resolve segementation fault during Arrow library unload - # GH-48269 TODO: Enable Flight & Flight SQL testing in MSVC CI + # GH-48270 TODO: Resolve segementation fault during Arrow library unload, segementation fault is caught with `ci/scripts/cpp_test.sh` + # GH-48269 TODO: Enable Flight & Flight SQL testing in MSVC CI and run tests with `ci/scripts/cpp_test.sh` instead # GH-48547 TODO: enable ODBC tests after GH-48270 and GH-48269 are resolved. - + - name: Run ODBC Unit Tests + shell: cmd + run: | + build\cpp\%ARROW_BUILD_TYPE%\arrow-odbc-spi-impl-test.exe + - name: Run ODBC Driver Tests + shell: cmd + run: | + build\cpp\%ARROW_BUILD_TYPE%\arrow-flight-sql-odbc-test.exe - name: Install WiX Toolset shell: pwsh run: | From da8c9f2e693258eada71c119e0ce02563a51c2b0 Mon Sep 17 00:00:00 2001 From: "Alina (Xi) Li" Date: Wed, 28 Jan 2026 10:24:08 -0800 Subject: [PATCH 2/4] Attempt to enable `cpp_test.sh` Attempt to run `cpp_test.sh` to run tests from Apache Arrow ODBC and the Arrow libraries used by ODBC. Since ODBC test doesn't fail with segmentation fault, removed TODO comment. --- .github/workflows/cpp_extra.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cpp_extra.yml b/.github/workflows/cpp_extra.yml index 06340e905ed..d778b6e2a2f 100644 --- a/.github/workflows/cpp_extra.yml +++ b/.github/workflows/cpp_extra.yml @@ -434,7 +434,6 @@ jobs: shell: cmd run: | call "cpp\src\arrow\flight\sql\odbc\tests\install_odbc.cmd" ${{ github.workspace }}\build\cpp\%ARROW_BUILD_TYPE%\arrow_flight_sql_odbc.dll - # GH-48270 TODO: Resolve segementation fault during Arrow library unload, segementation fault is caught with `ci/scripts/cpp_test.sh` # GH-48269 TODO: Enable Flight & Flight SQL testing in MSVC CI and run tests with `ci/scripts/cpp_test.sh` instead # GH-48547 TODO: enable ODBC tests after GH-48270 and GH-48269 are resolved. - name: Run ODBC Unit Tests @@ -445,6 +444,15 @@ jobs: shell: cmd run: | build\cpp\%ARROW_BUILD_TYPE%\arrow-flight-sql-odbc-test.exe + - name: Test + shell: cmd + run: | + set VCPKG_ROOT_KEEP=%VCPKG_ROOT% + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 + set VCPKG_ROOT=%VCPKG_ROOT_KEEP% + # Convert VCPKG Windows path to MSYS path + for /f "usebackq delims=" %%I in (`bash -c "cygpath -u \"$VCPKG_ROOT_KEEP\""` ) do set VCPKG_ROOT=%%I + bash -c "ci/scripts/cpp_test.sh $(pwd) $(pwd)/build" - name: Install WiX Toolset shell: pwsh run: | From a895e287736c72e0f129fc2f3a9ff1bb87dab9d6 Mon Sep 17 00:00:00 2001 From: "Alina (Xi) Li" Date: Wed, 28 Jan 2026 11:33:37 -0800 Subject: [PATCH 3/4] Disable `find_package(Arrow)` check Created https://github.com/apache/arrow/issues/49050 to enable it --- .github/workflows/cpp_extra.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/cpp_extra.yml b/.github/workflows/cpp_extra.yml index d778b6e2a2f..48628a4d9af 100644 --- a/.github/workflows/cpp_extra.yml +++ b/.github/workflows/cpp_extra.yml @@ -353,6 +353,9 @@ jobs: ARROW_BUILD_TESTS: ON ARROW_BUILD_TYPE: release ARROW_DEPENDENCY_SOURCE: VCPKG + # Turn Arrow CSV off to disable `find_package(Arrow)` check on MSVC CI. + # GH-49050 TODO: enable `find_package(Arrow)` check on MSVC CI. + ARROW_CSV: OFF ARROW_FLIGHT_SQL_ODBC: ON ARROW_FLIGHT_SQL_ODBC_INSTALLER: ON ARROW_HOME: /usr From 717a71cbfdd908c0ff990b5541170de800e2332e Mon Sep 17 00:00:00 2001 From: "Alina (Xi) Li" Date: Wed, 28 Jan 2026 12:54:02 -0800 Subject: [PATCH 4/4] Remove extra ODBC test steps --- .github/workflows/cpp_extra.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.github/workflows/cpp_extra.yml b/.github/workflows/cpp_extra.yml index 48628a4d9af..cb3c398c15f 100644 --- a/.github/workflows/cpp_extra.yml +++ b/.github/workflows/cpp_extra.yml @@ -437,16 +437,6 @@ jobs: shell: cmd run: | call "cpp\src\arrow\flight\sql\odbc\tests\install_odbc.cmd" ${{ github.workspace }}\build\cpp\%ARROW_BUILD_TYPE%\arrow_flight_sql_odbc.dll - # GH-48269 TODO: Enable Flight & Flight SQL testing in MSVC CI and run tests with `ci/scripts/cpp_test.sh` instead - # GH-48547 TODO: enable ODBC tests after GH-48270 and GH-48269 are resolved. - - name: Run ODBC Unit Tests - shell: cmd - run: | - build\cpp\%ARROW_BUILD_TYPE%\arrow-odbc-spi-impl-test.exe - - name: Run ODBC Driver Tests - shell: cmd - run: | - build\cpp\%ARROW_BUILD_TYPE%\arrow-flight-sql-odbc-test.exe - name: Test shell: cmd run: |