[pypy-commit] pypy packaging: tests pass

mattip noreply at buildbot.pypy.org
Wed May 21 23:32:04 CEST 2014


Author: mattip <matti.picus at gmail.com>
Branch: packaging
Changeset: r71659:3d5078cb9bc5
Date: 2014-05-22 00:28 +0300
http://bitbucket.org/pypy/pypy/changeset/3d5078cb9bc5/

Log:	tests pass

diff --git a/pypy/tool/release/create_package.py b/pypy/tool/release/create_package.py
--- a/pypy/tool/release/create_package.py
+++ b/pypy/tool/release/create_package.py
@@ -65,7 +65,7 @@
         try:
             subprocess.check_call([str(pypy_c), '-c', 'import ' + module])
         except subprocess.CalledProcessError:
-            print >>sys.stderr, """Building %{0} bindings failed.
+            print >>sys.stderr, """Building {0} bindings failed.
 You can either install development headers package or
 add --without-{0} option to skip packaging binary CFFI extension.""".format(module)
             raise MissingDependenciesError(module)
@@ -78,7 +78,7 @@
     override_pypy_c = options.override_pypy_c
 
     basedir = py.path.local(basedir)
-    if override_pypy_c is None:
+    if not override_pypy_c:
         basename = 'pypy-c'
         if sys.platform == 'win32':
             basename += '.exe'
@@ -171,7 +171,7 @@
         shutil.copyfile(str(basedir.join('lib_pypy', file)),
                         str(pypydir.join('lib_pypy', file)))
     license = generate_license(str(basedir.join('LICENSE')), options)
-    with open(pypydir.join('LICENSE'), 'w') as LICENSE:
+    with open(str(pypydir.join('LICENSE')), 'w') as LICENSE:
         LICENSE.write(license)
     #
     spdir = pypydir.ensure('site-packages', dir=True)
@@ -226,7 +226,7 @@
                 raise OSError('"tar" returned exit status %r' % e)
     finally:
         os.chdir(old_dir)
-    if options.targetdir is not None:
+    if options.targetdir:
         print "Copying %s to %s" % (archive, options.targetdir)
         shutil.copy(archive, options.targetdir)
     else:
@@ -258,6 +258,8 @@
         help='tmp dir for packaging')
     parser.add_argument('--targetdir', type=str, default='',
         help='destination dir for archive')
+    parser.add_argument('--override_pypy_c', type=str, default='',
+        help='use as pypy exe, default is pypy/goal/pypy-c as exe source name')
     options = parser.parse_args(args)
 
     if os.environ.has_key("PYPY_PACKAGE_NOSTRIP"):
@@ -269,8 +271,8 @@
         # The import actually creates the udir directory
         from rpython.tool.udir import udir
         options.builddir = udir.ensure("build", dir=True)
-    assert '/' not in options.rename_pypy_c
-    package(basedir, options)
+    assert '/' not in options.pypy_c
+    return package(basedir, options)
 
 if __name__ == '__main__':
     import sys
diff --git a/pypy/tool/release/package.py b/pypy/tool/release/package.py
--- a/pypy/tool/release/package.py
+++ b/pypy/tool/release/package.py
@@ -1,6 +1,21 @@
 #!/usr/bin/env python
 
-from create_package import *
+from create_package import create_package
+from create_package import fix_permissions, USE_ZIPFILE_MODULE #for tests
+
+def package(basedir, name='pypy-nightly', rename_pypy_c='pypy',
+            copy_to_dir=None, override_pypy_c=None, nostrip=False,
+            withouttk=False):
+    args = ['--archive-name', name, '--rename_pypy_c', rename_pypy_c]
+    if copy_to_dir:
+        args += ['--targetdir', copy_to_dir]
+    if override_pypy_c:
+        args += ['--override_pypy_c']
+    if nostrip:
+        args += ['--nostrip']
+    if withouttk:
+        args += ['--without-tk']
+    return create_package(args)
 
 if __name__ == '__main__':
     import sys
@@ -31,6 +46,9 @@
     if len(sys.argv) > i:
         args += ['--targetdir', sys.argv[i]]
         i += 1
-
+    if len(sys.argv) > i:
+        args += ['--override_pypy_c']
+        i += 1
+    create_package(args)
 else:
     print 'please update to use create_package directly instead'
diff --git a/pypy/tool/release/test/test_package.py b/pypy/tool/release/test/test_package.py
--- a/pypy/tool/release/test/test_package.py
+++ b/pypy/tool/release/test/test_package.py
@@ -1,7 +1,7 @@
 
 import py
 from pypy.conftest import pypydir
-from pypy.tool.release import package
+from pypy.tool.release import package, create_package
 from pypy.module.sys.version import  CPYTHON_VERSION
 import tarfile, zipfile, sys
 
@@ -36,7 +36,7 @@
         assert not prefix.join('lib_pypy', 'ctypes_configure').check()
         assert prefix.join('LICENSE').check()
         assert prefix.join('README.rst').check()
-        if package.USE_ZIPFILE_MODULE:
+        if create_package.USE_ZIPFILE_MODULE:
             zh = zipfile.ZipFile(str(builddir.join('%s.zip' % test)))
             assert zh.open('%s/lib_pypy/syslog.py' % test)
         else:
@@ -59,7 +59,7 @@
         def check_include(name):
             if includedir.join(name).check(file=True):
                 member = '%s/include/%s' % (test, name)
-                if package.USE_ZIPFILE_MODULE:
+                if create_package.USE_ZIPFILE_MODULE:
                     assert zh.open(member)
                 else:
                     assert th.getmember(member)
@@ -74,13 +74,12 @@
             pypy_c.remove()
 
 def test_with_zipfile_module():
-    from pypy.tool.release import package
-    prev = package.USE_ZIPFILE_MODULE
+    prev = create_package.USE_ZIPFILE_MODULE
     try:
-        package.USE_ZIPFILE_MODULE = True
+        create_package.USE_ZIPFILE_MODULE = True
         test_dir_structure(test='testzipfile')
     finally:
-        package.USE_ZIPFILE_MODULE = prev
+        create_package.USE_ZIPFILE_MODULE = prev
 
 def test_fix_permissions(tmpdir):
     if sys.platform == 'win32':
@@ -100,7 +99,7 @@
     file2.chmod(0640)
     pypy.chmod(0700)
     #
-    package.fix_permissions(tmpdir)
+    create_package.fix_permissions(tmpdir)
     check(mydir, 0755)
     check(bin,   0755)
     check(file1, 0644)


More information about the pypy-commit mailing list