Revert "PLAT-1858 Better capture of deprecation warnings"
This commit is contained in:
@@ -21,6 +21,7 @@ sessions. Assumes structure:
|
||||
from .common import *
|
||||
import os
|
||||
from path import Path as path
|
||||
from warnings import filterwarnings, simplefilter
|
||||
from uuid import uuid4
|
||||
from util.db import NoOpMigrationModules
|
||||
from openedx.core.lib.derived import derive_settings
|
||||
@@ -174,6 +175,15 @@ CACHES = {
|
||||
},
|
||||
}
|
||||
|
||||
# hide ratelimit warnings while running tests
|
||||
filterwarnings('ignore', message='No request passed to the backend, unable to rate-limit')
|
||||
|
||||
# Ignore deprecation warnings (so we don't clutter Jenkins builds/production)
|
||||
# https://docs.python.org/2/library/warnings.html#the-warnings-filter
|
||||
# Change to "default" to see the first instance of each hit
|
||||
# or "error" to convert all into errors
|
||||
simplefilter('ignore')
|
||||
|
||||
################################# CELERY ######################################
|
||||
|
||||
CELERY_ALWAYS_EAGER = True
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
[pytest]
|
||||
DJANGO_SETTINGS_MODULE = cms.envs.test
|
||||
addopts = --nomigrations --reuse-db --durations=20 -p no:randomly
|
||||
# Enable default handling for all warnings, including those that are ignored by default;
|
||||
# but hide rate-limit warnings, because we deliberately don't throttle test user logins
|
||||
filterwarnings =
|
||||
default
|
||||
ignore:No request passed to the backend, unable to rate-limit.*:UserWarning
|
||||
norecursedirs = envs
|
||||
python_classes =
|
||||
python_files = tests.py test_*.py *_tests.py
|
||||
|
||||
@@ -2437,9 +2437,7 @@ def auto_auth(request):
|
||||
|
||||
# Log in as the user
|
||||
if login_when_done:
|
||||
backend = load_backend(NEW_USER_AUTH_BACKEND)
|
||||
user = backend.authenticate(request=request, username=username, password=password)
|
||||
user.backend = NEW_USER_AUTH_BACKEND
|
||||
user = authenticate(username=username, password=password)
|
||||
login(request, user)
|
||||
|
||||
create_comments_service_user(user)
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
[pytest]
|
||||
DJANGO_SETTINGS_MODULE = openedx.tests.settings
|
||||
addopts = --nomigrations --reuse-db --durations=20
|
||||
# Enable default handling for all warnings, including those that are ignored by default;
|
||||
# but hide rate-limit warnings, because we deliberately don't throttle test user logins
|
||||
filterwarnings =
|
||||
default
|
||||
ignore:No request passed to the backend, unable to rate-limit.*:UserWarning
|
||||
norecursedirs = .cache
|
||||
python_classes =
|
||||
python_files = tests.py test_*.py tests_*.py *_tests.py __init__.py
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
[pytest]
|
||||
addopts = -p no:randomly --durations=20
|
||||
# Enable default handling for all warnings, including those that are ignored by default;
|
||||
# but hide rate-limit warnings, because we deliberately don't throttle test user logins
|
||||
filterwarnings =
|
||||
default
|
||||
ignore:No request passed to the backend, unable to rate-limit.*:UserWarning
|
||||
norecursedirs = .cache
|
||||
|
||||
@@ -22,6 +22,7 @@ from .common import *
|
||||
import os
|
||||
from path import Path as path
|
||||
from uuid import uuid4
|
||||
from warnings import filterwarnings, simplefilter
|
||||
|
||||
from util.db import NoOpMigrationModules
|
||||
from openedx.core.lib.derived import derive_settings
|
||||
@@ -230,6 +231,15 @@ CACHES = {
|
||||
# Dummy secret key for dev
|
||||
SECRET_KEY = '85920908f28904ed733fe576320db18cabd7b6cd'
|
||||
|
||||
# hide ratelimit warnings while running tests
|
||||
filterwarnings('ignore', message='No request passed to the backend, unable to rate-limit')
|
||||
|
||||
# Ignore deprecation warnings (so we don't clutter Jenkins builds/production)
|
||||
# https://docs.python.org/2/library/warnings.html#the-warnings-filter
|
||||
# Change to "default" to see the first instance of each hit
|
||||
# or "error" to convert all into errors
|
||||
simplefilter('ignore')
|
||||
|
||||
############################# SECURITY SETTINGS ################################
|
||||
# Default to advanced security in common.py, so tests can reset here to use
|
||||
# a simpler security model
|
||||
|
||||
@@ -58,12 +58,10 @@ INSTALLED_APPS = (
|
||||
'djcelery',
|
||||
'openedx.core.djangoapps.video_config',
|
||||
'openedx.core.djangoapps.video_pipeline',
|
||||
'openedx.core.djangoapps.bookmarks.apps.BookmarksConfig',
|
||||
'edxval',
|
||||
'courseware',
|
||||
'student',
|
||||
'certificates.apps.CertificatesConfig',
|
||||
'openedx.core.djangoapps.user_api',
|
||||
'course_modes.apps.CourseModesConfig',
|
||||
'lms.djangoapps.verify_student.apps.VerifyStudentConfig',
|
||||
'openedx.core.djangoapps.dark_lang',
|
||||
@@ -73,7 +71,6 @@ INSTALLED_APPS = (
|
||||
'openedx.core.djangoapps.self_paced',
|
||||
'milestones',
|
||||
'celery_utils',
|
||||
'lms.djangoapps.completion.apps.CompletionAppConfig',
|
||||
)
|
||||
|
||||
LMS_ROOT_URL = 'http://localhost:8000'
|
||||
|
||||
@@ -11,20 +11,10 @@ import django
|
||||
def expected_redirect_url(relative_url, hostname='testserver'):
|
||||
"""
|
||||
Get the expected redirect URL for the current Django version and the
|
||||
given relative URL:
|
||||
|
||||
* Django 1.8 and earlier redirect URLs beginning with a slash to absolute
|
||||
URLs, later versions redirect to relative ones.
|
||||
* Django 1.8 and earlier leave URLs without a leading slash alone, later
|
||||
versions prepend the missing slash.
|
||||
given relative URL. Django 1.8 and earlier redirect to absolute URLs,
|
||||
later versions redirect to relative ones.
|
||||
"""
|
||||
if django.VERSION < (1, 9):
|
||||
if relative_url.startswith('/'):
|
||||
return 'http://{}{}'.format(hostname, relative_url)
|
||||
else:
|
||||
return relative_url
|
||||
return 'http://{}{}'.format(hostname, relative_url)
|
||||
else:
|
||||
if relative_url.startswith('/'):
|
||||
return relative_url
|
||||
else:
|
||||
return '/{}'.format(relative_url)
|
||||
return relative_url
|
||||
|
||||
@@ -65,7 +65,6 @@ __test__ = False # do not collect
|
||||
dest='disable_migrations',
|
||||
help="Create tables by applying migrations."
|
||||
),
|
||||
make_option('--stderr', help='redirect stderr from tests to a file at this path'),
|
||||
], share_with=['pavelib.utils.test.utils.clean_reports_dir'])
|
||||
@PassthroughTask
|
||||
@timed
|
||||
@@ -141,7 +140,6 @@ def test_system(options, passthrough_options):
|
||||
"--disable_capture", action="store_true", dest="disable_capture",
|
||||
help="Disable capturing of stdout/stderr"
|
||||
),
|
||||
make_option('--stderr', help='redirect stderr from tests to a file at this path'),
|
||||
], share_with=['pavelib.utils.test.utils.clean_reports_dir'])
|
||||
@PassthroughTask
|
||||
@timed
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
"""
|
||||
A class used for defining and running test suites
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
|
||||
@@ -28,7 +27,6 @@ class TestSuite(object):
|
||||
self.verbosity = int(kwargs.get('verbosity', 1))
|
||||
self.skip_clean = kwargs.get('skip_clean', False)
|
||||
self.passthrough_options = kwargs.get('passthrough_options', [])
|
||||
self.stderr_path = kwargs.get('stderr', None)
|
||||
|
||||
def __enter__(self):
|
||||
"""
|
||||
@@ -93,10 +91,6 @@ class TestSuite(object):
|
||||
sys.stdout.flush()
|
||||
|
||||
kwargs = {'shell': True, 'cwd': None}
|
||||
stderr = None
|
||||
if self.stderr_path:
|
||||
stderr = open(self.stderr_path, 'a')
|
||||
kwargs['stderr'] = stderr
|
||||
process = None
|
||||
|
||||
try:
|
||||
@@ -105,17 +99,12 @@ class TestSuite(object):
|
||||
except KeyboardInterrupt:
|
||||
kill_process(process)
|
||||
sys.exit(1)
|
||||
finally:
|
||||
if stderr:
|
||||
stderr.close()
|
||||
|
||||
def run_suite_tests(self):
|
||||
"""
|
||||
Runs each of the suites in self.subsuites while tracking failures
|
||||
"""
|
||||
# Uses __enter__ and __exit__ for context
|
||||
if self.stderr_path and os.path.isfile(self.stderr_path):
|
||||
os.remove(self.stderr_path)
|
||||
with self:
|
||||
# run the tests for this class, and for all subsuites
|
||||
if self.cmd:
|
||||
|
||||
@@ -132,13 +132,13 @@ case "$TEST_SUITE" in
|
||||
"lms-unit")
|
||||
case "$SHARD" in
|
||||
"all")
|
||||
$TOX paver test_system -s lms --disable_capture $PAVER_ARGS $PARALLEL --stderr=lms-tests.log
|
||||
$TOX paver test_system -s lms --disable_capture $PAVER_ARGS $PARALLEL 2> lms-tests.log
|
||||
;;
|
||||
[1-3])
|
||||
$TOX paver test_system -s lms --disable_capture --eval-attr="shard==$SHARD" $PAVER_ARGS $PARALLEL --stderr=lms-tests.$SHARD.log
|
||||
$TOX paver test_system -s lms --disable_capture --eval-attr="shard==$SHARD" $PAVER_ARGS $PARALLEL 2> lms-tests.$SHARD.log
|
||||
;;
|
||||
4|"noshard")
|
||||
$TOX paver test_system -s lms --disable_capture --eval-attr='not shard' $PAVER_ARGS $PARALLEL --stderr=lms-tests.4.log
|
||||
$TOX paver test_system -s lms --disable_capture --eval-attr='not shard' $PAVER_ARGS $PARALLEL 2> lms-tests.4.log
|
||||
;;
|
||||
*)
|
||||
# If no shard is specified, rather than running all tests, create an empty xunit file. This is a
|
||||
@@ -152,11 +152,11 @@ case "$TEST_SUITE" in
|
||||
;;
|
||||
|
||||
"cms-unit")
|
||||
$TOX paver test_system -s cms --disable_capture $PAVER_ARGS --stderr=cms-tests.log
|
||||
$TOX paver test_system -s cms --disable_capture $PAVER_ARGS 2> cms-tests.log
|
||||
;;
|
||||
|
||||
"commonlib-unit")
|
||||
$TOX paver test_lib --disable_capture $PAVER_ARGS --stderr=common-tests.log
|
||||
$TOX paver test_lib --disable_capture $PAVER_ARGS 2> common-tests.log
|
||||
;;
|
||||
|
||||
"js-unit")
|
||||
|
||||
@@ -17,11 +17,6 @@ process-timeout=300
|
||||
[tool:pytest]
|
||||
DJANGO_SETTINGS_MODULE = lms.envs.test
|
||||
addopts = --nomigrations --reuse-db --durations=20
|
||||
# Enable default handling for all warnings, including those that are ignored by default;
|
||||
# but hide rate-limit warnings, because we deliberately don't throttle test user logins
|
||||
filterwarnings =
|
||||
default
|
||||
ignore:No request passed to the backend, unable to rate-limit.*:UserWarning
|
||||
norecursedirs = .* *.egg build conf dist node_modules test_root cms/envs lms/envs
|
||||
python_classes =
|
||||
python_files = tests.py test_*.py tests_*.py *_tests.py __init__.py
|
||||
|
||||
Reference in New Issue
Block a user