aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/tests/test_upload_docs.py
diff options
context:
space:
mode:
authorAlice Bevan-McGregor <alice@gothcandy.com>2009-11-15 05:41:43 -0800
committerAlice Bevan-McGregor <alice@gothcandy.com>2009-11-15 05:41:43 -0800
commit33886a7ecce2ec6269eade7a31baf055bd673802 (patch)
treef6c68a98015b5dfdd32c96c35c293bca904b0e0b /setuptools/tests/test_upload_docs.py
parentbd0d051d1484be495e22d4ed0576951f339a1222 (diff)
downloadexternal_python_setuptools-33886a7ecce2ec6269eade7a31baf055bd673802.tar.gz
external_python_setuptools-33886a7ecce2ec6269eade7a31baf055bd673802.tar.bz2
external_python_setuptools-33886a7ecce2ec6269eade7a31baf055bd673802.zip
Added upload_docs unit test and fixed a bug in test_develop.
--HG-- branch : distribute extra : rebase_source : 0ce56dee9fbf2976d41f403fb86d8a2f714820c2
Diffstat (limited to 'setuptools/tests/test_upload_docs.py')
-rw-r--r--setuptools/tests/test_upload_docs.py65
1 files changed, 65 insertions, 0 deletions
diff --git a/setuptools/tests/test_upload_docs.py b/setuptools/tests/test_upload_docs.py
new file mode 100644
index 00000000..15db899f
--- /dev/null
+++ b/setuptools/tests/test_upload_docs.py
@@ -0,0 +1,65 @@
+"""build_ext tests
+"""
+import sys, os, shutil, tempfile, unittest, site, zipfile
+from setuptools.command.upload_docs import upload_docs
+from setuptools.dist import Distribution
+
+SETUP_PY = """\
+from setuptools import setup
+
+setup(name='foo')
+"""
+
+class TestUploadDocsTest(unittest.TestCase):
+ def setUp(self):
+ self.dir = tempfile.mkdtemp()
+ setup = os.path.join(self.dir, 'setup.py')
+ f = open(setup, 'w')
+ f.write(SETUP_PY)
+ f.close()
+ self.old_cwd = os.getcwd()
+ os.chdir(self.dir)
+
+ self.upload_dir = os.path.join(self.dir, 'build')
+ os.mkdir(self.upload_dir)
+
+ # A test document.
+ f = open(os.path.join(self.upload_dir, 'index.html'), 'w')
+ f.write("Hello world.")
+ f.close()
+
+ # An empty folder.
+ os.mkdir(os.path.join(self.upload_dir, 'empty'))
+
+ if sys.version >= "2.6":
+ self.old_base = site.USER_BASE
+ site.USER_BASE = upload_docs.USER_BASE = tempfile.mkdtemp()
+ self.old_site = site.USER_SITE
+ site.USER_SITE = upload_docs.USER_SITE = tempfile.mkdtemp()
+
+ def tearDown(self):
+ os.chdir(self.old_cwd)
+ shutil.rmtree(self.dir)
+ if sys.version >= "2.6":
+ shutil.rmtree(site.USER_BASE)
+ shutil.rmtree(site.USER_SITE)
+ site.USER_BASE = self.old_base
+ site.USER_SITE = self.old_site
+
+ def test_create_zipfile(self):
+ # Test to make sure zipfile creation handles common cases.
+ # This explicitly includes a folder containing an empty folder.
+
+ dist = Distribution()
+
+ cmd = upload_docs(dist)
+ cmd.upload_dir = self.upload_dir
+ zip_file = cmd.create_zipfile()
+
+ assert zipfile.is_zipfile(zip_file)
+
+ zip_f = zipfile.ZipFile(zip_file) # woh...
+
+ assert zip_f.namelist() == ['index.html']
+
+