forked from coleifer/micawber
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathruntests.py
executable file
·88 lines (75 loc) · 2.33 KB
/
runtests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#!/usr/bin/env python
import os
import sys
import unittest
from micawber import tests
def run_django_tests():
try:
import django
except ImportError:
print('Skipping django tests')
return
else:
print('Running django integration tests')
providers = 'micawber.contrib.mcdjango.mcdjango_tests.tests.test_pr'
extensions = (
('oembed_no_urlize', {'urlize_all': False}),
)
from django.conf import settings
if not settings.configured:
settings.configure(
DATABASES={
'default': {
'ENGINE': 'django.db.backends.sqlite3',
},
},
SITE_ID=1,
INSTALLED_APPS=[
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'micawber.contrib.mcdjango',
'micawber.contrib.mcdjango.mcdjango_tests',
],
TEMPLATES=[
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {}
},
],
MICAWBER_PROVIDERS=providers,
MICAWBER_TEMPLATE_EXTENSIONS=extensions,
)
else:
settings.MICAWBER_PROVIDERS = providers
settings.MICAWBER_TEMPLATE_EXTENSIONS = extensions
try:
from django import setup
except ImportError:
pass
else:
setup()
from django.test.runner import DiscoverRunner
parent = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, parent)
return DiscoverRunner().run_tests(['micawber/contrib/mcdjango'])
def runtests(*test_args):
print("Running micawber tests")
errors = failures = False
suite = unittest.TestLoader().loadTestsFromModule(tests)
result = unittest.TextTestRunner(verbosity=2).run(suite)
if result.failures:
failures = True
if result.errors:
errors = True
if not (errors or failures):
print("All micawber tests passed")
dj_failures = run_django_tests()
if failures or errors or dj_failures:
sys.exit(1)
sys.exit(0)
if __name__ == '__main__':
runtests(*sys.argv[1:])