Merge pull request #260 from cgohlke/patch-2

Fix ImportError during selftest. Remove path silliness.
This commit is contained in:
Alex Clark ☺ 2013-06-30 15:29:40 -07:00
commit d92e2737f7
2 changed files with 14 additions and 25 deletions

View File

@ -10,6 +10,6 @@ install: "sudo apt-get -qq install libfreetype6-dev liblcms1-dev libwebp-dev"
script:
- python setup.py clean
- python setup.py install
- python setup.py build_ext --inplace
- python selftest.py
- python Tests/run.py --installed
- python Tests/run.py

View File

@ -1,26 +1,13 @@
# minimal sanity check
from __future__ import print_function
import sys
import os
from PIL import Image, ImageDraw, ImageFilter, ImageMath
ROOT = "."
import os, sys
# Path silliness. This selftest needs to be able to import itself, so
#it needs . in the path. However, since the compiled versions of the
#PIL bits are not in PIL, they're in dist, or build, or actually
#installed. In fact, importing from ./PIL is going to fail on any
#.c/so item. So. We remove it from the path, import all the PIL stuff
#from elsewhere, then pop the current directory back on the path so
#that we can import this and run the doctest
del(sys.path[0])
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFilter
from PIL import ImageMath
sys.path.insert(0,ROOT)
try:
Image.core.ping
except ImportError as v:
@ -29,10 +16,12 @@ except ImportError as v:
except AttributeError:
pass
def _info(im):
im.load()
return im.format, im.mode, im.size
def testimage():
"""
PIL lets you create in-memory images with various pixel types:
@ -174,6 +163,7 @@ def check_module(feature, module):
else:
print("---", feature, "support ok")
def check_codec(feature, codec):
if codec + "_encoder" not in dir(Image.core):
print("***", feature, "support not installed")
@ -187,8 +177,7 @@ if __name__ == "__main__":
exit_status = 0
print("-"*68)
#print("PIL", Image.VERSION, "TEST SUMMARY ")
print("PIL TEST SUMMARY ")
print("Pillow", Image.PILLOW_VERSION, "TEST SUMMARY ")
print("-"*68)
print("Python modules loaded from", os.path.dirname(Image.__file__))
print("Binary modules loaded from", os.path.dirname(Image.core.__file__))
@ -212,7 +201,8 @@ if __name__ == "__main__":
print("-"*68)
# use doctest to make sure the test program behaves as documented!
import doctest, selftest
import doctest
import selftest
print("Running selftest:")
status = doctest.testmod(selftest)
if status[0]:
@ -222,4 +212,3 @@ if __name__ == "__main__":
print("--- %s tests passed." % status[1])
sys.exit(exit_status)