[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