[Checkins] SVN: Sandbox/adamg/zope.wineggbuilder/trunk/ checkpoint

Adam Groszer agroszer at gmail.com
Wed Jun 9 02:52:10 EDT 2010


Log message for revision 113299:
  checkpoint

Changed:
  _U  Sandbox/adamg/zope.wineggbuilder/trunk/
  _U  Sandbox/adamg/zope.wineggbuilder/trunk/src/
  A   Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/README.txt
  U   Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/base.py
  U   Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/build.py
  A   Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/test.ini
  A   Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/testing.py
  U   Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/tests.py
  D   Sandbox/adamg/zope.wineggbuilder/trunk/test.ini

-=-

Property changes on: Sandbox/adamg/zope.wineggbuilder/trunk
___________________________________________________________________
Added: svn:ignore
   + bin
develop-eggs
parts
.installed.cfg



Property changes on: Sandbox/adamg/zope.wineggbuilder/trunk/src
___________________________________________________________________
Added: svn:ignore
   + zope.wineggbuilder.egg-info


Added: Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/README.txt
===================================================================
--- Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/README.txt	                        (rev 0)
+++ Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/README.txt	2010-06-09 06:52:09 UTC (rev 113299)
@@ -0,0 +1,35 @@
+
+Install mocks:
+
+    >>> from zope.wineggbuilder import base
+    >>> from zope.wineggbuilder import build
+    >>> from zope.wineggbuilder import testing
+
+    >>> oldSVNcommand = base.SVN.commandKlass
+    >>> base.SVN.commandKlass = testing.MockCommand()
+
+    >>> oldCompilerCommand = build.Compiler.commandKlass
+    >>> build.Compiler.commandKlass = testing.MockCommand()
+
+    >>> oldPYPI = build.Package.pypiKlass
+    >>> build.Package.pypiKlass = testing.MockPYPI()
+
+    >>> oldURLgetter = build.Package.urlGetterKlass
+    >>> build.Package.urlGetterKlass = testing.MockURLGetter()
+
+
+    >>> import os.path
+    >>> testininame = os.path.join(os.path.dirname(build.__file__), 'test.ini')
+    >>> build.main([testininame, '-v'])
+
+
+    >>> from pprint import pprint
+    >>> pprint(testing.MOCKLOG)
+
+
+Remove mocks:
+
+    >>> base.SVN.commandKlass = oldSVNcommand
+    >>> build.Compiler.commandKlass = oldCompilerCommand
+    >>> build.Package.pypiKlass = oldPYPI
+    >>> build.Package.urlGetterKlass = oldURLgetter


Property changes on: Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/README.txt
___________________________________________________________________
Added: svn:keywords
   + Date Author Id Revision
Added: svn:eol-style
   + native

Modified: Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/base.py
===================================================================
--- Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/base.py	2010-06-08 19:10:13 UTC (rev 113298)
+++ Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/base.py	2010-06-09 06:52:09 UTC (rev 113299)
@@ -10,6 +10,7 @@
 import optparse
 import os
 import pkg_resources
+import shutil
 import subprocess
 import sys
 import urllib2
@@ -131,7 +132,9 @@
         pass
 
 class URLGetter(object):
-    pass
+    def get(self, url):
+        req = urllib2.Request(url)
+        return urllib2.urlopen(req).read()
 
 def getInput(prompt, default, useDefaults):
     if useDefaults:

Modified: Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/build.py
===================================================================
--- Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/build.py	2010-06-08 19:10:13 UTC (rev 113298)
+++ Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/build.py	2010-06-09 06:52:09 UTC (rev 113299)
@@ -10,11 +10,17 @@
 import optparse
 import os
 import pkg_resources
+import re
 import subprocess
 import sys
+import tempfile
 import urllib2
 import urlparse
+from collections import defaultdict
 
+import BeautifulSoup
+import ConfigParser
+
 from zope.wineggbuilder import base
 
 LOGGER = base.LOGGER
@@ -27,6 +33,9 @@
 
 
 class Compiler(object):
+    #hook to enable testing
+    commandKlass = base.Command
+
     def __init__(self, name, config, options):
         self.name = name
         self.options = options
@@ -36,15 +45,51 @@
         self.command = config.get(self.name, 'command')
         self.fileEnding = config.get(self.name, 'fileEnding')
 
