Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ci alpine 32bit test #11781

Closed
wants to merge 29 commits into from
Closed

Ci alpine 32bit test #11781

wants to merge 29 commits into from

Conversation

icing
Copy link
Contributor

@icing icing commented Sep 1, 2023

No description provided.

- added test cases for various code paths
- fixed handling of blocked write when stream had
  been closed inbetween attempts
- re-enabled DEBUGASSERT on send with smaller data size
…tely sent and acked.

- transfer loop: treat keepon SEND without RECV the same when the
  connection is marked for close as for stream based transfers
- ngtcp2|quiche: clear HOLD flag on transfer when stream is closed
- ngtcp2|quiche: skip DATA_IDLE handling for transfers without
  an open stream
- servers may send a response without reading the full request
  body, e.g. when sending 30x or 40x responses
- transfer loop might be sending when the stream switches to
  closed. Failing the send then leads to transfer failure
  which is not appropriate as the response is no longer evaluated
  then.
- add code to silently discard request body data in such cases
- in debug builds, environment variables can be set to simulate a slow
  network when sending data. cf-socket.c and vquic.c support
  * CURL_DBG_SOCK_WBLOCK: percentage of send() calls that should be
    answered with a EAGAIN. TCP/UNIX sockets.
    This is chosen randomly.
  * CURL_DBG_SOCK_WPARTIAL: percentage of data that shall be written
    to the network. TCP/UNIX sockets.
    Example: 80 means a send with 1000 bytes would only send 800
    This is applied to every send.
  * CURL_DBG_QUIC_WBLOCK: percentage of send() calls that should be
    answered with EAGAIN. QUIC only.
    This is chosen randomly.

- Fixes in http2.c and cf-h2-proxy.c to make test cases pass
- tests: some tests are skipped when the env vars are set, because
  they would time out just because of the amount of requests/data
- multi.c: on debug, print the state a transfer was in when it
  switched to done, e.g. was ended/aborted.
@github-actions github-actions bot added tests CI Continuous Integration labels Sep 1, 2023
@dfandrich
Copy link
Contributor

FWIW, you can build 32-bit binaries in a regular Ubuntu container without the entire environment having to be 32-bit by installing the gcc-10-i686-linux-gnu package.

@icing
Copy link
Contributor Author

icing commented Sep 1, 2023

FWIW, you can build 32-bit binaries in a regular Ubuntu container without the entire environment having to be 32-bit by installing the gcc-10-i686-linux-gnu package

Thanks, I try that locally on my debian.

@dfandrich
Copy link
Contributor

I'm working on a 32-bit Ubuntu cross build in #11799

@icing
Copy link
Contributor Author

icing commented Sep 5, 2023

Closed, abandoned this approach.

@icing icing closed this Sep 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration tests
Development

Successfully merging this pull request may close these issues.

None yet

2 participants