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

http tests using libcurl, urlparser addition, h2 push, pausing #11006

Closed
wants to merge 4 commits into from

Conversation

icing
Copy link
Contributor

@icing icing commented Apr 21, 2023

  • adding tests/http/clients with specific clients using libcurl. these clients are built when you run pytest
  • adding client h2-serverpush to test HTTP/2 PUSH feature
  • adding internal method curl_url_set_authority() to process the :authority header of a PUSH_PROMISE
  • adding test_09_02 to verify PUSH handling
  • adding client h2-download to verify parallel downloads via libcurl and with the possibility to pause/unpause transfers
  • adding test_02_21 to verify lib downloads and pausing behaviour

Based on top of the #11005 changes.

lib/urlapi.c Outdated Show resolved Hide resolved
@github-actions github-actions bot added the CI Continuous Integration label Apr 24, 2023
- Makefile support for building test specific clients in tests/http/clients
- auto-make of clients when invoking pytest
- added test_09_02 for server PUSH_PROMISEs using clients/h2-serverpush
- added test_02_21 for lib based downloads and pausing/unpausing transfers

curl url parser:
- added internal method `curl_url_set_authority()` for setting the
  authority part of a url (used for PUSH_PROMISE)

http2:
- made logging of PUSH_PROMISE handling nicer

Placing python test requirements in requirements.txt files
- separate files to base test suite and http tests since use
  and module lists differ
- using the files in the gh workflows

websocket test cases, fixes for we and bufq
- bufq: account for spare chunks in space calculation
- bufq: reset chunks that are skipped empty
- ws: correctly encode frames with 126 bytes payload
- ws: update frame meta information on first call of collect
  callback that fills user buffer
- test client ws-data: some test/reporting improvements
@bagder
Copy link
Member

bagder commented Apr 26, 2023

Thanks!

@bagder bagder closed this in acd82c8 Apr 26, 2023
@dfandrich
Copy link
Contributor

This PR breaks out-of-tree automake builds. ws-data.c has #include "../../../lib/curl_setup.h" which make's VPATH loads from srcdir, but it in turn includes "curl_config.h" which isn't found because it's in builddir and therefore not in VPATH. I'll see what I can do about it.

dfandrich added a commit that referenced this pull request Apr 27, 2023
Add both lib/ directories (src & build) to the search path so
curl_setup.h and its dependencies can be found.

Followup-to acd82c8

Ref: #11006
Closes #11036
dfandrich added a commit that referenced this pull request Apr 27, 2023
This is a common configuration that should be tested to avoid
regressions. The awsls cmake build was already out-of-tree so the
automake build now joins it.

Ref: #11006
dfandrich added a commit that referenced this pull request Apr 27, 2023
This is a common configuration that should be tested to avoid
regressions. The awsls cmake build was already out-of-tree so the
automake build now joins it.

Ref: #11006
dfandrich added a commit that referenced this pull request Apr 27, 2023
Add both lib/ directories (src & build) to the search path so
curl_setup.h and its dependencies can be found.

Followup-to acd82c8

Ref: #11006
Closes #11036
dfandrich added a commit that referenced this pull request Apr 27, 2023
This is a common configuration that should be tested to avoid
regressions. The awsls cmake build was already out-of-tree so the
automake build now joins it.

Ref: #11006
bch pushed a commit to bch/curl that referenced this pull request Jul 19, 2023
- Makefile support for building test specific clients in tests/http/clients
- auto-make of clients when invoking pytest
- added test_09_02 for server PUSH_PROMISEs using clients/h2-serverpush
- added test_02_21 for lib based downloads and pausing/unpausing transfers

curl url parser:
- added internal method `curl_url_set_authority()` for setting the
  authority part of a url (used for PUSH_PROMISE)

http2:
- made logging of PUSH_PROMISE handling nicer

Placing python test requirements in requirements.txt files
- separate files to base test suite and http tests since use
  and module lists differ
- using the files in the gh workflows

websocket test cases, fixes for we and bufq
- bufq: account for spare chunks in space calculation
- bufq: reset chunks that are skipped empty
- ws: correctly encode frames with 126 bytes payload
- ws: update frame meta information on first call of collect
  callback that fills user buffer
- test client ws-data: some test/reporting improvements

Closes curl#11006
bch pushed a commit to bch/curl that referenced this pull request Jul 19, 2023
Add both lib/ directories (src & build) to the search path so
curl_setup.h and its dependencies can be found.

Followup-to acd82c8

Ref: curl#11006
Closes curl#11036
bch pushed a commit to bch/curl that referenced this pull request Jul 19, 2023
This is a common configuration that should be tested to avoid
regressions. The awsls cmake build was already out-of-tree so the
automake build now joins it.

Ref: curl#11006
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration HTTP/2 tests URL
Development

Successfully merging this pull request may close these issues.

None yet

3 participants