Commit e1be2ecb authored by Daniel Gustafsson's avatar Daniel Gustafsson
Browse files

tests: add urlapi unittest



This adds a new unittest intended to cover the internal functions in
the urlapi code, starting with parse_port(). In order to avoid name
collisions in debug builds, parse_port() is renamed Curl_parse_port()
since it will be exported.

Reviewed-by: default avatarDaniel Stenberg <daniel@haxx.se>
Reviewed-by: default avatarMarcel Raad <Marcel.Raad@teamviewer.com>
parent 63533cbd
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -30,4 +30,9 @@ bool Curl_is_absolute_url(const char *url, char *scheme, size_t buflen);
char *Curl_concat_url(const char *base, const char *relurl);
size_t Curl_strlen_url(const char *url, bool relative);
void Curl_strcpy_url(char *output, const char *url, bool relative);

#ifdef DEBUGBUILD
CURLUcode Curl_parse_port(struct Curl_URL *u, char *hostname);
#endif

#endif /* HEADER_CURL_URLAPI_INT_H */
+8 −2
Original line number Diff line number Diff line
@@ -67,6 +67,12 @@ struct Curl_URL {

#define DEFAULT_SCHEME "https"

#ifdef DEBUGBUILD
#define UNITTEST
#else
#define UNITTEST static
#endif

static void free_urlhandle(struct Curl_URL *u)
{
  free(u->scheme);
@@ -488,7 +494,7 @@ static CURLUcode parse_hostname_login(struct Curl_URL *u,
  return result;
}

static CURLUcode parse_port(struct Curl_URL *u, char *hostname)
UNITTEST CURLUcode Curl_parse_port(struct Curl_URL *u, char *hostname)
{
  char *portptr = NULL;
  char endbracket;
@@ -845,7 +851,7 @@ static CURLUcode seturl(const char *url, CURLU *u, unsigned int flags)
    if(result)
      return result;

    result = parse_port(u, hostname);
    result = Curl_parse_port(u, hostname);
    if(result)
      return result;

+1 −1
Original line number Diff line number Diff line
@@ -184,7 +184,7 @@ test1590 \
test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \
test1608 test1609 test1620 \
\
test1650 test1651 test1652 \
test1650 test1651 test1652 test1653 \
\
test1700 test1701 test1702 \
\

tests/data/test1653

0 → 100644
+23 −0
Original line number Diff line number Diff line
<testcase>
<info>
<keywords>
unittest
urlapi
</keywords>
</info>

<client>
<server>
none
</server>
<features>
unittest
</features>
<name>
urlapi
</name>
<tool>
unit1653
</tool>
</client>
</testcase>
+4 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ UNITPROGS = unit1300 unit1301 unit1302 unit1303 unit1304 unit1305 unit1307 \
 unit1399 \
 unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607 \
 unit1608 unit1609 unit1620 \
 unit1650 unit1651 unit1652
 unit1650 unit1651 unit1652 unit1653

unit1300_SOURCES = unit1300.c $(UNITFILES)
unit1300_CPPFLAGS = $(AM_CPPFLAGS)
@@ -108,3 +108,6 @@ unit1651_CPPFLAGS = $(AM_CPPFLAGS)

unit1652_SOURCES = unit1652.c $(UNITFILES)
unit1652_CPPFLAGS = $(AM_CPPFLAGS)

unit1653_SOURCES = unit1653.c $(UNITFILES)
unit1653_CPPFLAGS = $(AM_CPPFLAGS)
Loading