[108985] branches/gsoc13-tests/src/package1.0

marius at macports.org marius at macports.org
Mon Aug 5 11:55:02 PDT 2013


Revision: 108985
          https://trac.macports.org/changeset/108985
Author:   marius at macports.org
Date:     2013-08-05 11:55:02 -0700 (Mon, 05 Aug 2013)
Log Message:
-----------
package1.0: added test suite

Added Paths:
-----------
    branches/gsoc13-tests/src/package1.0/tests/
    branches/gsoc13-tests/src/package1.0/tests/Portfile
    branches/gsoc13-tests/src/package1.0/tests/library.tcl
    branches/gsoc13-tests/src/package1.0/tests/portarchivefetch.test
    branches/gsoc13-tests/src/package1.0/tests/portdmg.test
    branches/gsoc13-tests/src/package1.0/tests/portdpkg.test
    branches/gsoc13-tests/src/package1.0/tests/portmdmg.test
    branches/gsoc13-tests/src/package1.0/tests/portmpkg.test
    branches/gsoc13-tests/src/package1.0/tests/portpkg.test
    branches/gsoc13-tests/src/package1.0/tests/portrpm.test
    branches/gsoc13-tests/src/package1.0/tests/portsrpm.test

Added: branches/gsoc13-tests/src/package1.0/tests/Portfile
===================================================================
--- branches/gsoc13-tests/src/package1.0/tests/Portfile	                        (rev 0)
+++ branches/gsoc13-tests/src/package1.0/tests/Portfile	2013-08-05 18:55:02 UTC (rev 108985)
@@ -0,0 +1,40 @@
+# $Id: Portfile 85472 2011-10-14 01:52:18Z dports at macports.org $
+
+PortSystem              1.0
+
+name                    fondu
+version                 060102
+revision                1
+platforms               darwin
+categories              print
+license                 BSD
+maintainers             nomaintainer
+homepage                http://fondu.sourceforge.net/
+master_sites            http://fondu.sourceforge.net/
+
+description             A set of programs to interconvert between Mac font \
+                        formats and pfb, ttf, otf and bdf files on UNIX.
+
+long_description        Dealing with Mac fonts is hard on other operating \
+                        systems because Mac fonts are stored in the resource \
+                        fork, and other operating systems do not support \
+                        this concept. Fondu will extract the resource fork \
+                        from either a MacBinary file or a BinHex file. Ufond \
+                        will create a resource fork inside a MacBinary file.
+
+checksums               md5 e20861beacddc1ab392bef7813641bf8
+extract.suffix          .tgz
+distfiles               [suffix ${name}_src-${version}]
+
+post-patch {
+    reinplace "s|^CFLAGS = -g \$(WFLAGS)|CFLAGS = -g \$(WFLAGS) ${configure.cppflags} ${configure.cflags} ${configure.ldflags} [get_canonical_archflags]|g" ${worksrcpath}/Makefile.in
+}
+
+configure.args          --bindir=${prefix}/bin \
+                        --mandir=${prefix}/share/man
+
+post-destroot {
+    eval xinstall -m 644 [glob ${worksrcpath}/*.1] ${destroot}${prefix}/share/man/man1/
+}
+
+test.run		yes

Added: branches/gsoc13-tests/src/package1.0/tests/library.tcl
===================================================================
--- branches/gsoc13-tests/src/package1.0/tests/library.tcl	                        (rev 0)
+++ branches/gsoc13-tests/src/package1.0/tests/library.tcl	2013-08-05 18:55:02 UTC (rev 108985)
@@ -0,0 +1,107 @@
+proc env_init {} {
+    global os.platform os.major os.arch epoch destpath package.destpath configure.build_arch
+    global subport version revision package.flat maintainers description categories
+    global supported_archs porturl workpath distname license filespath portpath pwd
+    global portname
+
+    set os.platform darwin
+    set os.major 9
+    set os.arch i386
+    set epoch 1
+
+    set workpath $pwd/work   
+    set destpath $pwd/pkg
+    set portpath $pwd
+    set portdbpath $pwd/dbpath
+    set filespath $pwd/files
+    set configure.build_arch build_arch
+    set package.destpath $pwd/pkg
+
+    set portname fondu   
+    set subport fondu
+    set version 060102
+    set distname fondu_src-060102
+    set revision 1
+    set license MIT
+    set package.flat no
+    set maintainers {test at macports.org}
+    set description test.description
+    set categories test
+    set supported_archs noarch
+    set porturl "http://fondu.sourceforge.net/"
+}
+
+##
+# This is basically a copy of macports::worker_init, but without using
+# sub-interpreters
+proc macports_worker_init {} {
+    interp alias {} _cd {} cd
+    proc PortSystem {version} {
+        package require port $version
+    }
+    # Clearly separate slave interpreters and the master interpreter.
+    interp alias {} mport_exec      {} mportexec
+    interp alias {} mport_open      {} mportopen
+    interp alias {} mport_close     {} mportclose
+    interp alias {} mport_lookup    {} mportlookup
+    interp alias {} mport_info      {} mportinfo
+    # Export some utility functions defined here.
+    interp alias {} macports_create_thread          {} macports::create_thread
+    interp alias {} getportworkpath_from_buildpath  {} macports::getportworkpath_from_buildpath
+    interp alias {} getportresourcepath             {} macports::getportresourcepath
+    interp alias {} getportlogpath                  {} macports::getportlogpath
+    interp alias {} getdefaultportresourcepath      {} macports::getdefaultportresourcepath
+    interp alias {} getprotocol                     {} macports::getprotocol
+    interp alias {} getportdir                      {} macports::getportdir
+    interp alias {} findBinary                      {} macports::findBinary
+    interp alias {} binaryInPath                    {} macports::binaryInPath
+    # New Registry/Receipts stuff
+    interp alias {} registry_new                    {} registry::new_entry
+    interp alias {} registry_open                   {} registry::open_entry
+    interp alias {} registry_write                  {} registry::write_entry
+    interp alias {} registry_prop_store             {} registry::property_store
+    interp alias {} registry_prop_retr              {} registry::property_retrieve
+    interp alias {} registry_exists                 {} registry::entry_exists
+    interp alias {} registry_exists_for_name        {} registry::entry_exists_for_name
+    interp alias {} registry_activate               {} portimage::activate
+    interp alias {} registry_deactivate             {} portimage::deactivate
+    interp alias {} registry_deactivate_composite   {} portimage::deactivate_composite
+    interp alias {} registry_uninstall              {} registry_uninstall::uninstall
+    interp alias {} registry_register_deps          {} registry::register_dependencies
+    interp alias {} registry_fileinfo_for_index     {} registry::fileinfo_for_index
+    interp alias {} registry_fileinfo_for_file      {} registry::fileinfo_for_file
+    interp alias {} registry_bulk_register_files    {} registry::register_bulk_files
+    interp alias {} registry_active                 {} registry::active
+    interp alias {} registry_file_registered        {} registry::file_registered
+    interp alias {} registry_port_registered        {} registry::port_registered
+    interp alias {} registry_list_depends           {} registry::list_depends
+    # deferred options processing.
+    interp alias {} getoption {} macports::getoption
+    # ping cache
+    interp alias {} get_pingtime {} macports::get_pingtime
+    interp alias {} set_pingtime {} macports::set_pingtime
+    # archive_sites.conf handling
+    interp alias {} get_archive_sites_conf_values {} macports::get_archive_sites_conf_values
+    foreach opt $macports::portinterp_options {
+        if {![info exists $opt]} {
+            global macports::$opt
+        }
+        if {[info exists $opt]} {
+            set system_options($opt) $opt
+            set ::$opt $opt
+        }
+    }
+    foreach opt $macports::portinterp_deferred_options {
+        global macports::$opt
+        # define the trace hook.
+        proc trace_$opt {name1 name2 op} {
+            trace remove variable ::$opt read ::trace_$opt
+            global $opt
+            set $opt [getoption $opt]
+        }
+        # next access will actually define the variable.
+        trace add variable ::$opt read ::trace_$opt
+        # define some value now
+        set $opt "?"
+    }
+}

Added: branches/gsoc13-tests/src/package1.0/tests/portarchivefetch.test
===================================================================
--- branches/gsoc13-tests/src/package1.0/tests/portarchivefetch.test	                        (rev 0)
+++ branches/gsoc13-tests/src/package1.0/tests/portarchivefetch.test	2013-08-05 18:55:02 UTC (rev 108985)
@@ -0,0 +1,69 @@
+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
+package require portarchivefetch 1.0
+source ./library.tcl
+macports_worker_init
+
+source ../portarchivefetch.tcl
+
+test filter_sites {
+    Filter sites unit test.
+} -setup {
+    global os.platform os.major os.arch epoch destpath package.destpath configure.build_arch
+    global subport version revision package.flat maintainers description categories
+    global supported_archs portname porturl portdbpath portpath workpath distname filespath license
+    env_init
+
+    set portvariants {var1}
+    set master_sites "http://fondu.sourceforge.net/"
+
+    #array set portfetch::mirror_sites::sites {
+#	"http://aaa.bbb.ccc/ddd/eee/file.zip" aaa
+    #}
+    #set portfetch::mirror_sites::archive_type tgz
+    #set portfetch::mirror_sites::archive_prefix file
+
+} -body {
+    if {[catch {portarchivefetch::filter_sites}] != 0} {
+	return "FAIL: couldn't fetch file"
+    }
+
+    return "Filter sites successful."
+} -result "Filter sites successful."
+
+
+test checkarchivefiles {
+    Check archive files unit test.
+} -body {
+    set urls {www.a.com www.b.com}
+    set all_archive_files ""
+    set archivefetch.fulldestpath $pwd/path
+    set archive_sites {site1:zip site2:tgz}
+
+    if {[catch {portarchivefetch::checkarchivefiles $urls}] != 0} {
+	return "FAIL: cannot run checkarchivefiles"
+    }
+    if {[lindex $all_archive_files 0] != "fondu-060102_1var1.darwin_9.noarch.zip"} {
+	return "FAIL: invalid archive file name"
+    }
+    if {[lindex $all_archive_files 1] != "fondu-060102_1var1.darwin_9.noarch.tgz"} {
+	return "FAIL: invalid archive file name"
+    }
+    return "Check archive files successful."
+} -result "Check archive files successful."
+
+
+# test get_full_archive_sites_path
+# test checkfiles
+# test fetchfiles
+# test archivefetch_start
+# test archivefetch_main
+
+
+cleanupTests

Added: branches/gsoc13-tests/src/package1.0/tests/portdmg.test
===================================================================
--- branches/gsoc13-tests/src/package1.0/tests/portdmg.test	                        (rev 0)
+++ branches/gsoc13-tests/src/package1.0/tests/portdmg.test	2013-08-05 18:55:02 UTC (rev 108985)
@@ -0,0 +1,53 @@
+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 ../portdmg.tcl
+source ../../port1.0/port_autoconf.tcl
+source ./library.tcl
+
+macports_worker_init
+
+
+# test dmg_main
+
+
+test package_dmg {
+    Package dmg unit test.
+} -setup {
+    set os.major 10
+    set os.arch i386
+
+    set subport fondu
+    set version 060102
+    set revision 1
+    set package.destpath $pwd/pkg
+    set UI_PREFIX >
+
+    file mkdir $pwd/pkg
+    close [open $pwd/pkg/fondu-060102.pkg w+]
+
+} -body {
+    if {[portdmg::dmg_main] != 0} {
+	return "FAIL: cannot create dmg"
+    }
+    if {![file exists $pwd/pkg/fondu-060102-1.dmg]} {
+	return "FAIL: missing .dmg file"
+    }
+    if {![file exists $pwd/pkg/fondu-060102-1/fondu-060102.pkg]} {
+	return "FAIL: invalid package.destpath"
+    }
+    return "Package dmg successful."
+
+} -cleanup {
+    file delete -force $pwd/pkg
+
+} -result "Package dmg successful."
+
+
+cleanupTests

Added: branches/gsoc13-tests/src/package1.0/tests/portdpkg.test
===================================================================
--- branches/gsoc13-tests/src/package1.0/tests/portdpkg.test	                        (rev 0)
+++ branches/gsoc13-tests/src/package1.0/tests/portdpkg.test	2013-08-05 18:55:02 UTC (rev 108985)
@@ -0,0 +1,71 @@
+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 ../portdpkg.tcl
+source ../../port1.0/port_autoconf.tcl
+source ./library.tcl
+
+macports_worker_init
+
+
+test main {
+    Port dpkg main unit test.
+} -setup {
+    set os.platform darwin
+    set os.major 10
+    set os.arch i386
+    set epoch 1
+
+    set destpath $pwd/pkg
+    set configure.build_arch build_arch
+    set package.destpath $pwd/pkg
+
+    set subport fondu
+    set version 060102
+    set revision 1
+    set maintainers {test at macports.org}
+    set description test.description
+    set categories test
+    set supported_archs noarch
+
+
+} -body {
+    if {[catch {exec which dpkg-deb}] != 0} {
+	return "FAIL: dpkg package missing. Try 'port install dpkg'."
+    }
+
+    if {[catch {portdpkg::main}] != 0} {
+	return "FAIL: cannot create dmg"
+    }
+    if {![file exists $pwd/pkg/fondu_060102-1_all.deb]} {
+	return "FAIL: missing .deb file"
+    }
+    return "Package deb successful."
+
+} -cleanup {
+    file delete -force $pwd/pkg
+
+} -result "Package deb successful."
+
+
+test make_dependency_list {
+    Make dependency list unit test.
+} -setup {
+    set subport fondu
+    set version 060102
+    set revision 1
+} -body {
+    if {[portdpkg::make_dependency_list $subport] != "fondu/060102"} {
+	return "FAIL: could not make dependency list"
+    }
+    return "Make dependency list successful."
+} -result "Make dependency list successful."
+
+
+cleanupTests

Added: branches/gsoc13-tests/src/package1.0/tests/portmdmg.test
===================================================================
--- branches/gsoc13-tests/src/package1.0/tests/portmdmg.test	                        (rev 0)
+++ branches/gsoc13-tests/src/package1.0/tests/portmdmg.test	2013-08-05 18:55:02 UTC (rev 108985)
@@ -0,0 +1,55 @@
+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 ../portmdmg.tcl
+source ../portmpkg.tcl
+source ../../port1.0/port_autoconf.tcl
+source ./library.tcl
+
+macports_worker_init
+
+
+# test dmg_main
+
+
+test package_mdmg {
+    Package mdmg unit test.
+} -setup {
+    set os.major 10
+    set os.arch i386
+
+    set subport fondu
+    set portepoch i386
+    set version 060102
+    set revision 1
+    set package.destpath $pwd/pkg
+    set UI_PREFIX >
+
+    file mkdir $pwd/pkg
+    close [open $pwd/pkg/fondu-i386_060102_1.mpkg w+]
+
+} -body {
+    if {[portmdmg::package_mdmg $subport $portepoch $version $revision] != 0} {
+	return "FAIL: cannot create mdmg"
+    }
+    if {![file exists $pwd/pkg/fondu-060102-1.dmg]} {
+	return "FAIL: missing .dmg file"
+    }
+    if {![file exists $pwd/pkg/fondu-060102-1/fondu-i386_060102_1.mpkg]} {
+	return "FAIL: invalid package.destpath"
+    }
+    return "Package dmg successful."
+
+} -cleanup {
+    file delete -force $pwd/pkg
+
+} -result "Package dmg successful."
+
+
+cleanupTests

Added: branches/gsoc13-tests/src/package1.0/tests/portmpkg.test
===================================================================
--- branches/gsoc13-tests/src/package1.0/tests/portmpkg.test	                        (rev 0)
+++ branches/gsoc13-tests/src/package1.0/tests/portmpkg.test	2013-08-05 18:55:02 UTC (rev 108985)
@@ -0,0 +1,76 @@
+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
+package require portmpkg 1.0
+package require portpkg 1.0
+source ./library.tcl
+macports_worker_init
+
+
+test mpkg_main {
+    Port mpkg main unit test.
+} -setup {
+    global os.platform os.major os.arch epoch destpath package.destpath configure.build_arch
+    global subport version revision package.flat maintainers description categories
+    global supported_archs porturl
+    env_init
+
+    file mkdir $destpath
+    close [open $destpath/fondu-1_060102_1.pkg w+]
+
+} -body {
+    if {[portmpkg::mpkg_main] != 0} {
+	return "FAIL: cannot create pkg"
+    }
+    if {![file exists $destpath/fondu-1_060102_1.mpkg/Contents/PkgInfo]} {
+	return "FAIL: missing PkgInfo file"
+    }
+    if {![file exists $destpath/fondu-1_060102_1.mpkg/Contents/Info.plist]} {
+	return "FAIL: missing Info.plist file"
+    }
+    if {![file exists $destpath/fondu-1_060102_1.mpkg/Contents/Resources]} {
+	return "FAIL: missing Resources dir"
+    }
+    if {![file exists $destpath/fondu-1_060102_1.mpkg/Contents/Packages/fondu-1_060102_1.pkg]} {
+	return "FAIL: missing pkg file"
+    }
+    return "Package mpkg successful."
+
+} -cleanup {
+    file delete -force $destpath
+
+} -result "Package mpkg successful."
+
+
+test make_dependency_list {
+    Make dependency list unit test.
+} -setup {
+    global os.platform os.major os.arch epoch destpath package.destpath configure.build_arch
+    global subport version revision package.flat maintainers description categories
+    global supported_archs porturl
+    env_init
+
+    set destination $pwd/destination
+} -body {
+    set res [portmpkg::make_dependency_list $subport $destination]
+    if { $res != "{fondu 0 060102 1 ditem_4}" } {
+	return "FAIL: invalid dependency list"
+    }
+    return "Dependency list successful."
+
+} -result "Dependency list successful."
+
+
+# Covered by mpkg_main
+# test make_one_package
+# test epoch_namestr
+# test revision_namestr
+# test package_mpkg
+
+
+cleanupTests

Added: branches/gsoc13-tests/src/package1.0/tests/portpkg.test
===================================================================
--- branches/gsoc13-tests/src/package1.0/tests/portpkg.test	                        (rev 0)
+++ branches/gsoc13-tests/src/package1.0/tests/portpkg.test	2013-08-05 18:55:02 UTC (rev 108985)
@@ -0,0 +1,65 @@
+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
+package require portmpkg 1.0
+package require portpkg 1.0
+source ./library.tcl
+macports_worker_init
+
+
+test pkg_main {
+    Port pkg main unit test.
+} -setup {
+    global os.platform os.major os.arch epoch destpath package.destpath configure.build_arch
+    global subport version revision package.flat maintainers description categories
+    global supported_archs porturl
+    env_init
+
+    file mkdir $destpath
+    close [open $destpath/fondu-1_060102_1.pkg w+]
+
+    set contents_dir $destpath/fondu-1_060102_1.mpkg/Contents/
+    set packages_dir $destpath/fondu-1_060102_1.mpkg/Contents/Packages
+    set res_dir $destpath/fondu-1_060102_1.mpkg/Contents/Resources
+
+} -body {
+    if {[portmpkg::mpkg_main] != 0} {
+	return "FAIL: cannot create pkg"
+    }
+    if {![file exists $contents_dir/PkgInfo]} {
+	return "FAIL: missing PkgInfo file"
+    }
+    if {![file exists $contents_dir/Info.plist]} {
+	return "FAIL: missing Info.plist file"
+    }
+
+    if {![file exists $res_dir]} {
+	return "FAIL: missing Resources dir"
+    }
+    if {![file exists $res_dir/Description.plist]} {
+	return "FAIL: missing Description.plist file"
+    }
+    if {![file exists $res_dir/Welcome.html]} {
+	return "FAIL: missing Welcome.html file"
+    }
+    if {![file exists $res_dir/background.tiff]} {
+	return "FAIL: missing background.tiff file"
+    }
+
+    if {![file exists $packages_dir/fondu-1_060102_1.pkg]} {
+	return "FAIL: missing pkg file"
+    }
+    return "Package pkg successful."
+
+} -cleanup {
+    file delete -force $destpath
+
+} -result "Package pkg successful."
+
+
+cleanupTests

Added: branches/gsoc13-tests/src/package1.0/tests/portrpm.test
===================================================================
--- branches/gsoc13-tests/src/package1.0/tests/portrpm.test	                        (rev 0)
+++ branches/gsoc13-tests/src/package1.0/tests/portrpm.test	2013-08-05 18:55:02 UTC (rev 108985)
@@ -0,0 +1,42 @@
+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
+package require portrpm 1.0
+source ./library.tcl
+macports_worker_init
+
+
+test rpm_main {
+    Rpm pkg unit test.
+} -setup {
+    if {[catch {exec which rpmbuild}] != 0} {
+	return "FAIL: missing rpm package. try 'port install rpm'"
+    }
+
+    global os.platform os.major os.arch epoch destpath package.destpath configure.build_arch
+    global subport version revision package.flat maintainers description categories
+    global supported_archs portname porturl portdbpath workpath license
+    env_init
+
+    file mkdir $workpath
+    file mkdir $portdbpath
+
+} -body {
+    set res [portrpm::rpm_main]
+    puts $res
+
+    return "Rpm pkg successful."
+} -result "Rpm pkg successful."
+
+
+# Covered by rpm_main
+# test make_dependency_list
+# test word_wrap
+# test write_spec
+
+cleanupTests

Added: branches/gsoc13-tests/src/package1.0/tests/portsrpm.test
===================================================================
--- branches/gsoc13-tests/src/package1.0/tests/portsrpm.test	                        (rev 0)
+++ branches/gsoc13-tests/src/package1.0/tests/portsrpm.test	2013-08-05 18:55:02 UTC (rev 108985)
@@ -0,0 +1,43 @@
+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
+package require portsrpm 1.0
+source ./library.tcl
+macports_worker_init
+
+
+test srpm_main {
+    Srpm pkg unit test.
+} -setup {
+    if {[catch {exec which rpmbuild}] != 0} {
+	return "FAIL: missing rpm package. try 'port install rpm'"
+    }
+
+    global os.platform os.major os.arch epoch destpath package.destpath configure.build_arch
+    global subport version revision package.flat maintainers description categories
+    global supported_archs portname porturl portdbpath portpath workpath distname filespath license
+    env_init
+
+    file mkdir $workpath
+    file mkdir $portdbpath
+
+} -body {
+    set res [portsrpm::srpm_main]
+    puts $res
+
+    return "Srpm pkg successful."
+} -result "Srpm pkg successful."
+
+
+# Covered by rpm_main
+# test srpm_pkg
+# test make_dependency_list
+# test word_wrap
+# test write_port_spec
+
+cleanupTests
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130805/a6594c6f/attachment-0001.html>


More information about the macports-changes mailing list