[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