summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2012-10-13 17:37:44 +0100
committerLars Wirzenius <liw@liw.fi>2012-10-13 17:37:44 +0100
commit711600af2fad6170c8ea0199b8ec033f0c60d48c (patch)
treeccbcd97f31f3f6730bf7ce2ff395e6e46b9abcd1
parent320ad9c5382e516e823060a6ece5cfdab4ac7ce8 (diff)
downloadcachedir-711600af2fad6170c8ea0199b8ec033f0c60d48c.tar.gz
Simplify setup.py, remove obnam crap from it
-rwxr-xr-xdebian/rules2
-rw-r--r--setup.py126
2 files changed, 4 insertions, 124 deletions
diff --git a/debian/rules b/debian/rules
index 22d1d54..374df7b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,3 +3,5 @@
%:
dh $@ --with=python2 --buildsystem=python_distutils
+override_auto_test:
+ cmdtest tests
diff --git a/setup.py b/setup.py
index b90580d..deabc14 100644
--- a/setup.py
+++ b/setup.py
@@ -15,123 +15,8 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-from distutils.core import setup, Extension
-from distutils.cmd import Command
-from distutils.command.build import build
-from distutils.command.clean import clean
+from distutils.core import setup
import glob
-import os
-import shutil
-import subprocess
-import sys
-import tempfile
-
-
-def runcmd(*args, **kwargs):
- try:
- subprocess.check_call(*args, **kwargs)
- except subprocess.CalledProcessError, e:
- sys.stderr.write('ERROR: %s\n' % str(e))
- sys.exit(1)
-
-
-class GenerateManpage(build):
-
- def run(self):
- build.run(self)
- print 'building manpages'
- for x in ['obnam', 'obnam-benchmark']:
- with open('%s.1' % x, 'w') as f:
- runcmd(['python', x, '--generate-manpage=%s.1.in' % x,
- '--output=%s.1' % x], stdout=f)
-
-
-class CleanMore(clean):
-
- def run(self):
- clean.run(self)
- for x in ['obnam.1', 'obnam-benchmark.1', '.coverage',
- 'obnamlib/_obnam.so']:
- if os.path.exists(x):
- os.remove(x)
- self.remove_pyc('obnamlib')
- self.remove_pyc('test-plugins')
- if os.path.isdir('build'):
- shutil.rmtree('build')
-
- def remove_pyc(self, rootdir):
- for dirname, subdirs, basenames in os.walk(rootdir):
- for x in [os.path.join(dirname, base)
- for base in basenames
- if base.endswith('.pyc')]:
- os.remove(x)
-
-class Check(Command):
-
- user_options = [
- ('fast', 'f', 'run fast tests only?'),
- ('network', 'n', 'run network tests to localhost?'),
- ('network-only', 'N', 'only run network tests to localhost?'),
- ]
-
- def initialize_options(self):
- self.fast = False
- self.network = False
- self.network_only = False
-
- def finalize_options(self):
- pass
-
- def run(self):
- local = not self.network_only
- network = self.network or self.network_only
- fast = self.fast
- slow = not self.fast
-
- if local and fast:
- print "run unit tests"
- runcmd(['python', '-m', 'CoverageTestRunner',
- '--ignore-missing-from=without-tests'])
- os.remove('.coverage')
-
- if local and fast:
- print "run black box tests"
- runcmd(['cmdtest', 'tests'])
-
- num_clients = '2'
- num_generations = '16'
-
- if local and slow:
- print "run locking tests"
- test_repo = tempfile.mkdtemp()
- runcmd(['./test-locking', num_clients,
- num_generations, test_repo, test_repo])
- shutil.rmtree(test_repo)
-
- if local and slow:
- print "run crash test"
- runcmd(['./crash-test', '200'])
-
- if network and fast:
- print "run sftp tests"
- runcmd(['./test-sftpfs'])
-
- if network and fast:
- print "re-run black box tests using localhost networking"
- env = dict(os.environ)
- env['OBNAM_TEST_SFTP_ROOT'] = 'yes'
- env['OBNAM_TEST_SFTP_REPOSITORY'] = 'yes'
- runcmd(['cmdtest', 'tests'], env=env)
-
- if network and slow:
- print "re-run locking tests using localhost networking"
- test_repo = tempfile.mkdtemp()
- repo_url = 'sftp://localhost/%s' % test_repo
- runcmd(['./test-locking', num_clients,
- num_generations, repo_url, test_repo])
- shutil.rmtree(test_repo)
-
- print "setup.py check done"
setup(name='cachedir',
@@ -140,13 +25,6 @@ setup(name='cachedir',
author='Lars Wirzenius',
author_email='liw@liw.fi',
url='http://liw.fi/cachedir/',
- scripts=['obnam', 'obnam-benchmark', 'obnam-viewprof'],
- packages=['obnamlib', 'obnamlib.plugins'],
- ext_modules=[Extension('obnamlib._obnam', sources=['_obnammodule.c'])],
+ scripts=['cachedir'],
data_files=[('share/man/man1', glob.glob('*.1'))],
- cmdclass={
- 'build': GenerateManpage,
- 'check': Check,
- 'clean': CleanMore,
- },
)