summaryrefslogtreecommitdiff
path: root/src/dhcp-manager/tests/test-dhcp-dhclient.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dhcp-manager/tests/test-dhcp-dhclient.c')
-rw-r--r--src/dhcp-manager/tests/test-dhcp-dhclient.c55
1 files changed, 44 insertions, 11 deletions
diff --git a/src/dhcp-manager/tests/test-dhcp-dhclient.c b/src/dhcp-manager/tests/test-dhcp-dhclient.c
index ce3697a552..f9e1e1ebd5 100644
--- a/src/dhcp-manager/tests/test-dhcp-dhclient.c
+++ b/src/dhcp-manager/tests/test-dhcp-dhclient.c
@@ -42,6 +42,7 @@ test_config (const char *orig,
const char *expected,
gboolean ipv6,
const char *hostname,
+ const char *fqdn,
const char *dhcp_client_id,
GBytes *expected_new_client_id,
const char *iface,
@@ -61,6 +62,7 @@ test_config (const char *orig,
client_id,
anycast_addr,
hostname,
+ fqdn,
"/path/to/dhclient.conf",
orig,
&new_client_id);
@@ -105,7 +107,7 @@ static const char *orig_missing_expected = \
static void
test_orig_missing (void)
{
- test_config (NULL, orig_missing_expected, FALSE, NULL, NULL, NULL, "eth0", NULL);
+ test_config (NULL, orig_missing_expected, FALSE, NULL, NULL, NULL, NULL, "eth0", NULL);
}
/*******************************************/
@@ -134,7 +136,7 @@ static void
test_override_client_id (void)
{
test_config (override_client_id_orig, override_client_id_expected,
- FALSE, NULL,
+ FALSE, NULL, NULL,
"11:22:33:44:55:66",
NULL,
"eth0",
@@ -163,7 +165,7 @@ static void
test_quote_client_id (void)
{
test_config (NULL, quote_client_id_expected,
- FALSE, NULL,
+ FALSE, NULL, NULL,
"1234",
NULL,
"eth0",
@@ -192,7 +194,7 @@ static void
test_ascii_client_id (void)
{
test_config (NULL, ascii_client_id_expected,
- FALSE, NULL,
+ FALSE, NULL, NULL,
"qb:cd:ef:12:34:56",
NULL,
"eth0",
@@ -221,7 +223,7 @@ static void
test_hex_single_client_id (void)
{
test_config (NULL, hex_single_client_id_expected,
- FALSE, NULL,
+ FALSE, NULL, NULL,
"ab:cd:e:12:34:56",
NULL,
"eth0",
@@ -258,7 +260,7 @@ test_existing_hex_client_id (void)
new_client_id = g_bytes_new (bytes, sizeof (bytes));
test_config (existing_hex_client_id_orig, existing_hex_client_id_expected,
- FALSE, NULL,
+ FALSE, NULL, NULL,
NULL,
new_client_id,
"eth0",
@@ -298,12 +300,41 @@ test_existing_ascii_client_id (void)
memcpy (buf + 1, EACID, STRLEN (EACID));
new_client_id = g_bytes_new (buf, sizeof (buf));
test_config (existing_ascii_client_id_orig, existing_ascii_client_id_expected,
- FALSE, NULL,
+ FALSE, NULL, NULL,
NULL,
new_client_id,
"eth0",
NULL);
}
+/*******************************************/
+
+static const char *fqdn_expected = \
+ "# Created by NetworkManager\n"
+ "\n"
+ "send fqdn.fqdn \"foo.bar.com\"; # added by NetworkManager\n"
+ "send fqdn.encoded on;\n"
+ "send fqdn.server-update on;\n"
+ "\n"
+ "option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;\n"
+ "option ms-classless-static-routes code 249 = array of unsigned integer 8;\n"
+ "option wpad code 252 = string;\n"
+ "\n"
+ "also request rfc3442-classless-static-routes;\n"
+ "also request ms-classless-static-routes;\n"
+ "also request static-routes;\n"
+ "also request wpad;\n"
+ "also request ntp-servers;\n\n";
+
+static void
+test_fqdn (void)
+{
+ test_config (NULL, fqdn_expected,
+ FALSE, NULL,
+ "foo.bar.com", NULL,
+ NULL,
+ "eth0",
+ NULL);
+}
/*******************************************/
@@ -331,7 +362,7 @@ static void
test_override_hostname (void)
{
test_config (override_hostname_orig, override_hostname_expected,
- FALSE, "blahblah",
+ FALSE, "blahblah", NULL,
NULL,
NULL,
"eth0",
@@ -360,7 +391,7 @@ static void
test_override_hostname6 (void)
{
test_config (override_hostname6_orig, override_hostname6_expected,
- TRUE, "blahblah.local",
+ TRUE, "blahblah.local", NULL,
NULL,
NULL,
"eth0",
@@ -383,7 +414,7 @@ test_nonfqdn_hostname6 (void)
/* Non-FQDN hostname can't be used with dhclient */
test_config (NULL, nonfqdn_hostname6_expected,
TRUE, "blahblah",
- NULL,
+ NULL, NULL,
NULL,
"eth0",
NULL);
@@ -420,6 +451,7 @@ test_existing_alsoreq (void)
FALSE, NULL,
NULL,
NULL,
+ NULL,
"eth0",
NULL);
}
@@ -456,7 +488,7 @@ static void
test_existing_multiline_alsoreq (void)
{
test_config (existing_multiline_alsoreq_orig, existing_multiline_alsoreq_expected,
- FALSE, NULL,
+ FALSE, NULL, NULL,
NULL,
NULL,
"eth0",
@@ -773,6 +805,7 @@ main (int argc, char **argv)
g_test_add_func ("/dhcp/dhclient/hex_single_client_id", test_hex_single_client_id);
g_test_add_func ("/dhcp/dhclient/existing-hex-client-id", test_existing_hex_client_id);
g_test_add_func ("/dhcp/dhclient/existing-ascii-client-id", test_existing_ascii_client_id);
+ g_test_add_func ("/dhcp/dhclient/fqdn", test_fqdn);
g_test_add_func ("/dhcp/dhclient/override_hostname", test_override_hostname);
g_test_add_func ("/dhcp/dhclient/override_hostname6", test_override_hostname6);
g_test_add_func ("/dhcp/dhclient/nonfqdn_hostname6", test_nonfqdn_hostname6);