Warning suppression and made sure it all works with 8.2 - 8.5
authorpatthoyts <patthoyts>
Tue, 20 Jun 2006 11:01:23 +0000 (11:01 +0000)
committerpatthoyts <patthoyts>
Tue, 20 Jun 2006 11:01:23 +0000 (11:01 +0000)
ChangeLog
doc/udp.man
generic/udp_tcl.c
tests/all.tcl
tests/udp-srv.test

index 367a38754569e05bf40dd5f6de85dbb6b736c09c..a7023d21d4a890475a129c9a1c22219ce53787dd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@
 
        * tests/udp-srv.test: Added new test file which runs a child
                              proces as a udp server.
+       * tests/all.tcl:      Support 8.2 and 8.3 test package.
 
 2006-05-15  Pat Thoyts  <patthoyts@users.sourceforge.net>
 
index 2d69487ae24337e0ab8e754f52e277f3625b077b..6ad1e3c668efa62b18598dd48e302a0113b9e1de 100644 (file)
@@ -30,12 +30,16 @@ if required.
 
 [call [cmd "udp_conf"] [arg "sock"] [arg "host"] [arg "port"]]
 
+[emph Deprecated] in favour of the standard Tcl [cmd fconfigure] command.
+[nl]
 [cmd udp_conf] in this configuration is used to specify the remote destination
 for packets written to this [arg "sock"]. You must call this command before
 writing data to the UDP socket.
 
 [call [cmd "udp_conf"] [arg "sock"] [arg [opt -myport]] [arg [opt -remote]] [arg [opt -peer]] [arg [opt "-broadcast bool"]] [arg [opt "-ttl count"]]]
 
+[emph Deprecated] in favour of the standard Tcl [cmd fconfigure] command.
+[nl]
 In addition to being used to configure the remote host, the [cmd "udp_conf"]
 command is used to obtain information about the UDP socket.
 
index e19db8e37c1d86d3956cecc38cfd8a55d337652b..fdeae4aee22a76d963bd4270c880245e669a0588 100644 (file)
@@ -394,11 +394,11 @@ udpConf(ClientData clientData, Tcl_Interp *interp,
     } else if (argc == 4) {
         if (!strcmp(argv[2], "-mcastadd")) {
 
-           r = UdpMulticast(statePtr, interp, argv[3], IP_ADD_MEMBERSHIP);
+           r = UdpMulticast((ClientData)statePtr, interp, argv[3], IP_ADD_MEMBERSHIP);
 
         } else if (!strcmp(argv[2], "-mcastdrop")) {
 
-            r = UdpMulticast(statePtr, interp, argv[3], IP_DROP_MEMBERSHIP);
+            r = UdpMulticast((ClientData)statePtr, interp, argv[3], IP_DROP_MEMBERSHIP);
 
         } else if (!strcmp(argv[2], "-broadcast")) {
 
@@ -862,7 +862,7 @@ udpClose(ClientData instanceData, Tcl_Interp *interp)
        int n = 0;
        Tcl_ListObjGetElements(interp, statePtr->groupsObj, &objc, &objv);
        for (n = 0; n < objc; n++) {
-           UdpMulticast(statePtr, interp, 
+           UdpMulticast((ClientData)statePtr, interp, 
                Tcl_GetString(objv[n]), IP_DROP_MEMBERSHIP);
        }
        Tcl_DecrRefCount(statePtr->groupsObj);
@@ -1217,7 +1217,7 @@ udpGetOption(ClientData instanceData, Tcl_Interp *interp,
              CONST84 char *optionName, Tcl_DString *optionValue)
 {
     UdpState *statePtr = (UdpState *)instanceData;
-    const char * options[] = { "myport", "remote", "peer", "mcastgroups", "broadcast", "ttl", NULL};
+    CONST84 char * options[] = { "myport", "remote", "peer", "mcastgroups", "broadcast", "ttl", NULL};
     int r = TCL_OK;
 
     if (optionName == NULL) {
index d711f38892c3601f1a696f6de4ffceed7148d1a4..b415887089aa11e537d1cc43a5c61f29c44cb283 100644 (file)
@@ -18,7 +18,15 @@ set ::tcltest::testSingleFile false
 set ::tcltest::testsDirectory [file dir [info script]]
 
 # We need to ensure that the testsDirectory is absolute
-::tcltest::normalizePath ::tcltest::testsDirectory
+if {[catch {::tcltest::normalizePath ::tcltest::testsDirectory}]} {
+    # The version of tcltest we have here does not support
+    # 'normalizePath', so we have to do this on our own.
+
+    set oldpwd [pwd]
+    catch {cd $::tcltest::testsDirectory}
+    set ::tcltest::testsDirectory [pwd]
+    cd $oldpwd
+}
 
 set chan $::tcltest::outputChannel
 
index e3c5f3017d0160f4cd3fd3413a6d5e293b429df4..28e5c8477259b18e4fa04536c6823dd55ec18b05 100644 (file)
@@ -1,6 +1,9 @@
-if {[lsearch [namespace children] ::tcltest] == -1} {
-    package require tcltest
+if {[catch {
+    package require tcltest 2
     namespace import -force ::tcltest::*
+} err]} {
+    puts "skipping [file tail [info script]]: these tests require tcltest 2.0"
+    return
 }
 
 package require udp