Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
TLMSP curl
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
CYBER - Cyber Security
TS 103 523 MSP
TLMSP
TLMSP curl
Commits
0de7249b
Commit
0de7249b
authored
11 years ago
by
Daniel Stenberg
Browse files
Options
Downloads
Patches
Plain Diff
unit1396: unit tests to verify curl_easy_(un)escape
parent
192c4f78
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
tests/data/Makefile.am
+1
-1
1 addition, 1 deletion
tests/data/Makefile.am
tests/data/test1396
+27
-0
27 additions, 0 deletions
tests/data/test1396
tests/unit/Makefile.inc
+4
-1
4 additions, 1 deletion
tests/unit/Makefile.inc
tests/unit/unit1396.c
+109
-0
109 additions, 0 deletions
tests/unit/unit1396.c
with
141 additions
and
2 deletions
tests/data/Makefile.am
+
1
−
1
View file @
0de7249b
...
...
@@ -106,7 +106,7 @@ test1356 test1357 test1358 test1359 test1360 test1361 test1362 test1363 \
test1364 test1365 test1366 test1367 test1368 test1369 test1370 test1371
\
test1372 test1373 test1374 test1375 test1376 test1377 test1378 test1379
\
test1380 test1381 test1382 test1383 test1384 test1385 test1386 test1387
\
test1388 test1389 test1390 test1391 test1392 test1393 test1394
\
test1388 test1389 test1390 test1391 test1392 test1393 test1394
test1396
\
\
test1400 test1401 test1402 test1403 test1404 test1405 test1406 test1407
\
test1408 test1409 test1410 test1412 test1413
\
...
...
This diff is collapsed.
Click to expand it.
tests/data/test1396
0 → 100644
+
27
−
0
View file @
0de7249b
<testcase>
<info>
<keywords>
unittest
curl_easy_escape
curl_easy_unescape
</keywords>
</info>
#
# Client-side
<client>
<server>
none
</server>
<features>
unittest
</features>
<name>
curl_easy_escape and curl_easy_unescape
</name>
<tool>
unit1310
</tool>
</client>
</testcase>
This diff is collapsed.
Click to expand it.
tests/unit/Makefile.inc
+
4
−
1
View file @
0de7249b
...
...
@@ -6,7 +6,7 @@ UNITFILES = curlcheck.h \
# These are all unit test programs
UNITPROGS
=
unit1300 unit1301 unit1302 unit1303 unit1304 unit1305 unit1307
\
unit1308 unit1309 unit1330 unit1394
unit1308 unit1309 unit1330 unit1394
unit1396
unit1300_SOURCES
=
unit1300.c
$(
UNITFILES
)
unit1300_CPPFLAGS
=
$(
AM_CPPFLAGS
)
...
...
@@ -43,3 +43,6 @@ unit1394_CPPFLAGS = $(AM_CPPFLAGS) $(LIBMETALINK_CPPFLAGS)
unit1394_LDADD
=
@LIBMETALINK_LIBS@
$(
top_builddir
)
/lib/libcurl.la @LIBCURL_LIBS@
unit1394_LDFLAGS
=
@LIBMETALINK_LDFLAGS@
$(
top_builddir
)
/src/libcurltool.la
unit1394_LIBS
=
unit1396_SOURCES
=
unit1396.c
$(
UNITFILES
)
unit1396_CPPFLAGS
=
$(
AM_CPPFLAGS
)
This diff is collapsed.
Click to expand it.
tests/unit/unit1396.c
0 → 100644
+
109
−
0
View file @
0de7249b
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
***************************************************************************/
#include
"curlcheck.h"
static
CURLcode
unit_setup
(
void
)
{
return
CURLE_OK
;
}
static
void
unit_stop
(
void
)
{
}
struct
test
{
const
char
*
in
;
int
inlen
;
const
char
*
out
;
int
outlen
;
};
UNITTEST_START
{
/* unescape, this => that */
struct
test
list1
[]
=
{
{
"%61"
,
3
,
"a"
,
1
},
{
"%61a"
,
4
,
"aa"
,
2
},
{
"%61b"
,
4
,
"ab"
,
2
},
{
"%6 1"
,
4
,
"%6 1"
,
4
},
{
"%61"
,
1
,
"%"
,
1
},
{
"%61"
,
2
,
"%6"
,
2
},
{
"%6%a"
,
4
,
"%6%a"
,
4
},
{
"%6a"
,
0
,
"j"
,
1
},
{
"%FF"
,
0
,
"
\xff
"
,
1
},
{
"%FF%00%ff"
,
9
,
"
\xff\x00\xff
"
,
3
},
{
"%-2"
,
0
,
"%-2"
,
3
},
{
"%FG"
,
0
,
"%FG"
,
3
},
{
NULL
,
0
,
NULL
,
0
}
/* end of list marker */
};
/* escape, this => that */
struct
test
list2
[]
=
{
{
"a"
,
1
,
"a"
,
1
},
{
"/"
,
1
,
"%2F"
,
3
},
{
"a=b"
,
3
,
"a%3Db"
,
5
},
{
"a=b"
,
0
,
"a%3Db"
,
5
},
{
"a=b"
,
1
,
"a"
,
1
},
{
"a=b"
,
2
,
"a%3D"
,
4
},
{
"1/./0"
,
5
,
"1%2F.%2F0"
,
9
},
{
"-._~!#%&"
,
0
,
"-._~%21%23%25%26"
,
16
},
{
"a"
,
2
,
"a%00"
,
4
},
{
"a
\xff\x01
g"
,
4
,
"a%FF%01g"
,
8
},
{
NULL
,
0
,
NULL
,
0
}
/* end of list marker */
};
int
i
;
CURL
*
hnd
;
hnd
=
curl_easy_init
();
for
(
i
=
0
;
list1
[
i
].
in
;
i
++
)
{
int
outlen
;
char
*
out
=
curl_easy_unescape
(
hnd
,
list1
[
i
].
in
,
list1
[
i
].
inlen
,
&
outlen
);
fail_unless
(
out
!=
NULL
,
"returned NULL!"
);
fail_unless
(
outlen
==
list1
[
i
].
outlen
,
"wrong output length returned"
);
fail_unless
(
!
memcmp
(
out
,
list1
[
i
].
out
,
list1
[
i
].
outlen
),
"bad output data returned"
);
printf
(
"curl_easy_unescape test %d DONE
\n
"
,
i
);
curl_free
(
out
);
}
for
(
i
=
0
;
list2
[
i
].
in
;
i
++
)
{
char
*
out
=
curl_easy_escape
(
hnd
,
list2
[
i
].
in
,
list2
[
i
].
inlen
);
int
outlen
=
(
int
)
strlen
(
out
);
fail_unless
(
out
!=
NULL
,
"returned NULL!"
);
fail_unless
(
outlen
==
list2
[
i
].
outlen
,
"wrong output length returned"
);
fail_unless
(
!
memcmp
(
out
,
list2
[
i
].
out
,
list2
[
i
].
outlen
),
"bad output data returned"
);
printf
(
"curl_easy_escape test %d DONE (%s)
\n
"
,
i
,
out
);
curl_free
(
out
);
}
curl_easy_cleanup
(
hnd
);
}
UNITTEST_STOP
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment