mirror of
https://github.com/kennethreitz/heroku-buildpack-python.git
synced 2026-06-05 23:10:16 +00:00
715ab8b96a
So seamless.
64 lines
1.8 KiB
Python
64 lines
1.8 KiB
Python
import sys
|
|
import os
|
|
import tempfile
|
|
import unittest
|
|
import shutil
|
|
import copy
|
|
|
|
CURDIR = os.path.abspath(os.path.dirname(__file__))
|
|
TOPDIR = os.path.split(CURDIR)[0]
|
|
sys.path.insert(0, TOPDIR)
|
|
|
|
from ez_setup import (use_setuptools, _build_egg, _python_cmd, _do_download,
|
|
_install, DEFAULT_URL, DEFAULT_VERSION)
|
|
import ez_setup
|
|
|
|
class TestSetup(unittest.TestCase):
|
|
|
|
def urlopen(self, url):
|
|
return open(self.tarball, 'rb')
|
|
|
|
def setUp(self):
|
|
self.old_sys_path = copy.copy(sys.path)
|
|
self.cwd = os.getcwd()
|
|
self.tmpdir = tempfile.mkdtemp()
|
|
os.chdir(TOPDIR)
|
|
_python_cmd("setup.py", "-q", "egg_info", "-RDb", "''", "sdist",
|
|
"--dist-dir", "%s" % self.tmpdir)
|
|
tarball = os.listdir(self.tmpdir)[0]
|
|
self.tarball = os.path.join(self.tmpdir, tarball)
|
|
from setuptools.compat import urllib2
|
|
urllib2.urlopen = self.urlopen
|
|
|
|
def tearDown(self):
|
|
shutil.rmtree(self.tmpdir)
|
|
os.chdir(self.cwd)
|
|
sys.path = copy.copy(self.old_sys_path)
|
|
|
|
def test_build_egg(self):
|
|
# making it an egg
|
|
egg = _build_egg('Egg to be built', self.tarball, self.tmpdir)
|
|
|
|
# now trying to import it
|
|
sys.path[0] = egg
|
|
import setuptools
|
|
self.assertTrue(setuptools.__file__.startswith(egg))
|
|
|
|
def test_do_download(self):
|
|
tmpdir = tempfile.mkdtemp()
|
|
_do_download(DEFAULT_VERSION, DEFAULT_URL, tmpdir, 1)
|
|
import setuptools
|
|
self.assertTrue(setuptools.bootstrap_install_from.startswith(tmpdir))
|
|
|
|
def test_install(self):
|
|
def _faked(*args):
|
|
return True
|
|
ez_setup.python_cmd = _faked
|
|
_install(self.tarball)
|
|
|
|
def test_use_setuptools(self):
|
|
self.assertEqual(use_setuptools(), None)
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|