+    def checkBuild(self, package, version, files):
+        """check whether build is required"""
+        needBuild = True
+        fe = self.fileEnding.lower()
+        for file in files:
+            if file.lower().endswith(fe):
+                needBuild = False
+                break
+        return needBuild
+
+    def build(self, package, version, files, sourceFolder):
+        if self.checkBuild(package, version, files):
+            #we really need to build
+            #we have the source in sourceFolder
+            cmd = self.commandKlass(cwd=sourceFolder, exitOnError=False)
+
+            if len(self.command.splitlines()) > 1:
+                #in case there are more lines we got to do .bat file
+                tmpfile = tempfile.NamedTemporaryFile(suffix='.bat')
+                command = tmpfile.name
+                tmpfile.write(self.command)
+                tmpfile.file.flush()
+            else:
+                command = self.command
+
+            cmd.do(command)
+
+            pass
+
 class Package(object):
+    #hook to enable testing
+    pypiKlass = base.PYPI
+    urlGetterKlass = base.URLGetter
+    svnKlass = base.SVN
+
     def __init__(self, name, config, options, compilers):
         self.name = name
         self.options = options
         self.read(config, compilers)
 
-    def read(self, config):
+    def read(self, config, compilers):
         self.pypiurl = config.get(self.name, 'pypiurl')
         self.tagurl = config.get(self.name, 'tagurl')
+        if self.tagurl.endswith('/'):
+            self.tagurl = self.tagurl[:-1]
         self.minVersion = getOption(config, self.name, 'minVersion')
         self.maxVersion = getOption(config, self.name, 'maxVersion')
         self.targets = []
@@ -52,12 +97,55 @@
             self.targets.append(compilers[target])
 
     def build(self):
-        pass
         #1 get versions from pypi
-        #2 get file list of the version
-        #3 check file endings
-        #4 build missing
+        pypi = self.pypiKlass()
+        versions = pypi.package_releases(self.name, show_hidden=True)
 
+        #1.1 filter versions according to minVersion and maxVersion:
+
+
+        #2 get file list of each version
+        verFiles = defaultdict(list)
+        simple = self.urlGetterKlass().get(self.pypiurl)
+        soup = BeautifulSoup.BeautifulSoup(simple)
+        VERSION = re.compile(self.name+r'-(\d+\.\d+(\.\d+){0,2})')
+        for tag in soup('a'):
+            cntnt = str(tag.contents[0]) # str: re does not like non-strings
+
+            m = VERSION.search(cntnt)
+            if m:
+                version = m.group(1)
+                if version not in versions:
+                    continue
+                verFiles[version].append(cntnt)
+
+        svn = self.svnKlass()
+        for version in versions:
+            #3 check whether we need a build
+            needBuild = False
+            for target in self.targets:
+                needBuild = target.checkBuild(
+                    self, version, verFiles.get(version, []))
+                if needBuild:
+                    break
+
+            if needBuild:
+                tmpfolder = tempfile.mkdtemp('wineggbuilder')
+                try:
+                    #3.1 svn co tag
+                    svnurl = "%s/%s" % (self.tagurl, version)
+                    svn.co(svnurl, tmpfolder)
+
+                    #3.2 build missing
+                    for target in self.targets:
+                        needBuild = target.build(
+                            self, version, verFiles.get(version, []), tmpfolder)
+                finally:
+                    #3.3 del temp folder
+                    base.rmtree(tmpfolder)
+
+
+
 class Builder(object):
     def __init__(self, configFileName, options):
         config = ConfigParser.RawConfigParser()
@@ -71,6 +159,7 @@
         for pkg in config.get(base.BUILD_SECTION, 'packages').split():
             self.packages.append(Package(pkg, config, options, self.compilers))
 
+    def runCLI(self):
         for pkg in self.packages:
             pkg.build()
 
@@ -90,11 +179,11 @@
     # Parse arguments
     options, args = base.parser.parse_args(args)
 
-    logger.setLevel(logging.INFO)
+    LOGGER.setLevel(logging.INFO)
     if options.verbose:
-        logger.setLevel(logging.DEBUG)
+        LOGGER.setLevel(logging.DEBUG)
     if options.quiet:
-        logger.setLevel(logging.FATAL)
+        LOGGER.setLevel(logging.FATAL)
 
     if len(args) == 0:
         print "No configuration was specified."
@@ -107,11 +196,11 @@
         try:
             builder.runCLI()
         except KeyboardInterrupt:
-            logger.info("Quitting")
+            LOGGER.info("Quitting")
             sys.exit(0)
 
     # Remove the handler again.
