Author: mattip <[email protected]>
Branch:
Changeset: r78746:f3e27c185636
Date: 2015-08-02 19:22 +0300
http://bitbucket.org/pypy/pypy/changeset/f3e27c185636/
Log: test, fix for issue #2105
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
@@ -106,7 +106,7 @@
'not find it' % (str(libpypy_c),))
binaries.append((libpypy_c, libpypy_name))
#
- builddir = options.builddir
+ builddir = py.path.local(options.builddir)
pypydir = builddir.ensure(name, dir=True)
includedir = basedir.join('include')
# Recursively copy all headers, shutil has only ignore
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
@@ -3,28 +3,31 @@
from pypy.conftest import pypydir
from pypy.tool.release import package
from pypy.module.sys.version import CPYTHON_VERSION
+from rpython.tool.udir import udir
import tarfile, zipfile, sys
-def test_dir_structure(test='test'):
- # make sure we have sort of pypy-c
- if sys.platform == 'win32':
- basename = 'pypy-c.exe'
- rename_pypy_c = 'pypy-c'
- exe_name_in_archive = 'pypy-c.exe'
- else:
- basename = 'pypy-c'
- rename_pypy_c = 'pypy'
- exe_name_in_archive = 'bin/pypy'
- pypy_c = py.path.local(pypydir).join('goal', basename)
- try:
+class TestPackaging:
+ def setup_class(cls):
+ # make sure we have sort of pypy-c
+ if sys.platform == 'win32':
+ basename = 'pypy-c.exe'
+ cls.rename_pypy_c = 'pypy-c'
+ cls.exe_name_in_archive = 'pypy-c.exe'
+ else:
+ basename = 'pypy-c'
+ cls.rename_pypy_c = 'pypy'
+ cls.exe_name_in_archive = 'bin/pypy'
+ cls.pypy_c = py.path.local(pypydir).join('goal', basename)
+
+ def test_dir_structure(self, test='test'):
retval, builddir = package.package(
'--without-cffi', str(py.path.local(pypydir).dirpath()),
- test, rename_pypy_c, _fake=True)
+ test, self.rename_pypy_c, _fake=True)
assert retval == 0
prefix = builddir.join(test)
cpyver = '%d.%d' % CPYTHON_VERSION[:2]
assert prefix.join('lib-python', cpyver, 'test').check()
- assert prefix.join(exe_name_in_archive).check()
+ assert prefix.join(self.exe_name_in_archive).check()
assert prefix.join('lib_pypy', 'syslog.py').check()
assert not prefix.join('lib_pypy', 'py').check()
assert not prefix.join('lib_pypy', 'ctypes_configure').check()
@@ -36,7 +39,7 @@
else:
th = tarfile.open(str(builddir.join('%s.tar.bz2' % test)))
syslog = th.getmember('%s/lib_pypy/syslog.py' % test)
- exe = th.getmember('%s/%s' % (test, exe_name_in_archive))
+ exe = th.getmember('%s/%s' % (test, self.exe_name_in_archive))
assert syslog.mode == 0644
assert exe.mode == 0755
assert exe.uname == ''
@@ -63,16 +66,22 @@
check_include('modsupport.h')
check_include('pypy_decl.h')
check_include('numpy/arrayobject.h')
- finally:
- pass # to keep the indentation
-def test_with_zipfile_module():
- prev = package.USE_ZIPFILE_MODULE
- try:
- package.USE_ZIPFILE_MODULE = True
- test_dir_structure(test='testzipfile')
- finally:
- package.USE_ZIPFILE_MODULE = prev
+ def test_options(self, test='testoptions'):
+ builddir = udir.ensure("build", dir=True)
+ retval, builddir = package.package(
+ '--without-cffi', '--builddir', str(builddir),
+ str(py.path.local(pypydir).dirpath()),
+ test, self.rename_pypy_c, _fake=True)
+
+ def test_with_zipfile_module(self):
+ prev = package.USE_ZIPFILE_MODULE
+ try:
+ package.USE_ZIPFILE_MODULE = True
+ self.test_dir_structure(test='testzipfile')
+ finally:
+ package.USE_ZIPFILE_MODULE = prev
+
def test_fix_permissions(tmpdir):
if sys.platform == 'win32':
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit