aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2011-04-27 18:29:12 +0100
committerTom Christie2011-04-27 18:29:12 +0100
commit1e1c4f85fc0d1a9ea0593b6906b6a09ec549c972 (patch)
tree7dd74114ad7be23847c6e49dd64cf4047127ee33
parentcc004dbca19882d301516494f0b73af940aeb6bb (diff)
parentfb805bbb7ca80808258520219330cc5fb3bc0517 (diff)
downloaddjango-rest-framework-1e1c4f85fc0d1a9ea0593b6906b6a09ec549c972.tar.bz2
Pulling marko's test fixes
-rw-r--r--examples/pygments_api/tests.py4
-rw-r--r--examples/pygments_api/views.py2
-rw-r--r--examples/runtests.py21
-rw-r--r--tox.ini24
4 files changed, 35 insertions, 16 deletions
diff --git a/examples/pygments_api/tests.py b/examples/pygments_api/tests.py
index 262f02b3..766defc3 100644
--- a/examples/pygments_api/tests.py
+++ b/examples/pygments_api/tests.py
@@ -37,12 +37,14 @@ class TestPygmentsExample(TestCase):
def test_snippets_datetime_sorted(self):
'''Pygments examples should be datetime sorted'''
locations = []
- for snippet in 'abcdefghijk':
+ for snippet in 'abcdefghij': # String length must not exceed views.MAX_FILES, otherwise test fails
form_data = {'code': '%s' % snippet, 'style':'friendly', 'lexer':'python'}
request = self.factory.post('/pygments', data=form_data)
view = views.PygmentsRoot.as_view()
response = view(request)
locations.append(response.items()[2][1])
+ import time
+ time.sleep(.1)
request = self.factory.get('/pygments')
view = views.PygmentsRoot.as_view()
response = view(request)
diff --git a/examples/pygments_api/views.py b/examples/pygments_api/views.py
index f1a89702..4e6d1230 100644
--- a/examples/pygments_api/views.py
+++ b/examples/pygments_api/views.py
@@ -25,7 +25,7 @@ def list_dir_sorted_by_ctime(dir):
"""Return a list of files sorted by creation time"""
filepaths = [os.path.join(dir, file) for file in os.listdir(dir) if not file.startswith('.')]
return [item[0] for item in sorted([(path, os.path.getctime(path)) for path in filepaths],
- key=operator.itemgetter(1), reverse=True)]
+ key=operator.itemgetter(1), reverse=False)]
def remove_oldest_files(dir, max_files):
"""Remove the oldest files in a directory 'dir', leaving at most 'max_files' remaining.
We use this to limit the number of resources in the sandbox."""
diff --git a/examples/runtests.py b/examples/runtests.py
index fd79bc64..fdd35839 100644
--- a/examples/runtests.py
+++ b/examples/runtests.py
@@ -4,10 +4,24 @@ os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
from django.conf import settings
from django.test.utils import get_runner
+from coverage import coverage
def main():
+ """Run the tests for the examples and generate a coverage report."""
+
+ # Discover the list of all modules that we should test coverage for
+ project_dir = os.path.dirname(__file__)
+ cov_files = []
+ for (path, dirs, files) in os.walk(project_dir):
+ # Drop tests and runtests directories from the test coverage report
+ if os.path.basename(path) == 'tests' or os.path.basename(path) == 'runtests':
+ continue
+ cov_files.extend([os.path.join(path, file) for file in files if file.endswith('.py')])
TestRunner = get_runner(settings)
-
+
+ cov = coverage()
+ cov.erase()
+ cov.start()
if hasattr(TestRunner, 'func_name'):
# Pre 1.2 test runners were just functions,
# and did not support the 'failfast' option.
@@ -19,8 +33,11 @@ def main():
failures = TestRunner(None)
else:
test_runner = TestRunner()
- failures = test_runner.run_tests(None)
+ failures = test_runner.run_tests(['blogpost', 'pygments_api'])
+ cov.stop()
+ cov.report(cov_files)
+ cov.xml_report(cov_files)
sys.exit(failures)
if __name__ == '__main__':
diff --git a/tox.ini b/tox.ini
index 27c8e806..47bb3880 100644
--- a/tox.ini
+++ b/tox.ini
@@ -28,42 +28,42 @@ basepython=python2.5
deps=
django==1.2.4
coverage==3.4
- https://github.com/downloads/markotibold/unittest-xml-reporting/unittest-xml-reporting-1.1.zip
+ unittest-xml-reporting==1.2
[testenv:py26-django12]
basepython=python2.6
deps=
django==1.2.4
coverage==3.4
- https://github.com/downloads/markotibold/unittest-xml-reporting/unittest-xml-reporting-1.1.zip
+ unittest-xml-reporting==1.2
[testenv:py27-django12]
basepython=python2.7
deps=
django==1.2.4
coverage==3.4
- https://github.com/downloads/markotibold/unittest-xml-reporting/unittest-xml-reporting-1.1.zip
+ unittest-xml-reporting==1.2
[testenv:py25-django13]
basepython=python2.5
deps=
django==1.3
coverage==3.4
- https://github.com/downloads/markotibold/unittest-xml-reporting/unittest-xml-reporting-1.1.zip
+ unittest-xml-reporting==1.2
[testenv:py26-django13]
basepython=python2.6
deps=
django==1.3
coverage==3.4
- https://github.com/downloads/markotibold/unittest-xml-reporting/unittest-xml-reporting-1.1.zip
+ unittest-xml-reporting==1.2
[testenv:py27-django13]
basepython=python2.7
deps=
django==1.3
coverage==3.4
- https://github.com/downloads/markotibold/unittest-xml-reporting/unittest-xml-reporting-1.1.zip
+ unittest-xml-reporting==1.2
####################################### EXAMPLES ################################################
@@ -78,7 +78,7 @@ deps=
Pygments==1.4
httplib2==0.6.0
Markdown==2.0.3
- https://github.com/downloads/markotibold/unittest-xml-reporting/unittest-xml-reporting-1.1.zip
+ unittest-xml-reporting==1.2
[testenv:py26-django12e]
basepython=python2.6
@@ -91,7 +91,7 @@ deps=
Pygments==1.4
httplib2==0.6.0
Markdown==2.0.3
- https://github.com/downloads/markotibold/unittest-xml-reporting/unittest-xml-reporting-1.1.zip
+ unittest-xml-reporting==1.2
[testenv:py27-django12e]
basepython=python2.7
@@ -104,7 +104,7 @@ deps=
Pygments==1.4
httplib2==0.6.0
Markdown==2.0.3
- https://github.com/downloads/markotibold/unittest-xml-reporting/unittest-xml-reporting-1.1.zip
+ unittest-xml-reporting==1.2
[testenv:py25-django13e]
basepython=python2.5
@@ -117,7 +117,7 @@ deps=
Pygments==1.4
httplib2==0.6.0
Markdown==2.0.3
- https://github.com/downloads/markotibold/unittest-xml-reporting/unittest-xml-reporting-1.1.zip
+ unittest-xml-reporting==1.2
[testenv:py26-django13e]
basepython=python2.6
@@ -130,7 +130,7 @@ deps=
Pygments==1.4
httplib2==0.6.0
Markdown==2.0.3
- https://github.com/downloads/markotibold/unittest-xml-reporting/unittest-xml-reporting-1.1.zip
+ unittest-xml-reporting==1.2
[testenv:py27-django13e]
basepython=python2.7
@@ -143,4 +143,4 @@ deps=
Pygments==1.4
httplib2==0.6.0
Markdown==2.0.3
- https://github.com/downloads/markotibold/unittest-xml-reporting/unittest-xml-reporting-1.1.zip \ No newline at end of file
+ unittest-xml-reporting==1.2 \ No newline at end of file