-    logger.removeHandler(handler)
+    LOGGER.removeHandler(handler)
 
     # Exit cleanly.
-    sys.exit(0)
+    #sys.exit(0)

Added: Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/test.ini
===================================================================
--- Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/test.ini	                        (rev 0)
+++ Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/test.ini	2010-06-09 06:52:09 UTC (rev 113299)
@@ -0,0 +1,31 @@
+[build]
+compilers = py24_32 py25_32 py26_32 py26_64
+packages = zope.proxy
+
+[py24_32]
+command = set PATH=%PATH%;c:\mingw32\bin
+          c:\Python24\python setup.py build_ext --compiler mingw32 bdist_egg upload
+fileEnding = py2.4-win32.egg
+
+[py25_32]
+command = set PATH=%PATH%;c:\mingw32\bin
+          c:\Python25\python setup.py build_ext --compiler mingw32 bdist_egg upload
+fileEnding = py2.5-win32.egg
+
+[py26_32]
+command = call c:\program files\msvc\msvcvars.bat
+          c:\Python26\python setup.py build_ext --compiler msvc bdist_egg upload
+fileEnding = py2.6-win32.egg
+
+[py26_64]
+command = call c:\program files\msvc\msvcvars.bat
+          c:\Python26_64\python setup.py build_ext --compiler msvc bdist_egg upload
+fileEnding = py2.6-win-amd64.egg
+
+
+[zope.proxy]
+pypiurl = http://pypi.python.org/simple/zope.proxy/
+tagurl = svn://svn.zope.org/repos/main/zope.proxy/tags/
+minVersion =
+maxVersion =
+targets = py25_32 py26_32
\ No newline at end of file


Property changes on: Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/test.ini
___________________________________________________________________
Added: svn:keywords
   + Date Author Id Revision
Added: svn:eol-style
   + native

