fix a UDP multicast test to make it work on Windows XP

(cherry picked from commit 6e0492dff0)
This commit is contained in:
Matthew Flatt 2013-04-10 09:09:56 -06:00 committed by Ryan Culpepper
parent 1a9d7c5419
commit 7fa5db7b63

View File

@ -194,6 +194,9 @@
;; UDP Multicast ;; UDP Multicast
(let ((s (udp-open-socket))) (let ((s (udp-open-socket)))
;; On Windows XP, bind is required before multicast joins:
(when (eq? 'windows (system-type))
(test (void) udp-bind! s #f 0 #t))
(test #t boolean? (udp-multicast-loopback? s)) (test #t boolean? (udp-multicast-loopback? s))
(test (void) udp-multicast-set-loopback! s #f) (test (void) udp-multicast-set-loopback! s #f)
@ -259,7 +262,8 @@
(test (void) udp-multicast-join-group! s "233.252.0.0" #f) (test (void) udp-multicast-join-group! s "233.252.0.0" #f)
(test (void) udp-multicast-leave-group! s "233.252.0.0" "0.0.0.0") (test (void) udp-multicast-leave-group! s "233.252.0.0" "0.0.0.0")
(test (void) udp-bind! s #f 0 #t) (unless (eq? 'windows (system-type))
(test (void) udp-bind! s #f 0 #t))
(test (void) udp-multicast-join-group! s "233.252.0.0" "localhost") (test (void) udp-multicast-join-group! s "233.252.0.0" "localhost")
(let*-values (((la lp ra rp) (udp-addresses s #t)) (let*-values (((la lp ra rp) (udp-addresses s #t))