[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