Age | Commit message (Collapse) | Author |
|
A common set of functions instead of many separate implementations for
creating buffers that can grow when appending data to them. Existing
functionality has been ported over.
In my early basic testing, the total number of allocations seem at
roughly the same amount as before, possibly a few less.
See docs/DYNBUF.md for a description of the API.
Closes #5300
|
|
Remove many one second sleeps that were done *after* each newly started
test server already has been verified. They should not have any purpose
there.
Closes #5323
|
|
This makes sure that select_ws behaves similar to real select
which stops waiting on a signal handler being triggered.
This makes it possible to gracefully stop sockfilt.exe on
Windows with taskkill /IM sockfilt.exe (without /F force flag).
Reviewed-by: Jay Satiro
Part of #5260
|
|
This commit adds a global exit event to the test servers that
Windows-specific wait routines can use to get triggered if the
program was signaled to be terminated, eg. select_ws in sockfilt.c
The exit event will be managed by the signal handling code and is
set to not reset automatically to support multiple wait routines.
Reviewed-by: Jay Satiro
Closes #5260
|
|
Reviewed-by: Jay Satiro
Part of #5260
|
|
Use raise to trigger signal handler instead of calling it
directly and causing potential unexpected control flow.
Reviewed-by: Jay Satiro
Part of #5260
|
|
OpenSSH for Windows requires paths in the format of /C:/
instead of the pseudo-POSIX paths /cygdrive/c/ or just /c/
Reviewed-by: Daniel Stenberg
Closes #5298
|
|
|
|
... instead of a port of a non-running server so that it works
stand-alone.
Closes #5318
|
|
Closes #5316
|
|
This has not been needed since commit 9fa42bed and often prevents it
from running at all with dynamic test ports.
|
|
Several tests referred to specific server ports even when the test
didn't actually use that server or specify that it's needed. In such
cases, the test harness substitutes the text "[not running]" as the port
number which causes many such tests to fail due to the inability to
parse the URL. These tests are changed to use %NOLISTENPORT which will
always be substituted correctly.
|
|
More connection cache accesses are protected by locks.
CONNCACHE_* is a beter prefix for the connection cache lock macros.
Curl_attach_connnection: now called as soon as there's a connection
struct available and before the connection is added to the connection
cache.
Curl_disconnect: now assumes that the connection is already removed from
the connection cache.
Ref: #4915
Closes #5009
|
|
As stunnel is an external tool and it has no specific option to export
the actually used port number when asked to listen to 0, runtests
instead iterates over ten randomly picked high number ports and sticks
to the first one stunnel can listen to.
Closes #5267
|
|
Since sshd doesn't have such an option by itself, we iterate over a
series of random ports until one works.
Closes #5273
|
|
These were commented out in e9dd0998706a when Makefile.inc was included
instead. 11 years have passed since then and the commented code is of
course very outdated. Remove it to avoid confusion.
Closes #5311
|
|
If we use a separate build directory, there is no copy of the header.
Closes #5310
|
|
... which is not always the same directory as source directory
Closes #5310
|
|
|
|
Closes #5306
|
|
To make it work correctly for out-of-tree builds.
Follow-up to 75e8feb6fb08b
Bug: https://github.com/curl/curl/pull/5288#issuecomment-619346389
Reported-by: Marcel Raad
Closes #5297
|
|
Follow-up to 11091cd4d. It was not meant to be pushed!
|
|
Since the http2 test server is a mere proxy that needs to know about the
dynamic port the HTTP server is using, it too needs to get restarted
when the http server is killed.
A regression caused by 80d6515.
Fixes #5289
Closes #5291
|
|
Closes #5290
|
|
... and error out if so. Removed '536' from DISABLED as there is no such
test file.
Closes #5288
|
|
|
|
Prior to this change if there was a 303 reply to a PUT request then
the subsequent request to respond to that redirect would also be a PUT.
It was determined that was most likely incorrect based on the language
of the RFCs. Basically 303 means "see other" resource, which implies it
is most likely not the same resource, therefore we should not try to PUT
to that different resource.
Refer to the discussions in #5237 and #5248 for more information.
Fixes https://github.com/curl/curl/issues/5237
Closes https://github.com/curl/curl/pull/5248
|
|
To avoid port collisions.
Closes #5272
|
|
The purpose with this variable is to provide a port number that is
reasonably likely to not have a listener on the local host so that tests
can try connect failures against it. It uses port 47 - "reserved"
according to IANA.
Updated six tests to use it instead of the previous different ports.
Assisted-by: Emil Engler
Closes #5270
|
|
Follow-up from 369ce38ac1d
Reported-by: Marc Hörsken
|
|
Closes #5266
|
|
Picking a dynamic unused port is better than a fixed to avoid the
collision risk.
Closes #5265
|
|
To handle PUBLISH before SUBACK and more.
Updated the existing tests and added three new ones.
Reported-by: Christoph Krey
Bug: https://curl.haxx.se/mail/lib-2020-04/0021.html
Closes #5246
|
|
|
|
|
|
|
|
Follow-up to 0f5db7b263f
|
|
To make it impossible for test cases to access the file name without
using the proper variable for the purpose.
Closes #5264
|
|
This fixes the error: 'for' loop initial declaration used outside C99
mode by declaring the loop increment variable in the beginning of the
block instead of inside the for loop.
Fixes #5254
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
... and generate something that can help debug test cases.
|
|
New test 669 checks this fix is effective.
Fixes #5256
Closes #5258
Reported-by: thanhchungbtc on github
|
|
Closes #5261
|
|
|
|
|
|
|
|
FTP, IMAP, POP3, SMTP and their IPv6 versions are now all on dynamic
ports
Test 842-845 are unfortunately a bit hard to move over to this concept
right now and require "default port" still...
|
|
|
|
|
|
The runtests script now always performs variable replacement on the
entire test source file before the test gets executed, and saves the
updated version in a temporary file (log/test[num]) so that all test
case readers/servers can use that version (if present) and thus enjoy
the powers of test case variable substitution.
This is necessary to allow complete port number freedom.
Test 309 is updated to work with a non-fixed port number thanks to this.
|
|
|