[93262] branches/release_2_1

jmr at macports.org jmr at macports.org
Fri May 18 07:21:36 PDT 2012


Revision: 93262
          https://trac.macports.org/changeset/93262
Author:   jmr at macports.org
Date:     2012-05-18 07:21:36 -0700 (Fri, 18 May 2012)
Log Message:
-----------
merge r93258, r93259, r93261 from trunk:
 * fix parsing of tags for urls that contain a colon to indicate a port number, and add unit test (#32018)
 * make sure unit tests use the right copy of macports

Revision Links:
--------------
    https://trac.macports.org/changeset/93258
    https://trac.macports.org/changeset/93259
    https://trac.macports.org/changeset/93261

Modified Paths:
--------------
    branches/release_2_1/base/src/port1.0/Makefile
    branches/release_2_1/base/src/port1.0/fetch_common.tcl
    branches/release_2_1/base/src/port1.0/tests/portdestroot.tcl

Added Paths:
-----------
    branches/release_2_1/base/src/port1.0/tests/portfetch.tcl

Property Changed:
----------------
    branches/release_2_1/
    branches/release_2_1/base/


Property changes on: branches/release_2_1
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk:91825,91829,91834,92072,92342,92404,92546,92730,92785,92881,92903,92976,93062,93153,93197,93250
   + /trunk:91825,91829,91834,92072,92342,92404,92546,92730,92785,92881,92903,92976,93062,93153,93197,93250,93258-93259,93261


Property changes on: branches/release_2_1/base
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/gsoc08-privileges/base:37343-46937
/branches/gsoc09-logging/base:51231-60371
/branches/gsoc11-rev-upgrade/base:78828-88375
/branches/universal-sanity/base:51872-52323
/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base:91825,91829,91834,92072,92342,92404,92546,92730,92785,92881,92903,92976,93062,93129,93153,93197,93250
/users/perry/base-bugs_and_notes:45682-46060
/users/perry/base-select:44044-44692
   + /branches/gsoc08-privileges/base:37343-46937
/branches/gsoc09-logging/base:51231-60371
/branches/gsoc11-rev-upgrade/base:78828-88375
/branches/universal-sanity/base:51872-52323
/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base:91825,91829,91834,92072,92342,92404,92546,92730,92785,92881,92903,92976,93062,93129,93153,93197,93250,93258-93259,93261
/users/perry/base-bugs_and_notes:45682-46060
/users/perry/base-select:44044-44692

Modified: branches/release_2_1/base/src/port1.0/Makefile
===================================================================
--- branches/release_2_1/base/src/port1.0/Makefile	2012-05-18 14:09:50 UTC (rev 93261)
+++ branches/release_2_1/base/src/port1.0/Makefile	2012-05-18 14:21:36 UTC (rev 93262)
@@ -33,4 +33,5 @@
 
 test::
 	${TCLSH} tests/portutil.tcl ${macports_tcl_dir}
-	${TCLSH} tests/portdestroot.tcl
+	${TCLSH} tests/portdestroot.tcl ${macports_tcl_dir}
+	${TCLSH} tests/portfetch.tcl ${macports_tcl_dir}

Modified: branches/release_2_1/base/src/port1.0/fetch_common.tcl
===================================================================
--- branches/release_2_1/base/src/port1.0/fetch_common.tcl	2012-05-18 14:09:50 UTC (rev 93261)
+++ branches/release_2_1/base/src/port1.0/fetch_common.tcl	2012-05-18 14:21:36 UTC (rev 93262)
@@ -103,10 +103,17 @@
 
         # here we have the chance to take a look at tags, that possibly
         # have been assigned in mirror_sites.tcl
-        set splitlist [split $element :]
-        # every element is a URL, so we'll always have multiple elements. no need to check
-        set element "[lindex $splitlist 0]:[lindex $splitlist 1]"
-        set mirror_tag "[lindex $splitlist 2]"
+        # tag will be after the last colon after the
+        # first slash after the ://
+        set lastcolon [string last : $element]
+        set aftersep [expr [string first : $element] + 3]
+        set firstslash [string first / $element $aftersep]
+        if {$firstslash != -1 && $firstslash < $lastcolon} {
+            set mirror_tag [string range $element [expr $lastcolon + 1] end]
+            set element [string range $element 0 [expr $lastcolon - 1]]
+        } else {
+            set mirror_tag ""
+        }
 
         set name_re {\$(?:name\y|\{name\})}
         # if the URL has $name embedded, kill any mirror_tag that may have been added

Modified: branches/release_2_1/base/src/port1.0/tests/portdestroot.tcl
===================================================================
--- branches/release_2_1/base/src/port1.0/tests/portdestroot.tcl	2012-05-18 14:09:50 UTC (rev 93261)
+++ branches/release_2_1/base/src/port1.0/tests/portdestroot.tcl	2012-05-18 14:21:36 UTC (rev 93262)
@@ -1,3 +1,4 @@
+source [file join [lindex $argv 0] macports1.0 macports_fastload.tcl]
 package require macports
 mportinit
 

Copied: branches/release_2_1/base/src/port1.0/tests/portfetch.tcl (from rev 93259, trunk/base/src/port1.0/tests/portfetch.tcl)
===================================================================
--- branches/release_2_1/base/src/port1.0/tests/portfetch.tcl	                        (rev 0)
+++ branches/release_2_1/base/src/port1.0/tests/portfetch.tcl	2012-05-18 14:21:36 UTC (rev 93262)
@@ -0,0 +1,58 @@
+source [file join [lindex $argv 0] macports1.0 macports_fastload.tcl]
+package require macports
+mportinit
+
+set scriptdir [file dirname [info script]]
+source ${scriptdir}/../portfetch.tcl
+source ${scriptdir}/common.tcl
+
+namespace eval tests {
+
+proc "mirror tags are parsed correctly" {} {
+    global distfiles master_sites name dist_subdir filespath scriptdir
+
+    set name test
+    set filespath $scriptdir
+    set dist_subdir tset
+    set portfetch::mirror_sites::sites(macports_test) {
+        http://distfiles.macports.org/:mirror
+        http://distfiles2.macports.org:80/:mirror
+        http://distfiles3.macports.org:80/
+        http://distfiles4.macports.org:80/some/subdir/
+        http://distfiles5.macports.org:80/some/subdir/:mirror
+    }
+    set distfiles test.tar.bz2
+    set master_sites macports_test
+    set fetch_urls {}
+    portfetch::checksites [list master_sites {}] ""
+    portfetch::checkdistfiles fetch_urls
+
+    global portfetch::urlmap
+    foreach {url_var distfile} $fetch_urls {
+        if {![info exists urlmap($url_var)]} {
+            set urlmap($url_var) $urlmap(master_sites)
+        }
+        foreach site $urlmap($url_var) {
+            set file_url [portfetch::assemble_url $site $distfile]
+            lappend all_file_urls $file_url
+        }
+    }
+    set all_file_urls [lsort $all_file_urls]
+
+    set expected [list http://distfiles.macports.org/tset/test.tar.bz2 \
+                       http://distfiles2.macports.org:80/tset/test.tar.bz2 \
+                       http://distfiles3.macports.org:80/test/test.tar.bz2 \
+                       http://distfiles4.macports.org:80/some/subdir/test/test.tar.bz2 \
+                       http://distfiles5.macports.org:80/some/subdir/tset/test.tar.bz2]
+
+    test_equal {$all_file_urls} {$expected}
+}
+
+# run all tests
+foreach proc [info procs *] {
+    puts "* ${proc}"
+    $proc
+}
+
+# namespace eval tests
+}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120518/71d4c887/attachment.html>


More information about the macports-changes mailing list