Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion delta/test/test_files/delta.test
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,12 @@ Alice|[52,24,31]|True|2020-05-17 00:00:00|{age: 25, gender: female}
Bob|[15,66,72]|False|2011-03-22 00:00:00|{age: 22, gender: male}
Carol|[29,24,11]||2001-04-15 00:00:00|{age: 33, gender: female}

# Core binder passes the source through verbatim for extension-provided formats, so the
# error for a non-existent table path now comes from the Delta scan itself.
-LOG InvalidDeltaPath
-STATEMENT LOAD FROM '${LBUG_ROOT_DIRECTORY}/student'(file_format='delta') RETURN *
---- error
Binder exception: No file found that matches the pattern: ${LBUG_ROOT_DIRECTORY}/student.
IO Error: Hit DeltaKernel FFI error (from: While trying to read from delta table: '${LBUG_ROOT_DIRECTORY}/student'): Hit error: 2 (Generic) with message (Not a Delta table: {})

-LOG InvalidDeltaTable
-STATEMENT LOAD FROM '${LBUG_ROOT_DIRECTORY}/src' (file_format='delta') RETURN *
Expand Down
12 changes: 12 additions & 0 deletions httpfs/test/httpfs_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,18 @@ class LocalHttpServer {
}
return httplib::Server::HandlerResponse::Unhandled;
});
// The vendored httplib enables SO_REUSEPORT by default on Linux, which
// allows multiple sockets to bind the same port and load-balances
// connections between them. When ctest runs these tests in parallel,
// two processes' servers then share a port and requests land on the
// wrong server, making request counts flaky (observed as headCount()==0
// under `ctest -j10`). Restrict to SO_REUSEADDR so a second bind fails
// and the loop below picks a genuinely free port instead.
server_.set_socket_options([](socket_t sock) {
int yes = 1;
setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast<const char*>(&yes),
sizeof(yes));
});
for (int port = 18123; port < 18153; ++port) {
if (server_.bind_to_port("127.0.0.1", port)) {
port_ = port;
Expand Down
6 changes: 4 additions & 2 deletions iceberg/test/test_files/iceberg.test
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,12 @@ Yale|6|190.700000
#Bob|[15,66,72]|False|2011-03-22 00:00:00|{age: 22, gender: male}
#Carol|[29,24,11]||2001-04-15 00:00:00|{age: 33, gender: female}

# Core binder passes the source through verbatim for extension-provided formats, so the
# error for a non-existent table path now comes from the Iceberg scan itself.
-LOG InvalidIcebergPath
-STATEMENT LOAD FROM '${LBUG_ROOT_DIRECTORY}/student' (file_format='iceberg', allow_moved_paths=true) RETURN *
---- error
Binder exception: No file found that matches the pattern: ${LBUG_ROOT_DIRECTORY}/student.
---- error(regex)
IO Error: Cannot open file ".*": (The system cannot find the path specified.*|No such file or directory)

-LOG InvalidIcebergTable
-STATEMENT LOAD FROM '${LBUG_ROOT_DIRECTORY}/src' (file_format='iceberg', allow_moved_paths=true) RETURN *
Expand Down
Loading