Added: Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/testing.py
===================================================================
--- Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/testing.py	                        (rev 0)
+++ Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/testing.py	2010-06-09 06:52:09 UTC (rev 113299)
@@ -0,0 +1,161 @@
+"""tests
+
+$Id$
+"""
+__docformat__ = 'ReStructuredText'
+
+import unittest
+import doctest
+import pprint
+
+MOCKLOG = []
+
+#format is [(expected cmd, result)]
+CommandIO = [
+#svn co --non-interactive  svn://svn.zope.org/repos/main/zope.proxy/tags/3.6.0 /tmp/tmpgqt2dHwineggbuilder
+"""A    /tmp/tmpgqt2dHwineggbuilder/bootstrap.py
+A    /tmp/tmpgqt2dHwineggbuilder/buildout.cfg
+A    /tmp/tmpgqt2dHwineggbuilder/CHANGES.txt
+A    /tmp/tmpgqt2dHwineggbuilder/setup.py
+A    /tmp/tmpgqt2dHwineggbuilder/src
+A    /tmp/tmpgqt2dHwineggbuilder/src/zope
+A    /tmp/tmpgqt2dHwineggbuilder/src/zope/proxy
+A    /tmp/tmpgqt2dHwineggbuilder/src/zope/proxy/_zope_proxy_proxy.c
+A    /tmp/tmpgqt2dHwineggbuilder/src/zope/proxy/tests
+A    /tmp/tmpgqt2dHwineggbuilder/src/zope/proxy/tests/__init__.py
+A    /tmp/tmpgqt2dHwineggbuilder/src/zope/proxy/tests/test_proxy.py
+A    /tmp/tmpgqt2dHwineggbuilder/src/zope/proxy/tests/test_decorator.py
+A    /tmp/tmpgqt2dHwineggbuilder/src/zope/proxy/__init__.py
+A    /tmp/tmpgqt2dHwineggbuilder/src/zope/proxy/proxy.h
+A    /tmp/tmpgqt2dHwineggbuilder/src/zope/proxy/decorator.py
+A    /tmp/tmpgqt2dHwineggbuilder/src/zope/proxy/interfaces.py
+A    /tmp/tmpgqt2dHwineggbuilder/src/zope/__init__.py
+A    /tmp/tmpgqt2dHwineggbuilder/README.txt
+ U   /tmp/tmpgqt2dHwineggbuilder
+Checked out revision 113298.""",
+#svn co --non-interactive  svn://svn.zope.org/repos/main/zope.proxy/tags/3.4.1 /tmp/tmpKNdQxlwineggbuilder
+"""A    /tmp/tmpKNdQxlwineggbuilder/bootstrap.py
+A    /tmp/tmpKNdQxlwineggbuilder/buildout.cfg
+A    /tmp/tmpKNdQxlwineggbuilder/CHANGES.txt
+A    /tmp/tmpKNdQxlwineggbuilder/test.py
+A    /tmp/tmpKNdQxlwineggbuilder/setup.py
+A    /tmp/tmpKNdQxlwineggbuilder/src
+A    /tmp/tmpKNdQxlwineggbuilder/src/zope
+A    /tmp/tmpKNdQxlwineggbuilder/src/zope/proxy
+A    /tmp/tmpKNdQxlwineggbuilder/src/zope/proxy/_zope_proxy_proxy.c
+A    /tmp/tmpKNdQxlwineggbuilder/src/zope/proxy/tests
+A    /tmp/tmpKNdQxlwineggbuilder/src/zope/proxy/tests/__init__.py
+A    /tmp/tmpKNdQxlwineggbuilder/src/zope/proxy/tests/test_proxy.py
+A    /tmp/tmpKNdQxlwineggbuilder/src/zope/proxy/tests/test_decorator.py
+A    /tmp/tmpKNdQxlwineggbuilder/src/zope/proxy/DEPENDENCIES.cfg
+A    /tmp/tmpKNdQxlwineggbuilder/src/zope/proxy/__init__.py
+A    /tmp/tmpKNdQxlwineggbuilder/src/zope/proxy/proxy.h
+A    /tmp/tmpKNdQxlwineggbuilder/src/zope/proxy/decorator.py
+A    /tmp/tmpKNdQxlwineggbuilder/src/zope/proxy/interfaces.py
+A    /tmp/tmpKNdQxlwineggbuilder/src/zope/proxy/SETUP.cfg
+A    /tmp/tmpKNdQxlwineggbuilder/src/zope/__init__.py
+A    /tmp/tmpKNdQxlwineggbuilder/README.txt
+ U   /tmp/tmpKNdQxlwineggbuilder
+Checked out revision 113298.""",
+'svn co',
+'svn co',
+'bat',
+'bat',
+'bat',
+'bat',
+]
+
+class MockCommand(object):
+    def __init__(self):
+        pass
+
+    def __call__(self, cwd=None, captureOutput=True, exitOnError=True):
+        self.cwd = cwd
+        self.captureOutput = captureOutput
+        self.exitOnError = exitOnError
+        return self
+
+    def do(self, cmd):
+        global MOCKLOG
+        MOCKLOG.append('cmd: %s in %s' % (cmd, self.cwd))
+
+        global CommandIO
+        next = CommandIO.pop(0)
+
+        if isinstance(next, Exception):
+            raise next
+
+        return next
+
+PYPI_RELEASES = {
+    'zope.proxy': ['3.6.0', '3.5.0', '3.4.2', '3.4.1', '3.4.0', '3.3.0'],
+}
+
+class MockPYPI(object):
+    def __init__(self):
+        pass
+
+    def __call__(self):
+        return self
+
+    #def list_packages(self):
+    #    pass
+
+    def package_releases(self, package_name, show_hidden=False):
+        global MOCKLOG
+        MOCKLOG.append('package_releases: %s' % package_name)
+
+        return PYPI_RELEASES[package_name]
+
+    #def release_urls(self, package_name, version):
+    #    pass
+    #
+    #def release_data(self, package_name, version):
+    #    pass
+    #
+    #def search(self, spec, operator=None):
+    #    pass
+    #
+    #def changelog(self, since):
+    #    pass
+
+RESPONSES = {
+    'http://pypi.python.org/simple/zope.proxy/' :
+        """<html><head><title>Links for zope.proxy</title></head><body><h1>Links for zope.proxy</h1><a href="../../packages/source/z/zope.proxy/zope.proxy-3.6.0.zip#md5=896d9c53837d01875fe55cc69f43f7aa">zope.proxy-3.6.0.zip</a><br/>
+<a href="../../packages/2.6/z/zope.proxy/zope.proxy-3.6.0-py2.6-win-amd64.egg#md5=8cb96ee292e127df8c4524ec486a05b6">zope.proxy-3.6.0-py2.6-win-amd64.egg</a><br/>
+<a href="../../packages/2.6/z/zope.proxy/zope.proxy-3.5.0-py2.6-win-amd64.egg#md5=f3bdd81ef3d3f21db5cb4d9fe99b2b6e">zope.proxy-3.5.0-py2.6-win-amd64.egg</a><br/>
+<a href="../../packages/2.6/z/zope.proxy/zope.proxy-3.5.0-py2.6-win32.egg#md5=ae9c7e9ecf949422abd98c23507636ac">zope.proxy-3.5.0-py2.6-win32.egg</a><br/>
+<a href="../../packages/2.4/z/zope.proxy/zope.proxy-3.4.0-py2.4-win32.egg#md5=c23cda9412f8859d0d2d36c16e69a5a8">zope.proxy-3.4.0-py2.4-win32.egg</a><br/>
+<a href="../../packages/source/z/zope.proxy/zope.proxy-3.4.0.tar.gz#md5=a9e234e90bc4a16bb62b967d4a0412c6">zope.proxy-3.4.0.tar.gz</a><br/>
+<a href="../../packages/2.5/z/zope.proxy/zope.proxy-3.5.0-py2.5-win32.egg#md5=7ea1aa4dd320e9cceaae5031026259cc">zope.proxy-3.5.0-py2.5-win32.egg</a><br/>
+<a href="../../packages/source/z/zope.proxy/zope.proxy-3.5.0.tar.gz#md5=ac5fc916b572bc3ff630b49cda52d94a">zope.proxy-3.5.0.tar.gz</a><br/>
+<a href="../../packages/source/z/zope.proxy/zope.proxy-3.4.2.zip#md5=ad51f25d4d86be7cfebb70bd77421f92">zope.proxy-3.4.2.zip</a><br/>
+<a href="../../packages/2.4/z/zope.proxy/zope.proxy-3.5.0-py2.4-win32.egg#md5=8c73b52e76f6aea17b1542b85d8b58f4">zope.proxy-3.5.0-py2.4-win32.egg</a><br/>
+<a href="../../packages/2.6/z/zope.proxy/zope.proxy-3.4.2-py2.6-win32.egg#md5=3eff1609ba267b2b3becbe2eb37fb401">zope.proxy-3.4.2-py2.6-win32.egg</a><br/>
+<a href="../../packages/2.4/z/zope.proxy/zope.proxy-3.4.1-py2.4-win32.egg#md5=02da4f1338131d7feffabe06488962c6">zope.proxy-3.4.1-py2.4-win32.egg</a><br/>
+<a href="../../packages/source/z/zope.proxy/zope.proxy-3.4.1.zip#md5=b4d5c7345a7a2a60071a6f62db9592c6">zope.proxy-3.4.1.zip</a><br/>
+<a href="../../packages/2.5/z/zope.proxy/zope.proxy-3.4.2-py2.5-win32.egg#md5=6c1661131b0dd8c8e667b47d1e7707e7">zope.proxy-3.4.2-py2.5-win32.egg</a><br/>
+<a href="../../packages/2.4/z/zope.proxy/zope.proxy-3.4.2-py2.4-win32.egg#md5=67184719dfe56838be7241391721f11d">zope.proxy-3.4.2-py2.4-win32.egg</a><br/>
+<a href="../../packages/2.5/z/zope.proxy/zope.proxy-3.4.0-py2.5-win32.egg#md5=aa0e2c00e011b026820630150ca028ba">zope.proxy-3.4.0-py2.5-win32.egg</a><br/>
+<a href="../../packages/2.5/z/zope.proxy/zope.proxy-3.3.0-py2.5-win32.egg#md5=bcf3c132a36906787a07aac7226cbb1b">zope.proxy-3.3.0-py2.5-win32.egg</a><br/>
+<a href="../../packages/source/z/zope.proxy/zope.proxy-3.3.0.tar.gz#md5=64128ab4feeb5bfd8a66c4cdd5192a31">zope.proxy-3.3.0.tar.gz</a><br/>
+<a href="../../packages/2.6/z/zope.proxy/zope.proxy-3.6.0-py2.6-win32.egg#md5=6984986850f74abdb3cd0c738579cb16">zope.proxy-3.6.0-py2.6-win32.egg</a><br/>
+<a href="../../packages/source/z/zope.proxy/zope.proxy-3.4.0.zip#md5=3fef9f29c8b920c9f20aa3a2f92afa70">zope.proxy-3.4.0.zip</a><br/>
+<a href="../../packages/2.4/z/zope.proxy/zope.proxy-3.3.0-py2.4-win32.egg#md5=554d10d694d7e5ea9468d88c1c078387">zope.proxy-3.3.0-py2.4-win32.egg</a><br/>
+<a href="../../packages/2.5/z/zope.proxy/zope.proxy-3.4.1-py2.5-win32.egg#md5=82c2d44d956ceaa1c838bf23be18fe95">zope.proxy-3.4.1-py2.5-win32.egg</a><br/>
+<a href="http://svn.zope.org/zope.proxy" rel="homepage">3.3.0 home_page</a><br/>
+<a href="http://docs.python.org/ref/sequence-methods.html">http://docs.python.org/ref/sequence-methods.html</a><br/>
+</body></html>""",
+}
+
+class MockURLGetter(object):
+    def __init__(self):
+        pass
+
+    def __call__(self):
+        return self
+
+    def get(self, url):
+        global MOCKLOG
+        MOCKLOG.append('urlget: %s' % url)
+        return RESPONSES[url]
\ No newline at end of file


