Mercurial > hg > toolbox
annotate test/test.py @ 15:8e13c2f6c2d7
py3
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Tue, 24 Nov 2020 13:13:36 -0800 |
parents | b0942f44413f |
children |
rev | line source |
---|---|
0
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
2 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
3 """ |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
4 doctest runner for toolbox |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
5 """ |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
6 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
7 import doctest |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
8 import json |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
9 import os |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
10 import shutil |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
11 import sys |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
12 from cgi import escape |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
13 from optparse import OptionParser |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
14 from paste.fixture import TestApp |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
15 from time import time |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
16 from toolbox.dispatcher import Dispatcher |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
17 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
18 # global |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
19 directory = os.path.dirname(os.path.abspath(__file__)) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
20 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
21 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
22 class ToolboxTestApp(TestApp): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
23 """WSGI app wrapper for testing JSON responses""" |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
24 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
25 def __init__(self, **kw): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
26 dispatcher_args = dict(model_type='memory_cache', fields=('usage', 'author', 'type', 'language', 'dependencies')) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
27 dispatcher_args.update(kw) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
28 app = Dispatcher(**dispatcher_args) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
29 TestApp.__init__(self, app) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
30 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
31 def get(self, url='/', **kwargs): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
32 kwargs.setdefault('params', {})['format'] = 'json' |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
33 response = TestApp.get(self, url, **kwargs) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
34 return json.loads(response.body) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
35 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
36 def new(self, **kwargs): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
37 kwargs['form-render-date'] = str(time()) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
38 return self.post('/new', params=kwargs) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
39 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
40 def cleanup(self): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
41 pass |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
42 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
43 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
44 class FileCacheTestApp(ToolboxTestApp): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
45 """test the MemoryCache file-backed backend""" |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
46 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
47 def __init__(self): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
48 self.json_dir = os.path.join(directory, 'test_json') |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
49 shutil.rmtree(self.json_dir, ignore_errors=True) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
50 os.makedirs(self.json_dir) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
51 ToolboxTestApp.__init__(self, model_type='file_cache', directory=self.json_dir) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
52 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
53 def cleanup(self): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
54 shutil.rmtree(self.json_dir, ignore_errors=True) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
55 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
56 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
57 class CouchTestApp(ToolboxTestApp): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
58 """test the MemoryCache file-backed backend""" |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
59 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
60 def __init__(self): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
61 ToolboxTestApp.__init__(self, model_type='couch', dbname='test_json') |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
62 for project in self.app.model.projects(): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
63 self.app.model.delete(project) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
64 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
65 def cleanup(self): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
66 for project in self.app.model.projects(): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
67 self.app.model.delete(project) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
68 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
69 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
70 app_classes = {'memory_cache': ToolboxTestApp, |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
71 'file_cache': FileCacheTestApp, |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
72 'couch': CouchTestApp} |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
73 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
74 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
75 def run_tests(app_cls, |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
76 raise_on_error=False, |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
77 cleanup=True, |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
78 report_first=False, |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
79 output=sys.stdout): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
80 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
81 results = {} |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
82 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
83 # gather tests |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
84 tests = [ test for test in os.listdir(directory) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
85 if test.endswith('.txt') ] |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
86 output.write("Tests:\n%s\n" % '\n'.join(tests)) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
87 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
88 for test in tests: |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
89 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
90 # create an app |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
91 app = app_cls() |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
92 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
93 # doctest arguments |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
94 extraglobs = {'here': directory, 'app': app, 'urlescape': escape} |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
95 doctest_args = dict(extraglobs=extraglobs, raise_on_error=raise_on_error) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
96 if report_first: |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
97 doctest_args['optionflags'] = doctest.REPORT_ONLY_FIRST_FAILURE |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
98 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
99 # run the test |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
100 try: |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
101 results[test] = doctest.testfile(test, **doctest_args) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
102 except doctest.DocTestFailure, failure: |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
103 raise |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
104 except doctest.UnexpectedException, failure: |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
105 raise failure.exc_info[0], failure.exc_info[1], failure.exc_info[2] |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
106 finally: |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
107 if cleanup: |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
108 app.cleanup() |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
109 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
110 return results |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
111 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
112 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
113 def main(args=sys.argv[1:]): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
114 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
115 # parse command line args |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
116 parser = OptionParser() |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
117 parser.add_option('--no-cleanup', dest='cleanup', |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
118 default=True, action='store_false', |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
119 help="cleanup following the tests") |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
120 parser.add_option('--raise', dest='raise_on_error', |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
121 default=False, action='store_true', |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
122 help="raise on first error") |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
123 parser.add_option('--report-first', dest='report_first', |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
124 default=False, action='store_true', |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
125 help="report the first error only (all tests will still run)") |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
126 parser.add_option('--model', dest='model', default='file_cache', |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
127 help="model to use") |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
128 options, args = parser.parse_args(args) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
129 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
130 # get arguments to run_tests |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
131 kw = dict([(i, getattr(options, i)) for i in ('raise_on_error', 'cleanup', 'report_first')]) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
132 if options.model is not None: |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
133 try: |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
134 kw['app_cls'] = app_classes[options.model] |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
135 except KeyError: |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
136 parser.error("Model '%s' unknown (choose from: %s)" % (options.model, app_classes.keys())) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
137 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
138 # run the tests |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
139 results = run_tests(**kw) |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
140 if sum([i.failed for i in results.values()]): |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
141 sys.exit(1) # error |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
142 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
143 |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
144 if __name__ == '__main__': |
b0942f44413f
import from git://github.com/mozilla/toolbox.git
Jeff Hammel <k0scist@gmail.com>
parents:
diff
changeset
|
145 main() |