This is an automated email from the ASF dual-hosted git repository.
lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git
The following commit(s) were added to refs/heads/main by this push:
new 8ac610f9d test(c/driver_manager,python/adbc_driver_manager): fix
failing tests (#3661)
8ac610f9d is described below
commit 8ac610f9dfdb4fc7bbc26adb0a511f6c1154ae73
Author: David Li <[email protected]>
AuthorDate: Mon Nov 3 11:09:33 2025 +0900
test(c/driver_manager,python/adbc_driver_manager): fix failing tests (#3661)
---
c/driver_manager/adbc_driver_manager_test.cc | 12 ++++++------
python/adbc_driver_manager/tests/test_blocking.py | 13 ++++++++++---
2 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/c/driver_manager/adbc_driver_manager_test.cc
b/c/driver_manager/adbc_driver_manager_test.cc
index e0a904d09..73aa5383f 100644
--- a/c/driver_manager/adbc_driver_manager_test.cc
+++ b/c/driver_manager/adbc_driver_manager_test.cc
@@ -1005,16 +1005,16 @@ TEST_F(DriverManifest, AllDisabled) {
ASSERT_THAT(AdbcFindLoadDriver("adbc-test-sqlite", nullptr,
ADBC_VERSION_1_1_0, 0,
nullptr, &driver, &error),
IsStatus(ADBC_STATUS_NOT_FOUND, &error));
- ASSERT_THAT(error.message,
+ EXPECT_THAT(error.message,
::testing::HasSubstr("not enabled at run time: ADBC_DRIVER_PATH
(enable "
"ADBC_LOAD_FLAG_SEARCH_ENV)"));
- ASSERT_THAT(error.message,
- ::testing::HasSubstr("not enabled at run time: user config dir
/home"));
- ASSERT_THAT(error.message,
+ EXPECT_THAT(error.message,
+ ::testing::HasSubstr("not enabled at run time: user config dir
/"));
+ EXPECT_THAT(error.message,
::testing::HasSubstr(" (enable ADBC_LOAD_FLAG_SEARCH_USER)"));
- ASSERT_THAT(error.message,
+ EXPECT_THAT(error.message,
::testing::HasSubstr("not enabled at run time: system config dir
/"));
- ASSERT_THAT(error.message,
+ EXPECT_THAT(error.message,
::testing::HasSubstr(" (enable ADBC_LOAD_FLAG_SEARCH_SYSTEM)"));
}
diff --git a/python/adbc_driver_manager/tests/test_blocking.py
b/python/adbc_driver_manager/tests/test_blocking.py
index 820104c20..b1e534a2d 100644
--- a/python/adbc_driver_manager/tests/test_blocking.py
+++ b/python/adbc_driver_manager/tests/test_blocking.py
@@ -53,6 +53,11 @@ def _blocking(event):
event.wait()
[email protected](scope="module")
+def is_freethreaded() -> bool:
+ return hasattr(sys, "_is_gil_enabled") and not getattr(sys,
"_is_gil_enabled")()
+
+
def test_sigint_fires():
# Run the thing that fires SIGINT itself as the "blocking" call
event = threading.Event()
@@ -95,7 +100,7 @@ def test_blocking_raise():
_lib._blocking_call(_blocking, (), {}, lambda: None)
-def test_cancel_raise():
+def test_cancel_raise(is_freethreaded: bool) -> None:
event = threading.Event()
def _blocking(event):
@@ -104,7 +109,7 @@ def test_cancel_raise():
# Under freethreaded python, _blocking ends before _cancel finishes
# and raises the exception, so the exception ends up getting thrown
# away; sleep a bit to prevent that
- if hasattr(sys, "_is_gil_enabled") and not getattr(sys,
"_is_gil_enabled")():
+ if is_freethreaded:
time.sleep(5)
def _cancel():
@@ -115,12 +120,14 @@ def test_cancel_raise():
_lib._blocking_call(_blocking, (event,), {}, _cancel)
-def test_both_raise():
+def test_both_raise(is_freethreaded: bool) -> None:
event = threading.Event()
def _blocking(event):
_send_sigint()
event.wait()
+ if is_freethreaded:
+ time.sleep(5)
raise ValueError("expected error 1")
def _cancel():