BTW - I recent;y trid to run Django test suite with Py.test and 
pytest-django plugin and achived some success - main problem, that some 
tests are failing and reason of it is not clear to me yet.
This solution require pytest, django-pytest packages and lightweight 
configuration.
See patch in attachment. I was tested it with Django 1.4.10. Command that I 
used: 
PYTHONPATH=..:$PYTHONPATH py.test


On Monday, February 17, 2014 4:06:33 PM UTC+4, Akshay Jaggi wrote:
>
>
>
> On Saturday, 15 February 2014 20:47:37 UTC+5:30, Chris Wilson wrote:
>>
>> Hi all, 
>>
>> It just occurred to me that most classification systems are completely 
>> arbitrary and therefore not very useful. What's a "system" test and how 
>> would I know whether I need to run it? 
>>
>
> For development purposes we can stick to certain pre-defined and fixed 
> categories. 
> Users may define their own categories according to their own needs and 
> wishes.
>  
>
> But some ideas that I can think of that might be useful are: 
>>
>> * Automatically building test coverage maps for each test, and reversing 
>> them, so we can see which tests touch the line(s) of code that we just 
>> modified, and rerun them easily. A good smoke test to run while modifying 
>> part of Django. 
>>
>
> py.test has a plugin for coverage reporting -> 
> https://bitbucket.org/memedough/pytest-cov/overview.
> Might turn out to be helpful.
>  
>
>>
>> * Categorising by imports: run all tests that import django.db or 
>> django.core.http for example. Not perfect, some tests may touch 
>> facilities 
>> without needing to actually import them, but it would be quick and cheap. 
>>
>>
> This looks like another possible way we can go.
>  
>
>> * Profile and speed up the test suite, so that we can run all tests more 
>> quickly, especially with databases like postgres where it takes an hour 
>> to 
>> run them all. 
>>
>>
> Py.test -> we can parallelise and distribute test loads.
>
>
> --
> Akshay Jaggi
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/d5f33c9e-89f5-4299-acdc-8f1456d04109%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
diff --git a/tests/conftest.py b/tests/conftest.py
new file mode 100644
index 0000000..ed65e84
--- /dev/null
+++ b/tests/conftest.py
@@ -0,0 +1,26 @@
+# coding=utf-8
+from collections import deque
+from genericpath import isdir, exists
+
+__author__ = 'andrew'
+from runtests import setup as django_tests_setup
+from os.path import dirname, split, basename, abspath, normpath
+
+
+def pytest_configure(config):
+    TESTS_PATH = dirname(abspath(__file__))
+
+    modules = deque()
+    for path in config.getoption('file_or_dir'):
+        abs = abspath(path)
+        if not exists(abs) or TESTS_PATH not in abs or TESTS_PATH == abs:
+            continue
+        module_path = path
+        while not isdir(module_path):
+            module_path = dirname(module_path)
+        module_name = basename(normpath(module_path))
+        modules.append(module_name)
+
+    django_tests_setup(0, modules)
+
+
diff --git a/tests/pytest.ini b/tests/pytest.ini
new file mode 100644
index 0000000..6a83477
--- /dev/null
+++ b/tests/pytest.ini
@@ -0,0 +1,3 @@
+[pytest]
+python_files=test*.py
+DJANGO_SETTINGS_MODULE = test_sqlite
\ No newline at end of file

Reply via email to