Property changes on: Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/testing.py
___________________________________________________________________
Added: svn:keywords
   + Date Author Id Revision
Added: svn:eol-style
   + native

Modified: Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/tests.py
===================================================================
--- Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/tests.py	2010-06-08 19:10:13 UTC (rev 113298)
+++ Sandbox/adamg/zope.wineggbuilder/trunk/src/zope/wineggbuilder/tests.py	2010-06-09 06:52:09 UTC (rev 113299)
@@ -5,61 +5,10 @@
 __docformat__ = 'ReStructuredText'
 
 import unittest
-import doctest
+from zope.testing import doctest
+#import doctest
 import pprint
 
-#format is [(expected cmd, result)]
-CommandIO = []
-
-class MockCommand(object):
-    def __init__(self):
-        pass
-
-    def __call__(self, cwd=None, captureOutput=True, exitOnError=True):
-        return self
-
-    def do(cmd):
-        global CommandIO
-        next = CommandIO.pop(0)
-        if next[0] != cmd:
-            raise ValueError("Wrong command, expected: %s, got: %s",
-                             (next[0], cmd))
-
-        if isinstance(next[1], Exception):
-            raise next[1]
-
-        return next[1]
-
-PYPI_RELEASES = {
-    'zope.proxy': None,
-}
-
-class MockPYPI(object):
-    def __init__(self):
-        pass
-
-    def __call__(self):
-        return self
-
-    #def list_packages(self):
-    #    pass
-
-    def package_releases(self, package_name, show_hidden=False):
-        return PYPI_RELEASES[package_name]
-
-    #def release_urls(self, package_name, version):
-    #    pass
-    #
-    #def release_data(self, package_name, version):
-    #    pass
-    #
-    #def search(self, spec, operator=None):
-    #    pass
-    #
-    #def changelog(self, since):
-    #    pass
-
-
 def test_suite():
     return unittest.TestSuite((
         doctest.DocFileSuite('README.txt',

Deleted: Sandbox/adamg/zope.wineggbuilder/trunk/test.ini
===================================================================
--- Sandbox/adamg/zope.wineggbuilder/trunk/test.ini	2010-06-08 19:10:13 UTC (rev 113298)
+++ Sandbox/adamg/zope.wineggbuilder/trunk/test.ini	2010-06-09 06:52:09 UTC (rev 113299)
@@ -1,31 +0,0 @@
-[build]
-compilers = py24_32 py25_32 py26_32 py26_64
-packages = zope.proxy
-
-[py24_32]
-command = set PATH=%PATH%;c:\mingw32\bin
-          c:\Python24\python setup.py build_ext --compiler mingw32 bdist_egg upload
-fileEnding = py2.4-win32.egg
-
-[py25_32]
-command = set PATH=%PATH%;c:\mingw32\bin
-          c:\Python25\python setup.py build_ext --compiler mingw32 bdist_egg upload
-fileEnding = py2.5-win32.egg
-
-[py26_32]
-command = call c:\program files\msvc\msvcvars.bat
-          c:\Python26\python setup.py build_ext --compiler msvc bdist_egg upload
-fileEnding = py2.6-win32.egg
-
-[py26_64]
-command = call c:\program files\msvc\msvcvars.bat
-          c:\Python26_64\python setup.py build_ext --compiler msvc bdist_egg upload
-fileEnding = py2.6-win-amd64.egg
-
-
-[zope.proxy]
-pypiurl = http://pypi.python.org/simple/zope.proxy/
-tagurl = svn://svn.zope.org/repos/main/zope.proxy/tags
-minVersion =
-maxVersion =
-targets = py25_32 py26_32
\ No newline at end of file



More information about the checkins mailing list