diff options
author | Michael Brown <mcb30@ipxe.org> | 2015-02-06 12:18:18 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2015-02-06 12:18:18 +0000 |
commit | e2a26f76de49b80c882b7f537d7eb5583ef78a29 (patch) | |
tree | a9ea9322ad43476caab9067efb2bbbe3d822797e /src/tests/uri_test.c | |
parent | 2dfdcae938b3aaae2cb5d48bf2cf45c23ee4b312 (diff) | |
download | ipxe-e2a26f76de49b80c882b7f537d7eb5583ef78a29.tar.gz |
[uri] Allow tftp_uri() to construct a URI with a custom port
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/tests/uri_test.c')
-rw-r--r-- | src/tests/uri_test.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/tests/uri_test.c b/src/tests/uri_test.c index 14f1b4ad0..b2578b844 100644 --- a/src/tests/uri_test.c +++ b/src/tests/uri_test.c @@ -66,6 +66,8 @@ struct uri_resolve_test { struct uri_tftp_test { /** Next-server address */ struct in_addr next_server; + /** Port number */ + unsigned int port; /** Filename */ const char *filename; /** URI */ @@ -330,7 +332,7 @@ static void uri_tftp_okx ( struct uri_tftp_test *test, const char *file, size_t len; /* Construct URI */ - uri = tftp_uri ( test->next_server, test->filename ); + uri = tftp_uri ( test->next_server, test->port, test->filename ); okx ( uri != NULL, file, line ); if ( uri ) { uri_okx ( uri, &test->uri, file, line ); @@ -674,7 +676,7 @@ static struct uri_resolve_test uri_fragment = { /** TFTP URI with absolute path */ static struct uri_tftp_test uri_tftp_absolute = { - { .s_addr = htonl ( 0xc0a80002 ) /* 192.168.0.2 */ }, + { .s_addr = htonl ( 0xc0a80002 ) /* 192.168.0.2 */ }, 0, "/absolute/path", { .scheme = "tftp", @@ -686,7 +688,7 @@ static struct uri_tftp_test uri_tftp_absolute = { /** TFTP URI with relative path */ static struct uri_tftp_test uri_tftp_relative = { - { .s_addr = htonl ( 0xc0a80003 ) /* 192.168.0.3 */ }, + { .s_addr = htonl ( 0xc0a80003 ) /* 192.168.0.3 */ }, 0, "relative/path", { .scheme = "tftp", @@ -698,7 +700,7 @@ static struct uri_tftp_test uri_tftp_relative = { /** TFTP URI with path containing special characters */ static struct uri_tftp_test uri_tftp_icky = { - { .s_addr = htonl ( 0x0a000006 ) /* 10.0.0.6 */ }, + { .s_addr = htonl ( 0x0a000006 ) /* 10.0.0.6 */ }, 0, "C:\\tftpboot\\icky#path", { .scheme = "tftp", @@ -708,6 +710,19 @@ static struct uri_tftp_test uri_tftp_icky = { "tftp://10.0.0.6/C%3A\\tftpboot\\icky%23path", }; +/** TFTP URI with custom port */ +static struct uri_tftp_test uri_tftp_port = { + { .s_addr = htonl ( 0xc0a80001 ) /* 192.168.0.1 */ }, 4069, + "/another/path", + { + .scheme = "tftp", + .host = "192.168.0.1", + .port = "4069", + .path = "/another/path", + }, + "tftp://192.168.0.1:4069/another/path", +}; + /** Current working URI test */ static struct uri_churi_test uri_churi[] = { { @@ -842,6 +857,7 @@ static void uri_test_exec ( void ) { uri_tftp_ok ( &uri_tftp_absolute ); uri_tftp_ok ( &uri_tftp_relative ); uri_tftp_ok ( &uri_tftp_icky ); + uri_tftp_ok ( &uri_tftp_port ); /* Current working URI tests */ uri_churi_ok ( uri_churi ); |