Skip to content

curl: use libuv if --test-event is provided - #14298

Closed
bagder wants to merge 1 commit into
masterfrom
bagder/libuv
Closed

bagder wants to merge 1 commit into
masterfrom
bagder/libuv

Conversation

@bagder

@bagder bagder commented Jul 29, 2024 •

Copy link
Copy Markdown
Member

Performing event-based means that the curl tool uses the curl_multi_socket_action() API call to drive the transfer(s), instead of the otherwise "normal" functions it would use. This allows us to test drive the socket_action API. Transfers done this way should work exactly the same as with the non-event based API.

To be able to use --test-event together with --parallel, curl requires libuv to be present and enabled in the build: configure --enable-libuv

add --with-libuv to configure to (optionally) use it in debug-builds to
drive the event-based API

Use curl_multi_socket_action() and friends to drive parallel transfers.

tests/README has brief documentation for this

Closes #14298
@bagder bagder closed this in 38d334e Aug 5, 2024
@bagder
bagder deleted the bagder/libuv branch August 5, 2024 07:13
vszakats added a commit to vszakats/curl that referenced this pull request Aug 5, 2024
vszakats added a commit that referenced this pull request Aug 6, 2024
Also use an `#undef` hack for CMake Unity builds to avoid the previously
included `memdebug.h` header messing up the declarations pulled in by
`uv.h`:
```
In file included from ~/curl/bld/src/CMakeFiles/curl.dir/Unity/unity_0_c.c:88:
In file included from ~/curl/src/tool_operate.c:54:
In file included from /usr/local/Cellar/libuv/1.48.0/include/uv.h:71:
In file included from /usr/local/Cellar/libuv/1.48.0/include/uv/unix.h:34:
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/netdb.h:269:7: error: expected parameter declarator
void            freeaddrinfo(struct addrinfo *);
                ^
~/curl/lib/memdebug.h:167:31: note: expanded from macro 'freeaddrinfo'
  curl_dbg_freeaddrinfo(data, __LINE__, __FILE__)
                              ^
```

Follow-up to 38d334e #14298
Closes #14399
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

1 participant