[108657] branches/gsoc13-tests/src/port1.0/tests/portdistcheck.test

marius at macports.org marius at macports.org
Mon Jul 29 12:03:35 PDT 2013


Revision: 108657
          https://trac.macports.org/changeset/108657
Author:   marius at macports.org
Date:     2013-07-29 12:03:35 -0700 (Mon, 29 Jul 2013)
Log Message:
-----------
portdistcheck.test: added partial test case

Added Paths:
-----------
    branches/gsoc13-tests/src/port1.0/tests/portdistcheck.test

Added: branches/gsoc13-tests/src/port1.0/tests/portdistcheck.test
===================================================================
--- branches/gsoc13-tests/src/port1.0/tests/portdistcheck.test	                        (rev 0)
+++ branches/gsoc13-tests/src/port1.0/tests/portdistcheck.test	2013-07-29 19:03:35 UTC (rev 108657)
@@ -0,0 +1,93 @@
+package require tcltest 2
+namespace import tcltest::*
+
+set pwd [file normalize $argv0]
+set pwd [eval file join {*}[lrange [file split $pwd] 0 end-1]]
+
+package require macports 1.0
+mportinit
+
+source ../portdistcheck.tcl
+
+proc getdefaultportresourcepath {{path ""}} {
+    global macports::sources_default
+
+    set default_source_url [lindex ${sources_default} 0]
+    if {[getprotocol $default_source_url] == "file"} {
+        set proposedpath [getportdir $default_source_url]
+    } else {
+        set proposedpath [getsourcepath $default_source_url]
+    }
+
+    # append requested path
+    set proposedpath [file join $proposedpath _resources $path]
+
+    return $proposedpath
+}
+
+proc getprotocol {url} {
+    if {[regexp {(?x)([^:]+)://.+} $url match protocol] == 1} {
+        return ${protocol}
+    } else {
+        return -code error "Can't parse url $url"
+    }
+}
+
+proc getsourcepath {url} {
+    global macports::portdbpath
+
+    set source_path [split $url ://]
+
+    if {[_source_is_snapshot $url]} {
+        # daily snapshot tarball
+        return [file join $portdbpath sources [join [lrange $source_path 3 end-1] /] ports]
+    }
+
+    return [file join $portdbpath sources [lindex $source_path 3] [lindex $source_path 4] [lindex $source_path 5]]
+}
+
+proc getportresourcepath {url {path ""} {fallback yes}} {
+    global macports::sources_default
+
+    set protocol [getprotocol $url]
+
+    switch -- ${protocol} {
+        file {
+            set proposedpath [file normalize [file join [getportdir $url] .. ..]]
+        }
+        default {
+            set proposedpath [getsourcepath $url]
+        }
+    }
+
+    # append requested path
+    set proposedpath [file join $proposedpath _resources $path]
+
+    if {$fallback == "yes" && ![file exists $proposedpath]} {
+        return [getdefaultportresourcepath $path]
+    }
+
+    return $proposedpath
+}
+
+
+test distcheck_main {
+    Distcheck main unit test.
+} -body {
+    set portpath $pwd
+    set filespath $pwd/files
+
+    set name fondu
+    set subport fondu
+    set distname fondu_src-060102
+    set porturl "http://fondu.sourceforge.net/"
+    set master_sites "http://fondu.sourceforge.net/"
+
+    set res [portdistcheck::distcheck_main]
+    puts $res
+
+    return "Distcheck main successful."
+} -result "Distcheck main successful."
+
+
+cleanupTests
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130729/944d2889/attachment.html>


More information about the macports-changes mailing list