To add significant whitespace characters at the end of the line, or to empty
lines:
- %spc%
- %tab%
+ %SP - space
+ %TAB - horizontal tab
## Insert capped epoch days
Connection: close
This server reply is for testing a simple Location: following
-http://%HOSTIP:%HTTPPORT/we/want/our/data/%TESTNUMBER0002.txt?coolsite=yes http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER 0%spc%
+http://%HOSTIP:%HTTPPORT/we/want/our/data/%TESTNUMBER0002.txt?coolsite=yes http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER 0%SP
</stdout>
</verify>
</testcase>
Content-Length: 2313
Content-Type: application/x-www-form-urlencoded
-This creates%spc%
+This creates%SP
</protocol>
</verify>
</testcase>
Content-Type: text/plain; charset=us-ascii
0007
-bigger%spc%
+bigger%SP
0008
monster
Set-Cookie: foobar=name;
Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/";
Set-Cookie: partmatch=present; domain=.0.0.1; path=/;
-Set-Cookie: foo%tab%bar=barfoo
-Set-Cookie: bar%tab%foo=
-Set-Cookie: bar=foo%tab%bar
+Set-Cookie: foo%TABbar=barfoo
+Set-Cookie: bar%TABfoo=
+Set-Cookie: bar=foo%TABbar
</data>
</reply>
* Violate each rule at least once.
**/
int hello; /*------------------------------------------------------------------*/
-int%tab%tab;
+int%TABtab;
int trailing_space;
int a = func ();
int b = func( b);
./%LOGDIR/code1185.c:4:82: warning: Longer than 79 columns (LONGLINE)
int hello; /*------------------------------------------------------------------*/
./%LOGDIR/code1185.c:5:4: error: Contains TAB character (TABS)
- int%tab%tab;
+ int%TABtab;
^
./%LOGDIR/code1185.c:7:13: warning: func with space (SPACEBEFOREPAREN)
int a = func ();
} else {
^
./%LOGDIR/code1185.c:24:11: warning: missing space after close paren (PARENBRACE)
- if(a == 2){%spc%%spc%
+ if(a == 2){%SP%SP
^
./%LOGDIR/code1185.c:28:14: warning: no space before semicolon (SPACESEMICOLON)
func_return() ;
// CPP comment ?
^
./%LOGDIR/code1185.c:1:1: error: Missing copyright statement (COPYRIGHT)
-%spc%
+%SP
^
./%LOGDIR/code1185.c:1:1: error: Missing closing comment (OPENCOMMENT)
-%spc%
+%SP
^
checksrc: 0 errors and 41 warnings
</stdout>
<verify>
<protocol crlf="yes">
USER user
-PASS%spc%
+PASS%SP
PWD
EPSV
TYPE I
This is not the full help; this menu is split into categories.
Use "--help category" to get an overview of all categories, which are:
-auth, connection, curl, deprecated, dns, file, ftp, global, http, imap, ldap,%spc%
-output, pop3, post, proxy, scp, sftp, smtp, ssh, telnet, tftp, timeout, tls,%spc%
+auth, connection, curl, deprecated, dns, file, ftp, global, http, imap, ldap,%SP
+output, pop3, post, proxy, scp, sftp, smtp, ssh, telnet, tftp, timeout, tls,%SP
upload, verbose.
Use "--help all" to list all options
Use "--help [option]" to view documentation for a given option
# a comment
h2 foo.example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 0
h1 example.com 443 h3 shiny.example.com 8443 "20121231 00:00:01" 0 0
-%tab%h3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 0
+%TABh3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 0
# also a comment
bad example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0
rubbish
3: ("b") 5, line 0
4: ("\") 5, line 0
5: (" ") 0, line 1
-6: ("%tab%") 5, line 0
+6: ("%TAB") 5, line 0
7: ("
") 5, line 0
8: ("") 5, line 0
<protocol crlf="yes">
MOOO /that.site.com/%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
-User-Agent: agent007 license to drill%tab%
+User-Agent: agent007 license to drill%TAB
Accept: */*
</protocol>
Connection: Upgrade
Upgrade: h2c
-HTTP/2 200%spc%
+HTTP/2 200%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
last-modified: Tue, 13 Jun 2000 12:10:00 GMT
etag: "21025-dc7-39462498"
via: 1.1 nghttpx
-foo-
-HTTP/2 200%spc%
+HTTP/2 200%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 6
content-type: text/html
Connection: Upgrade
Upgrade: h2c
-HTTP/2 200%spc%
+HTTP/2 200%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
last-modified: Tue, 13 Jun 2000 12:10:00 GMT
etag: "21025-dc7-39462498"
Connection: Upgrade
Upgrade: h2c
-HTTP/2 200%spc%
+HTTP/2 200%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
last-modified: Tue, 13 Jun 2000 12:10:00 GMT
etag: "21025-dc7-39462498"
OK
</data>
<data1>
-HTTP/1.1 200 OK%spc%
+HTTP/1.1 200 OK%SP
Connection: close
Content-Length: 15
Content-Range: bytes 50-
Location: /%TESTNUMBER
Content-Length: 3
-HTTP/1.1 200 OK%spc%
+HTTP/1.1 200 OK%SP
Connection: close
Content-Length: 15
Content-Range: bytes 50-
OK
</data>
<data1>
-HTTP/1.1 200 OK%spc%
+HTTP/1.1 200 OK%SP
Connection: close
Content-Length: 15
Location: /%TESTNUMBER
Content-Length: 3
-HTTP/1.1 200 OK%spc%
+HTTP/1.1 200 OK%SP
Connection: close
Content-Length: 15
- Set-Cookie == secondcookie=2data; (1/3)
- Set-Cookie == cookie3=data3; (2/3)
Fold == is folding a line
- Blank ==%spc%
- Blank2 ==%spc%
+ Blank ==%SP
+ Blank2 ==%SP
</stdout>
</verify>
</testcase>
X-Xxx-Date: 19700101T000000Z
test3: 1234
test2:
-test_space: t%tab%s m%tab% end%repeat[4 x ]%
+test_space: t%TABs m%TAB end%repeat[4 x ]%
tesMixCase: MixCase
</protocol>
Host: exam.ple.com:9000
Authorization: XXX4-HMAC-SHA256 Credential=xxx/19700101/ple/exam/xxx4_request, SignedHeaders=content-type;host;x-xxx-content-sha256;x-xxx-date, Signature=25b4cac711ea8f65010c485d3778885f5f3870d0b8ff0b3ab58a8d7eeab991ff
X-Xxx-Date: 19700101T000000Z
-X-Xxx-Content-Sha256: %tab%arbitrary%spc%
+X-Xxx-Content-Sha256: %TABarbitrary%SP
</protocol>
</verify>
CWD a
CWD path
EPRT |1|
-PORT%spc%
+PORT%SP
TYPE I
SIZE %TESTNUMBER
RETR %TESTNUMBER
-PORT%spc%
+PORT%SP
SIZE %TESTNUMBER
RETR %TESTNUMBER
QUIT
%hex[%8a%808321]hex%
</protocol>
<stdout mode="text">
-68 65 6c 6c 6f%spc%
+68 65 6c 6c 6f%SP
RECFLAGS: 1
</stdout>
<limits>
</data>
<data2 nocheck="yes">
HTTP/1.1 200 OK swsclose
-%tab%Access-Control-Allow-Origin: *
+%TABAccess-Control-Allow-Origin: *
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8
Date: Wed, 10 May 2023 14:58:08 GMT
# Verify data after the test has been "shot"
<verify>
<stdout crlf="headers">
-HTTP/2 200%spc%
+HTTP/2 200%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 6
content-type: text/html
# Verify data after the test has been "shot"
<verify>
<stdout crlf="headers">
-HTTP/2 201%spc%
+HTTP/2 201%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 0
funny-head: yesyes
# Verify data after the test has been "shot"
<verify>
<stdout crlf="headers">
-HTTP/2 200%spc%
+HTTP/2 200%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 6
content-type: text/html
# Verify data after the test has been "shot"
<verify>
<stdout crlf="headers">
-HTTP/2 404%spc%
+HTTP/2 404%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 6
content-type: text/html
</protocol>
<stdout crlf="headers">
-HTTP/3 200%spc%
+HTTP/3 200%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
last-modified: Tue, 13 Jun 2000 12:10:00 GMT
etag: "21025-dc7-39462498"
# Verify data after the test has been "shot"
<verify>
<stdout crlf="headers">
-HTTP/3 201%spc%
+HTTP/3 201%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 0
funny-head: yesyes
# Verify data after the test has been "shot"
<verify>
<stdout crlf="headers">
-HTTP/3 200%spc%
+HTTP/3 200%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 6
content-type: text/html
Connection: Upgrade
Upgrade: h2c
-HTTP/2 200%spc%
+HTTP/2 200%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 6
content-type: text/html
via: 1.1 nghttpx
-foo-
-HTTP/2 200%spc%
+HTTP/2 200%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 6
content-type: text/html
Connection: Upgrade
Upgrade: h2c
-HTTP/2 200%spc%
+HTTP/2 200%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 6
content-type: text/html
via: 1.1 nghttpx
-foo-
-HTTP/2 200%spc%
+HTTP/2 200%SP
date: Tue, 09 Nov 2010 14:49:00 GMT
content-length: 6
content-type: text/html
2
</errorcode>
<stderr mode="text">
-Warning: You can only select one HTTP request method! You asked for both PUT%spc%
+Warning: You can only select one HTTP request method! You asked for both PUT%SP
Warning: (-T, --upload-file) and POST (-d, --data).
</stderr>
</verify>
extra-header: here
Accept: replaced
X-Custom-Header:
-X-Test: foo;%spc%
+X-Test: foo;%SP
X-Test2: foo;
GET /%TESTNUMBER HTTP/1.1
extra-header: here
Accept: replaced
X-Custom-Header:
-X-Test: foo;%spc%
+X-Test: foo;%SP
X-Test2: foo;
</protocol>
access-control-allow-methods: GET, POST, PUT, DELETE, OPTIONS
access-control-max-age: 1728000
access-control-allow-headers: Authorization, Content-Type, AuthorizationOauth, X-EARLY-ACCESS
-access-control-expose-headers:%spc%
+access-control-expose-headers:%SP
vary: Accept
etag: W/"2678f9ab2ba550d164e7cc014aefd31e"
cache-control: max-age=0, private, must-revalidate
arg
</protocol>
<stderr mode="text">
-Warning: %LOGDIR/config:1: warning: 'data' uses unquoted whitespace. This may%spc%
+Warning: %LOGDIR/config:1: warning: 'data' uses unquoted whitespace. This may%SP
Warning: cause side-effects. Consider double quotes.
</stderr>
</verify>
domain..tld FALSE / FALSE 2139150993 mooo indeed
#HttpOnly_domain..tld FALSE /want FALSE 2139150993 mooo2 indeed2
%endif
-domain..tld FALSE /want FALSE 0 empty%tab%
+domain..tld FALSE /want FALSE 0 empty%TAB
</file>
<features>
cookies
# This file was generated by libcurl! Edit at your own risk.
domain..tld FALSE /want/ FALSE 0 simplyhuge %repeat[3998 x z]%
-domain..tld FALSE / FALSE 0 justaname%tab%
+domain..tld FALSE / FALSE 0 justaname%TAB
domain..tld FALSE / FALSE 0 ASPSESSIONIDQGGQQSJJ GKNBDIFAAOFDPDAIEAKDIBKE
domain..tld FALSE / FALSE 0 ckySession temporary
domain..tld FALSE / FALSE %days[400] ckyPersistent permanent
%if large-time
-domain..tld FALSE /want FALSE 0 empty%tab%
+domain..tld FALSE /want FALSE 0 empty%TAB
#HttpOnly_domain..tld FALSE /want FALSE 22139150993 mooo2 indeed2
domain..tld FALSE / FALSE 22139150993 mooo indeed
www.loser.com FALSE / FALSE 22139150993 UID 99
www.fake.come FALSE / FALSE 22147483647 cookiecliente si
%else
-domain..tld FALSE /want FALSE 0 empty%tab%
+domain..tld FALSE /want FALSE 0 empty%TAB
#HttpOnly_domain..tld FALSE /want FALSE 2139150993 mooo2 indeed2
domain..tld FALSE / FALSE 2139150993 mooo indeed
www.loser.com FALSE / FALSE 2139150993 UID 99
<data>
HTTP/1.1 302 This is a weirdo text message swsclose
Connection: close
-Location:%spc%
+Location:%SP
This server reply is for testing
</data>
</file1>
<file2 name="%LOGDIR/headers%TESTNUMBER">
# This line is a comment
-X-fileheader1: This is a header from a file%spc%\r
+X-fileheader1: This is a header from a file%SP\r
# This line is another comment. It precedes a folded header.
X-fileheader2: This is #a
<verify>
<protocol crlf="yes">
USER username
-PASS%spc%
+PASS%SP
PWD
EPSV
TYPE I
<verify>
<protocol crlf="yes">
USER username
-PASS%spc%
+PASS%SP
PWD
EPSV
TYPE I
$$thing =~ s/%%DAYS%%/%alternatives[$d,$d2]/;
}
- $$thing =~ s/%spc%/ /g; # space
- $$thing =~ s/%tab%/\t/g; # horizontal tab
+ $$thing =~ s/%SP/ /g; # space
+ $$thing =~ s/%TAB/\t/g; # horizontal tab
# include a file
$$thing =~ s/%include ([^%]*)%[\n\r]+/includefile($1)/ge;