summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMarc Hoersken <info@marc-hoersken.de>2021-07-23 20:33:40 +0200
committerMarc Hoersken <info@marc-hoersken.de>2021-07-25 19:59:58 +0200
commitd9d26a6b2cfae36f139232fd6742570408903908 (patch)
treeb510e03b12686342f27c96fcb0ba0de892312dfd /tests
parent893f39c596d9cea06d94de5ea0d80de4d6035d07 (diff)
downloadcurl-d9d26a6b2cfae36f139232fd6742570408903908.tar.gz
tests/servers: use our platform-aware pid for server verification
The pid used for server verification is later stored as pid2 in the hash of running test servers and therefore used for shutdown. The pid used for shutdown must be the platform-aware (Win32) pid to avoid leaking test servers while running them using Cygwin/msys. Reviewed-by: Jay Satiro Closes #7481
Diffstat (limited to 'tests')
-rw-r--r--tests/server/rtspd.c4
-rw-r--r--tests/server/sws.c3
-rw-r--r--tests/server/tftpd.c4
-rw-r--r--tests/server/util.c22
-rw-r--r--tests/server/util.h1
5 files changed, 22 insertions, 12 deletions
diff --git a/tests/server/rtspd.c b/tests/server/rtspd.c
index 97aad7a76..4edaeb86a 100644
--- a/tests/server/rtspd.c
+++ b/tests/server/rtspd.c
@@ -810,8 +810,8 @@ static int send_doc(curl_socket_t sock, struct httprequest *req)
case DOCNUMBER_WERULEZ:
/* we got a "friends?" question, reply back that we sure are */
logmsg("Identifying ourselves as friends");
- msnprintf(msgbuf, sizeof(msgbuf), "RTSP_SERVER WE ROOLZ: %ld\r\n",
- (long)getpid());
+ msnprintf(msgbuf, sizeof(msgbuf), "RTSP_SERVER WE ROOLZ: %"
+ CURL_FORMAT_CURL_OFF_T "\r\n", our_getpid());
msglen = strlen(msgbuf);
msnprintf(weare, sizeof(weare),
"HTTP/1.1 200 OK\r\nContent-Length: %zu\r\n\r\n%s",
diff --git a/tests/server/sws.c b/tests/server/sws.c
index 010e5ae1d..3fc913b3f 100644
--- a/tests/server/sws.c
+++ b/tests/server/sws.c
@@ -994,7 +994,8 @@ static int send_doc(curl_socket_t sock, struct httprequest *req)
case DOCNUMBER_WERULEZ:
/* we got a "friends?" question, reply back that we sure are */
logmsg("Identifying ourselves as friends");
- msnprintf(msgbuf, sizeof(msgbuf), "WE ROOLZ: %ld\r\n", (long)getpid());
+ msnprintf(msgbuf, sizeof(msgbuf), "WE ROOLZ: %"
+ CURL_FORMAT_CURL_OFF_T "\r\n", our_getpid());
msglen = strlen(msgbuf);
if(use_gopher)
msnprintf(weare, sizeof(weare), "%s", msgbuf);
diff --git a/tests/server/tftpd.c b/tests/server/tftpd.c
index 92d584918..8caa3491f 100644
--- a/tests/server/tftpd.c
+++ b/tests/server/tftpd.c
@@ -1065,8 +1065,8 @@ static int validate_access(struct testcase *test,
if(!strncmp("verifiedserver", filename, 14)) {
char weare[128];
- size_t count = msnprintf(weare, sizeof(weare),
- "WE ROOLZ: %ld\r\n", (long)getpid());
+ size_t count = msnprintf(weare, sizeof(weare), "WE ROOLZ: %"
+ CURL_FORMAT_CURL_OFF_T "\r\n", our_getpid());
logmsg("Are-we-friendly question received");
test->buffer = strdup(weare);
diff --git a/tests/server/util.c b/tests/server/util.c
index 38d6395c5..284f347cf 100644
--- a/tests/server/util.c
+++ b/tests/server/util.c
@@ -269,17 +269,11 @@ int wait_ms(int timeout_ms)
return r;
}
-int write_pidfile(const char *filename)
+curl_off_t our_getpid(void)
{
- FILE *pidfile;
curl_off_t pid;
pid = (curl_off_t)getpid();
- pidfile = fopen(filename, "wb");
- if(!pidfile) {
- logmsg("Couldn't write pid file: %s %s", filename, strerror(errno));
- return 0; /* fail */
- }
#if defined(WIN32) || defined(_WIN32)
/* store pid + 65536 to avoid conflict with Cygwin/msys PIDs, see also:
* - https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵
@@ -289,6 +283,20 @@ int write_pidfile(const char *filename)
*/
pid += 65536;
#endif
+ return pid;
+}
+
+int write_pidfile(const char *filename)
+{
+ FILE *pidfile;
+ curl_off_t pid;
+
+ pid = our_getpid();
+ pidfile = fopen(filename, "wb");
+ if(!pidfile) {
+ logmsg("Couldn't write pid file: %s %s", filename, strerror(errno));
+ return 0; /* fail */
+ }
fprintf(pidfile, "%" CURL_FORMAT_CURL_OFF_T "\n", pid);
fclose(pidfile);
logmsg("Wrote pid %" CURL_FORMAT_CURL_OFF_T " to %s", pid, filename);
diff --git a/tests/server/util.h b/tests/server/util.h
index 68473f28f..4c9361117 100644
--- a/tests/server/util.h
+++ b/tests/server/util.h
@@ -60,6 +60,7 @@ void win32_cleanup(void);
FILE *test2fopen(long testno);
int wait_ms(int timeout_ms);
+curl_off_t our_getpid(void);
int write_pidfile(const char *filename);
int write_portfile(const char *filename, int port);
void set_advisor_read_lock(const char *filename);