curl/tests/data/test1407
Viktor Szakats 1074d6d727
tests: unset some envs instead of blanking them
After 7cf8414fab #12862, `VAR=` no longer
removes the env variable, but sets it to an empty/blank value instead.
To remove an env, `VAR` shall be used (without the assigment operator.)

`SSL_CERT_FILE`, `CURL_HOME`, `HOME`, `XDG_CONFIG_HOME`, were added
before the change above. Make tests unset these envs again, as their
commit messages suggest, instead of blanking them. It does not change
the outcome of the tests.

Ref: 764e4f066d #8213
Ref: e992770e8d #6600

Folllow-up to 7cf8414fab #12862
Cherry-picked from #17988
Closes #17994
2025-07-23 22:17:25 +02:00

112 lines
2.7 KiB
Text

<testcase>
# Based on test851
<info>
<keywords>
POP3
Clear Text
LIST
--libcurl
</keywords>
</info>
#
# Server-side
<reply>
<servercmd>
REPLY LIST +OK %TESTNUMBER 100\r\n.
</servercmd>
</reply>
#
# Client-side
<client>
<server>
pop3
</server>
<name>
--libcurl for POP3 LIST one message
</name>
<setenv>
SSL_CERT_FILE
</setenv>
<command>
pop3://%HOSTIP:%POP3PORT/%TESTNUMBER -l -u user:secret --libcurl %LOGDIR/test%TESTNUMBER.c
</command>
# Need ftp so the FTP options are written in the --libcurl template
<features>
ftp
--libcurl
</features>
</client>
#
# Verify data after the test has been "shot"
<verify>
<protocol>
CAPA
USER user
PASS secret
LIST %TESTNUMBER
QUIT
</protocol>
<file name="%LOGDIR/test%TESTNUMBER.c" mode="text">
/********* Sample code generated by the curl command line tool **********
* All curl_easy_setopt() options are documented at:
* https://curl.se/libcurl/c/curl_easy_setopt.html
************************************************************************/
#include <curl/curl.h>
int main(int argc, char *argv[])
{
CURLcode ret;
CURL *hnd;
hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
curl_easy_setopt(hnd, CURLOPT_URL, "pop3://%HOSTIP:%POP3PORT/%TESTNUMBER");
curl_easy_setopt(hnd, CURLOPT_DIRLISTONLY, 1L);
curl_easy_setopt(hnd, CURLOPT_USERPWD, "user:secret");
curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
/* Here is a list of options the curl code used that cannot get generated
as source easily. You may choose to either not use them or implement
them yourself.
CURLOPT_DEBUGFUNCTION was set to a function pointer
CURLOPT_DEBUGDATA was set to an object pointer
CURLOPT_WRITEDATA was set to an object pointer
CURLOPT_WRITEFUNCTION was set to a function pointer
CURLOPT_READDATA was set to an object pointer
CURLOPT_READFUNCTION was set to a function pointer
CURLOPT_SEEKDATA was set to an object pointer
CURLOPT_SEEKFUNCTION was set to a function pointer
CURLOPT_HEADERFUNCTION was set to a function pointer
CURLOPT_HEADERDATA was set to an object pointer
CURLOPT_ERRORBUFFER was set to an object pointer
CURLOPT_STDERR was set to an object pointer
*/
ret = curl_easy_perform(hnd);
curl_easy_cleanup(hnd);
hnd = NULL;
return (int)ret;
}
/**** End of sample code ****/
</file>
<stripfile>
# These options vary with configurations - just ignore them
# CURLOPT_INTERLEAVEDATA requires RTSP (HTTP) protocol
$_ = '' if /CURLOPT_USERAGENT/
$_ = '' if /CURLOPT_MAXREDIRS/
$_ = '' if /CURLOPT_SSL_VERIFYPEER/
$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
$_ = '' if /CURLOPT_HTTP_VERSION/
$_ = '' if /CURLOPT_HTTP09_ALLOWED/
$_ = '' if /CURLOPT_INTERLEAVEDATA/
</stripfile>
</verify>
</testcase>