comparison test/test_postgresql.py @ 5105:37d1e24fb941

Fix work-around for pytest markers bug The initial work-around implemented was totally botched using 'pytest.skip' instead of 'pytest.mark.skip' which resulted in all tests in a file being completely ignored if any skip conditions that evaluated to true were declared or imported in the file. This work-around will not correctly display why all the tests have been skipped when using the '-rs' parameter. Only the first skip marker to taint a parent test class will be displayed (ie. if both xapian and mysql tests are being skipped, pytest will only output that tests are being skipped because xapian is not installed even though the mysql tests are also being skipped because mysql backend is not available). There also seems to be a bug in the current version of pytest being used in 'run_tests.py' (v2.8.4) that results in the skip not actually working when using 'pytest.mark.skip'. This does work correctly with the most recent release (v2.9.2), so the 'run_tests.py' script will need to be updated.
author John Kristensen <john@jerrykan.com>
date Mon, 27 Jun 2016 14:03:32 +1000
parents c977f3530944
children 43a1f7fe39f5
comparison
equal deleted inserted replaced
5104:ca3e56590fcd 5105:37d1e24fb941
27 from roundup.backends import get_backend, have_backend 27 from roundup.backends import get_backend, have_backend
28 28
29 # FIX: workaround for a bug in pytest.mark.skipif(): 29 # FIX: workaround for a bug in pytest.mark.skipif():
30 # https://github.com/pytest-dev/pytest/issues/568 30 # https://github.com/pytest-dev/pytest/issues/568
31 if not have_backend('postgresql'): 31 if not have_backend('postgresql'):
32 skip_postgresql = pytest.skip( 32 skip_postgresql = pytest.mark.skip(
33 'Skipping PostgreSQL tests: backend not available') 33 reason='Skipping PostgreSQL tests: backend not available')
34 else: 34 else:
35 skip_postgresql = lambda func, *args, **kwargs: func 35 skip_postgresql = lambda func, *args, **kwargs: func
36 36
37 37
38 class postgresqlOpener: 38 class postgresqlOpener:

Roundup Issue Tracker: http://roundup-tracker.org/