]> git.ipfire.org Git - thirdparty/curl.git/commit
tests/http: more tests with specific clients
authorStefan Eissing <stefan@eissing.org>
Wed, 26 Apr 2023 10:38:22 +0000 (12:38 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 26 Apr 2023 21:24:46 +0000 (23:24 +0200)
commitacd82c8bfd743d0f743a1c1296890738832ac83e
treefc4da775326efd7562f6217f41929b703902431c
parent21575b26fe33099e087b8beaac9bc43fa8597874
tests/http: more tests with specific clients

- 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 #11006
32 files changed:
.github/workflows/linux.yml
.github/workflows/ngtcp2-gnutls.yml
.github/workflows/ngtcp2-quictls.yml
.github/workflows/ngtcp2-wolfssl.yml
.lift/config.toml
configure.ac
docs/examples/http2-serverpush.c
lib/bufq.c
lib/http2.c
lib/urlapi-int.h
lib/urlapi.c
lib/ws.c
tests/Makefile.am
tests/http/Makefile.am
tests/http/clients/.gitignore [new file with mode: 0644]
tests/http/clients/Makefile.am [new file with mode: 0644]
tests/http/clients/Makefile.inc [new file with mode: 0644]
tests/http/clients/h2-download.c [new file with mode: 0644]
tests/http/clients/h2-serverpush.c [new file with mode: 0644]
tests/http/clients/ws-data.c [new file with mode: 0644]
tests/http/clients/ws-pingpong.c [new file with mode: 0644]
tests/http/conftest.py
tests/http/requirements.txt [new file with mode: 0644]
tests/http/test_02_download.py
tests/http/test_09_push.py
tests/http/test_20_websockets.py [new file with mode: 0644]
tests/http/testenv/__init__.py
tests/http/testenv/client.py [new file with mode: 0644]
tests/http/testenv/env.py
tests/http/testenv/httpd.py
tests/http/testenv/ws_echo_server.py [new file with mode: 0755]
tests/requirements.txt [new file with mode: 0644]