Mercurial > hg > simpypi
comparison tests/doctest.txt @ 55:143adebe4caa
install package in a virtualenv and make sure importing is sane
| author | Jeff Hammel <jhammel@mozilla.com> |
|---|---|
| date | Thu, 01 Mar 2012 15:28:34 -0800 |
| parents | 73e6956c670a |
| children | 6bfe6c59b64a |
comparison
equal
deleted
inserted
replaced
| 54:73e6956c670a | 55:143adebe4caa |
|---|---|
| 5 | 5 |
| 6 >>> import os | 6 >>> import os |
| 7 >>> import pkginfo | 7 >>> import pkginfo |
| 8 >>> import shutil | 8 >>> import shutil |
| 9 >>> import simpypi | 9 >>> import simpypi |
| 10 >>> import subprocess | |
| 10 >>> import tarfile | 11 >>> import tarfile |
| 11 >>> import tempfile | 12 >>> import tempfile |
| 12 >>> from paste.fixture import TestApp | 13 >>> from paste.fixture import TestApp |
| 13 | 14 |
| 14 The directory is initially empty:: | 15 The directory is initially empty:: |
| 46 >>> sdist.home_page | 47 >>> sdist.home_page |
| 47 'http://helloworld.example.com/' | 48 'http://helloworld.example.com/' |
| 48 >>> sdist.author | 49 >>> sdist.author |
| 49 'Jeff Hammel' | 50 'Jeff Hammel' |
| 50 | 51 |
| 51 Install the package and inspect the installation:: | 52 Unpack the archive and ensure the files are there:: |
| 52 | 53 |
| 53 >>> tmpdir = tempfile.mkdtemp() | 54 >>> tmpdir = tempfile.mkdtemp() |
| 54 >>> archive = tarfile.TarFile.open(path) | 55 >>> archive = tarfile.TarFile.open(path) |
| 55 >>> for member in archive.getmembers(): | 56 >>> for member in archive.getmembers(): |
| 56 ... archive.extract(member, path=tmpdir) | 57 ... archive.extract(member, path=tmpdir) |
| 61 True | 62 True |
| 62 >>> 'helloworld' in os.listdir(srcdir) | 63 >>> 'helloworld' in os.listdir(srcdir) |
| 63 True | 64 True |
| 64 >>> os.listdir(os.path.join(srcdir, 'helloworld')) | 65 >>> os.listdir(os.path.join(srcdir, 'helloworld')) |
| 65 ['__init__.py'] | 66 ['__init__.py'] |
| 67 | |
| 68 Install the package and inspect the installation:: | |
| 69 | |
| 70 >>> python = create_virtualenv(tmpdir) | |
| 71 | |
| 72 You should not be able to import ``helloworld`` yet:: | |
| 73 | |
| 74 >>> code = subprocess.call([python, '-c', 'import helloworld'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 75 >>> code | |
| 76 1 | |
| 77 | |
| 78 But after installation you should:: | |
| 79 | |
| 80 >>> subprocess.call([python, 'setup.py', 'install'], cwd=srcdir, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 81 0 | |
| 82 >>> code = subprocess.call([python, '-c', 'import helloworld'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 83 >>> code | |
| 84 0 | |
| 85 >>> process = subprocess.Popen([python, '-c', 'import helloworld; print helloworld.hello'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 86 >>> stdout, stderr = process.communicate() | |
| 87 >>> process.returncode | |
| 88 0 | |
| 89 >>> stdout | |
| 90 'Hello, world!\n' | |
| 66 >>> shutil.rmtree(tmpdir) | 91 >>> shutil.rmtree(tmpdir) |
| 67 | 92 |
| 68 Upload the same package but with the wrong name:: | 93 Upload the same package but with the wrong name:: |
| 69 | 94 |
| 70 >>> shutil.rmtree(os.path.join(directory, 'HelloWorld')) | 95 >>> shutil.rmtree(os.path.join(directory, 'HelloWorld')) |
