summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2011-07-26 00:53:28 +0200
committerOlivier CrĂȘte <olivier.crete@collabora.com>2011-08-23 20:00:47 -0400
commit6c29f98e438786c5fb7c271c36fcf6cde27937b6 (patch)
treeec018ae776b5d4a3631044842b7dd4ce128ff129 /tests
parentf0a31c7bd67b0d73e00de4eb03532fd1736f1213 (diff)
downloadfarstream-6c29f98e438786c5fb7c271c36fcf6cde27937b6.tar.gz
rawudp: Test for candidate with port 0
Diffstat (limited to 'tests')
-rw-r--r--tests/check/transmitter/rawudp.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/check/transmitter/rawudp.c b/tests/check/transmitter/rawudp.c
index b244ecbe..bbe9e8eb 100644
--- a/tests/check/transmitter/rawudp.c
+++ b/tests/check/transmitter/rawudp.c
@@ -876,6 +876,41 @@ GST_START_TEST (test_rawudptransmitter_run_stun_altern_to_nowhere)
}
GST_END_TEST;
+GST_START_TEST (test_rawudptransmitter_strange_arguments)
+{
+ FsTransmitter *trans = NULL;
+ FsStreamTransmitter *st = NULL;
+ GError *error = NULL;
+ guint comps = 0;
+ FsCandidate *cand;
+ GList *list;
+
+ trans = fs_transmitter_new ("rawudp", 3, 0, &error);
+ ts_fail_if (trans == NULL);
+ ts_fail_unless (error == NULL);
+
+ g_object_get (trans, "components", &comps, NULL);
+ ts_fail_unless (comps == 3);
+
+ /* valid */
+ st = fs_transmitter_new_stream_transmitter (trans, NULL, 0, NULL, &error);
+ ts_fail_if (st == NULL);
+ ts_fail_unless (error == NULL);
+
+ /* Valid candidate, port 0 */
+ cand = fs_candidate_new ("abc", 1,
+ FS_CANDIDATE_TYPE_HOST, FS_NETWORK_PROTOCOL_UDP, "1.2.3.4", 0);
+ list = g_list_prepend (NULL, cand);
+ ts_fail_unless (fs_stream_transmitter_set_remote_candidates (st, list,
+ &error));
+ ts_fail_unless (error == NULL);
+ fs_candidate_list_destroy (list);
+
+ fs_stream_transmitter_stop (st);
+ g_object_unref (st);
+ g_object_unref (trans);
+}
+GST_END_TEST;
void
setup_stunalternd_valid (void)
@@ -1021,6 +1056,10 @@ rawudptransmitter_suite (void)
tcase_add_test (tc_chain, test_rawudptransmitter_run_stun_altern_to_nowhere);
suite_add_tcase (s, tc_chain);
+ tc_chain = tcase_create ("rawudptransmitter-strange-arguments");
+ tcase_add_test (tc_chain, test_rawudptransmitter_strange_arguments);
+ suite_add_tcase (s, tc_chain);
+
return s;
}