~jonnyjd/isrcsubmit/master

« back to all changes in this revision

Viewing changes to setup.py

  • Committer: Johannes Dewender
  • Date: 2013-10-14 17:59:27 UTC
  • mfrom: (189.1.17)
  • Revision ID: git-v1:eb933d9fd27861a58d8161f0ba86f1d242456380
Merge branch 'tests'

see pull request #81

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/usr/bin/env python
2
2
 
3
 
from distutils.core import setup
 
3
import sys
 
4
import unittest
 
5
from distutils.core import setup, Command
4
6
from distutils.command.build import build
5
7
 
6
8
from isrcsubmit import __version__
39
41
else:
40
42
    man_pages = []
41
43
 
 
44
 
 
45
class Test(Command):
 
46
    description = "run the test suite"
 
47
    # options as listed with "--help test"
 
48
    # --verbose --quiet -> self.verbose are already handles as global options
 
49
    user_options = [
 
50
            ("tests=", None,
 
51
                "a comma separated list of tests to run (default all)")
 
52
            ]
 
53
 
 
54
    def initialize_options(self):
 
55
        # set defaults
 
56
        self.tests = None
 
57
 
 
58
    def finalize_options(self):
 
59
        if self.verbose:
 
60
            self.verbosity = 2
 
61
        else:
 
62
            self.verbosity = 1
 
63
        if self.tests is not None:
 
64
            if self.tests:
 
65
                self.names = self.tests.split(",")
 
66
            else:
 
67
                self.names = []
 
68
        else:
 
69
            self.names = ["test_isrcsubmit.TestInternal",
 
70
                          "test_isrcsubmit.TestScript"]
 
71
 
 
72
    def run(self):
 
73
        suite = unittest.defaultTestLoader.loadTestsFromNames(self.names)
 
74
        runner = unittest.TextTestRunner(verbosity=self.verbosity)
 
75
        result = runner.run(suite)
 
76
        if result.wasSuccessful():
 
77
            sys.exit(0)
 
78
        else:
 
79
            sys.exit(len(result.failures) + len(result.errors))
 
80
 
 
81
cmdclass["test"] = Test
 
82
 
 
83
 
42
84
setup(name="isrcsubmit",
43
85
        version=__version__,
44
86
        description="submit ISRCs from disc to MusicBrainz",