diff options
-rw-r--r-- | setuptools/command/bdist_egg.py | 6 | ||||
-rw-r--r-- | tests/python3.3_bdist_egg_test/module.py | 0 | ||||
-rw-r--r-- | tests/python3.3_bdist_egg_test/setup.py | 13 | ||||
-rw-r--r-- | tests/test_python33_bdist_egg.py | 19 |
4 files changed, 37 insertions, 1 deletions
diff --git a/setuptools/command/bdist_egg.py b/setuptools/command/bdist_egg.py index a9d98d3b..cf2d75e4 100644 --- a/setuptools/command/bdist_egg.py +++ b/setuptools/command/bdist_egg.py @@ -426,7 +426,11 @@ def scan_module(egg_dir, base, name, stubs): pkg = base[len(egg_dir)+1:].replace(os.sep,'.') module = pkg+(pkg and '.' or '')+os.path.splitext(name)[0] f = open(filename,'rb'); f.read(8) # skip magic & date - code = marshal.load(f); f.close() + try: + code = marshal.load(f); f.close() + except ValueError: + f.seek(0); f.read(12) # skip magic & date & file size; file size added in Python 3.3 + code = marshal.load(f); f.close() safe = True symbols = dict.fromkeys(iter_symbols(code)) for bad in ['__file__', '__path__']: diff --git a/tests/python3.3_bdist_egg_test/module.py b/tests/python3.3_bdist_egg_test/module.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/python3.3_bdist_egg_test/module.py diff --git a/tests/python3.3_bdist_egg_test/setup.py b/tests/python3.3_bdist_egg_test/setup.py new file mode 100644 index 00000000..04caea74 --- /dev/null +++ b/tests/python3.3_bdist_egg_test/setup.py @@ -0,0 +1,13 @@ +from setuptools import setup + +setup( + name='python3.3_bdist_egg_test', + version='0.0.0', + description='Test', + license='BSD', + py_modules=['module'], + author='Marc Abramowitz', + author_email='marc@marc-abramowitz.com', + url='https://bitbucket.org/msabramo/python3.3_bdist_egg_test', + # zip_safe=False, +) diff --git a/tests/test_python33_bdist_egg.py b/tests/test_python33_bdist_egg.py new file mode 100644 index 00000000..9f32470a --- /dev/null +++ b/tests/test_python33_bdist_egg.py @@ -0,0 +1,19 @@ +import sys +import os +import unittest + +CURDIR = os.path.abspath(os.path.dirname(__file__)) +TOPDIR = os.path.split(CURDIR)[0] +sys.path.insert(0, TOPDIR) + +from distribute_setup import _python_cmd + +class TestPython33BdistEgg(unittest.TestCase): + + def test_build_egg(self): + os.chdir(os.path.join(CURDIR, 'python3.3_bdist_egg_test')) + self.assertTrue(_python_cmd("setup.py", "bdist_egg")) + + +if __name__ == '__main__': + unittest.main() |