Mock Version: 1.4.21 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/python-flask.spec'], chrootPath='/var/lib/mock/1243499-centos-stream-x86_64-1582007535.795332/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'en_US.UTF-8'}shell=Falselogger=timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--pipe', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.2r5y42wd:/etc/resolv.conf']unshare_net=TrueprintOutput=True) Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--pipe', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.2r5y42wd:/etc/resolv.conf'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'e86617de15224e4ea4dbcc8b4958b50a', '-D', '/var/lib/mock/1243499-centos-stream-x86_64-1582007535.795332/root', '-a', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--pipe', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.2r5y42wd:/etc/resolv.conf', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=en_US.UTF-8', '-u', 'mockbuild', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/python-flask.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'en_US.UTF-8'} and shell False Building target platforms: x86_64 Building for target x86_64 Wrote: /builddir/build/SRPMS/python-flask-1.0.2-2.el8.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/python-flask.spec'], chrootPath='/var/lib/mock/1243499-centos-stream-x86_64-1582007535.795332/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'en_US.UTF-8'}shell=Falselogger=timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--pipe', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.2r5y42wd:/etc/resolv.conf']unshare_net=TrueprintOutput=True) Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--pipe', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.2r5y42wd:/etc/resolv.conf'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'b1523195c0ec4227b8ba82dc9b51f508', '-D', '/var/lib/mock/1243499-centos-stream-x86_64-1582007535.795332/root', '-a', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--pipe', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.2r5y42wd:/etc/resolv.conf', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=en_US.UTF-8', '-u', 'mockbuild', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/python-flask.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'en_US.UTF-8'} and shell False Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.aPFKV5 + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf Flask-1.0.2 + /usr/bin/gzip -dc /builddir/build/SOURCES/Flask-1.0.2.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd Flask-1.0.2 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + rm -rf examples/flaskr/ + rm -rf examples/minitwit/ + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.A0iTYz + umask 022 + cd /builddir/build/BUILD + cd Flask-1.0.2 + CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + LDFLAGS='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + /usr/libexec/platform-python setup.py build '--executable=/usr/libexec/platform-python -s' running build running build_py creating build creating build/lib creating build/lib/flask copying flask/__init__.py -> build/lib/flask copying flask/globals.py -> build/lib/flask copying flask/_compat.py -> build/lib/flask copying flask/cli.py -> build/lib/flask copying flask/views.py -> build/lib/flask copying flask/blueprints.py -> build/lib/flask copying flask/logging.py -> build/lib/flask copying flask/config.py -> build/lib/flask copying flask/ctx.py -> build/lib/flask copying flask/app.py -> build/lib/flask copying flask/wrappers.py -> build/lib/flask copying flask/debughelpers.py -> build/lib/flask copying flask/helpers.py -> build/lib/flask copying flask/signals.py -> build/lib/flask copying flask/sessions.py -> build/lib/flask copying flask/__main__.py -> build/lib/flask copying flask/templating.py -> build/lib/flask copying flask/testing.py -> build/lib/flask creating build/lib/flask/json copying flask/json/__init__.py -> build/lib/flask/json copying flask/json/tag.py -> build/lib/flask/json running egg_info writing Flask.egg-info/PKG-INFO writing dependency_links to Flask.egg-info/dependency_links.txt writing entry points to Flask.egg-info/entry_points.txt writing requirements to Flask.egg-info/requires.txt writing top-level names to Flask.egg-info/top_level.txt reading manifest file 'Flask.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.py[co]' found anywhere in distribution no previously-included directories found matching 'docs/_build' no previously-included directories found matching 'docs/_themes' writing manifest file 'Flask.egg-info/SOURCES.txt' + sleep 1 + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.wMOsb9 + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64 ++ dirname /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64 + cd Flask-1.0.2 + CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + LDFLAGS='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + /usr/libexec/platform-python setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64 running install running install_lib creating /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr creating /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib creating /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6 creating /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages creating /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask creating /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/json copying build/lib/flask/json/tag.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/json copying build/lib/flask/json/__init__.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/json copying build/lib/flask/testing.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/templating.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/__main__.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/sessions.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/signals.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/helpers.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/debughelpers.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/wrappers.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/app.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/ctx.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/config.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/logging.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/blueprints.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/views.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/cli.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/_compat.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/globals.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask copying build/lib/flask/__init__.py -> /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/json/tag.py to tag.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/json/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py to testing.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/templating.py to templating.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/__main__.py to __main__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py to sessions.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/signals.py to signals.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/helpers.py to helpers.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/debughelpers.py to debughelpers.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/wrappers.py to wrappers.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py to app.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/ctx.py to ctx.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/config.py to config.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/logging.py to logging.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/blueprints.py to blueprints.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/views.py to views.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/cli.py to cli.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py to _compat.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/globals.py to globals.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/__init__.py to __init__.cpython-36.pyc writing byte-compilation script '/tmp/tmp45k_hu5w.py' /usr/libexec/platform-python /tmp/tmp45k_hu5w.py removing /tmp/tmp45k_hu5w.py running install_egg_info running egg_info writing Flask.egg-info/PKG-INFO writing dependency_links to Flask.egg-info/dependency_links.txt writing entry points to Flask.egg-info/entry_points.txt writing requirements to Flask.egg-info/requires.txt writing top-level names to Flask.egg-info/top_level.txt reading manifest file 'Flask.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.py[co]' found anywhere in distribution no previously-included directories found matching 'docs/_build' no previously-included directories found matching 'docs/_themes' writing manifest file 'Flask.egg-info/SOURCES.txt' Copying Flask.egg-info to /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/Flask-1.0.2-py3.6.egg-info running install_scripts Installing flask script to /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/bin + mv /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/bin/flask /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/bin/flask-3.6 + ln -s flask-3.6 /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/bin/flask-3 + /usr/lib/rpm/find-debuginfo.sh -j2 --strict-build-id -m -i --build-id-seed 1.0.2-2.el8 --unique-debug-suffix -1.0.2-2.el8.x86_64 --unique-debug-src-base python-flask-1.0.2-2.el8.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -S debugsourcefiles.list /builddir/build/BUILD/Flask-1.0.2 find: 'debug': No such file or directory + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig /sbin/ldconfig: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf: No such file or directory + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/brp-python-bytecompile 1 Bytecompiling .py files below /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6 using /usr/libexec/platform-python + /usr/lib/rpm/brp-python-hardlink + PYTHON3=/usr/libexec/platform-python + /usr/lib/rpm/redhat/brp-mangle-shebangs Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.0X9TZL + umask 022 + cd /builddir/build/BUILD + cd Flask-1.0.2 + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + PYTHONPATH=/builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages + py.test-3.6 -v ============================= test session starts ============================== platform linux -- Python 3.6.8, pytest-3.4.2, py-1.5.3, pluggy-0.6.0 -- /usr/libexec/platform-python cachedir: .pytest_cache rootdir: /builddir/build/BUILD/Flask-1.0.2, inifile: setup.cfg collecting ... collected 501 items tests/test_appctx.py::test_basic_url_generation PASSED [ 0%] tests/test_appctx.py::test_url_generation_requires_server_name PASSED [ 0%] tests/test_appctx.py::test_url_generation_without_context_fails PASSED [ 0%] tests/test_appctx.py::test_request_context_means_app_context PASSED [ 0%] tests/test_appctx.py::test_app_context_provides_current_app PASSED [ 0%] tests/test_appctx.py::test_app_tearing_down PASSED [ 1%] tests/test_appctx.py::test_app_tearing_down_with_previous_exception PASSED [ 1%] tests/test_appctx.py::test_app_tearing_down_with_handled_exception_by_except_block PASSED [ 1%] tests/test_appctx.py::test_app_tearing_down_with_handled_exception_by_app_handler PASSED [ 1%] tests/test_appctx.py::test_app_tearing_down_with_unhandled_exception PASSED [ 1%] tests/test_appctx.py::test_app_ctx_globals_methods PASSED [ 2%] tests/test_appctx.py::test_custom_app_ctx_globals_class PASSED [ 2%] tests/test_appctx.py::test_context_refcounts PASSED [ 2%] tests/test_appctx.py::test_clean_pop PASSED [ 2%] tests/test_basic.py::test_options_work PASSED [ 2%] tests/test_basic.py::test_options_on_multiple_rules PASSED [ 3%] tests/test_basic.py::test_provide_automatic_options_attr PASSED [ 3%] tests/test_basic.py::test_provide_automatic_options_kwarg PASSED [ 3%] tests/test_basic.py::test_request_dispatching PASSED [ 3%] tests/test_basic.py::test_disallow_string_for_allowed_methods PASSED [ 3%] tests/test_basic.py::test_url_mapping PASSED [ 4%] tests/test_basic.py::test_werkzeug_routing PASSED [ 4%] tests/test_basic.py::test_endpoint_decorator PASSED [ 4%] tests/test_basic.py::test_session FAILED [ 4%] tests/test_basic.py::test_session ERROR [ 4%] tests/test_basic.py::test_session_using_server_name FAILED [ 4%] tests/test_basic.py::test_session_using_server_name ERROR [ 4%] tests/test_basic.py::test_session_using_server_name_and_port FAILED [ 5%] tests/test_basic.py::test_session_using_server_name_and_port ERROR [ 5%] tests/test_basic.py::test_session_using_server_name_port_and_path FAILED [ 5%] tests/test_basic.py::test_session_using_server_name_port_and_path ERROR [ 5%] tests/test_basic.py::test_session_using_application_root FAILED [ 5%] tests/test_basic.py::test_session_using_application_root ERROR [ 5%] tests/test_basic.py::test_session_using_session_settings FAILED [ 5%] tests/test_basic.py::test_session_using_session_settings ERROR [ 5%] tests/test_basic.py::test_session_using_samesite_attribute FAILED [ 5%] tests/test_basic.py::test_session_using_samesite_attribute ERROR [ 5%] tests/test_basic.py::test_session_localhost_warning FAILED [ 6%] tests/test_basic.py::test_session_localhost_warning ERROR [ 6%] tests/test_basic.py::test_session_ip_warning FAILED [ 6%] tests/test_basic.py::test_session_ip_warning ERROR [ 6%] tests/test_basic.py::test_missing_session PASSED [ 6%] tests/test_basic.py::test_session_expiration FAILED [ 6%] tests/test_basic.py::test_session_expiration ERROR [ 6%] tests/test_basic.py::test_session_stored_last FAILED [ 6%] tests/test_basic.py::test_session_stored_last ERROR [ 6%] tests/test_basic.py::test_session_special_types FAILED [ 7%] tests/test_basic.py::test_session_special_types ERROR [ 7%] tests/test_basic.py::test_session_cookie_setting FAILED [ 7%] tests/test_basic.py::test_session_cookie_setting ERROR [ 7%] tests/test_basic.py::test_session_vary_cookie FAILED [ 7%] tests/test_basic.py::test_session_vary_cookie ERROR [ 7%] tests/test_basic.py::test_flashes PASSED [ 7%] tests/test_basic.py::test_extended_flashing FAILED [ 7%] tests/test_basic.py::test_extended_flashing ERROR [ 7%] tests/test_basic.py::test_request_processing PASSED [ 8%] tests/test_basic.py::test_request_preprocessing_early_return PASSED [ 8%] tests/test_basic.py::test_after_request_processing PASSED [ 8%] tests/test_basic.py::test_teardown_request_handler PASSED [ 8%] tests/test_basic.py::test_teardown_request_handler_debug_mode PASSED [ 8%] tests/test_basic.py::test_teardown_request_handler_error PASSED [ 9%] tests/test_basic.py::test_before_after_request_order PASSED [ 9%] tests/test_basic.py::test_error_handling PASSED [ 9%] tests/test_basic.py::test_error_handler_unknown_code PASSED [ 9%] tests/test_basic.py::test_error_handling_processing PASSED [ 9%] tests/test_basic.py::test_baseexception_error_handling PASSED [ 10%] tests/test_basic.py::test_before_request_and_routing_errors PASSED [ 10%] tests/test_basic.py::test_user_error_handling PASSED [ 10%] tests/test_basic.py::test_http_error_subclass_handling PASSED [ 10%] tests/test_basic.py::test_errorhandler_precedence PASSED [ 10%] tests/test_basic.py::test_trapping_of_bad_request_key_errors PASSED [ 11%] tests/test_basic.py::test_trapping_of_all_http_exceptions PASSED [ 11%] tests/test_basic.py::test_error_handler_after_processor_error PASSED [ 11%] tests/test_basic.py::test_enctype_debug_helper PASSED [ 11%] tests/test_basic.py::test_response_types PASSED [ 11%] tests/test_basic.py::test_response_type_errors PASSED [ 12%] tests/test_basic.py::test_make_response PASSED [ 12%] tests/test_basic.py::test_make_response_with_response_instance PASSED [ 12%] tests/test_basic.py::test_jsonify_no_prettyprint PASSED [ 12%] tests/test_basic.py::test_jsonify_prettyprint PASSED [ 12%] tests/test_basic.py::test_jsonify_mimetype PASSED [ 13%] tests/test_basic.py::test_jsonify_args_and_kwargs_check PASSED [ 13%] tests/test_basic.py::test_url_generation PASSED [ 13%] tests/test_basic.py::test_build_error_handler PASSED [ 13%] tests/test_basic.py::test_build_error_handler_reraise PASSED [ 13%] tests/test_basic.py::test_url_for_passes_special_values_to_build_error_handler PASSED [ 14%] tests/test_basic.py::test_custom_converters PASSED [ 14%] tests/test_basic.py::test_static_files PASSED [ 14%] tests/test_basic.py::test_static_url_path PASSED [ 14%] tests/test_basic.py::test_static_route_with_host_matching PASSED [ 14%] tests/test_basic.py::test_request_locals PASSED [ 15%] tests/test_basic.py::test_test_app_proper_environ PASSED [ 15%] tests/test_basic.py::test_exception_propagation PASSED [ 15%] tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-True-True] PASSED [ 15%] tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-True-False] PASSED [ 15%] tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-False-True] PASSED [ 16%] tests/test_basic.py::test_werkzeug_passthrough_errors[None-True-False-False] PASSED [ 16%] tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-True-True] PASSED [ 16%] tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-True-False] PASSED [ 16%] tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-False-True] PASSED [ 16%] tests/test_basic.py::test_werkzeug_passthrough_errors[None-False-False-False] PASSED [ 17%] tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-True-True] PASSED [ 17%] tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-True-False] PASSED [ 17%] tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-False-True] PASSED [ 17%] tests/test_basic.py::test_werkzeug_passthrough_errors[True-True-False-False] PASSED [ 17%] tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-True-True] PASSED [ 18%] tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-True-False] PASSED [ 18%] tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-False-True] PASSED [ 18%] tests/test_basic.py::test_werkzeug_passthrough_errors[True-False-False-False] PASSED [ 18%] tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-True-True] PASSED [ 18%] tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-True-False] PASSED [ 19%] tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-False-True] PASSED [ 19%] tests/test_basic.py::test_werkzeug_passthrough_errors[False-True-False-False] PASSED [ 19%] tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-True-True] PASSED [ 19%] tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-True-False] PASSED [ 19%] tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-False-True] PASSED [ 20%] tests/test_basic.py::test_werkzeug_passthrough_errors[False-False-False-False] PASSED [ 20%] tests/test_basic.py::test_max_content_length PASSED [ 20%] tests/test_basic.py::test_url_processors PASSED [ 20%] tests/test_basic.py::test_inject_blueprint_url_defaults PASSED [ 20%] tests/test_basic.py::test_nonascii_pathinfo PASSED [ 21%] tests/test_basic.py::test_debug_mode_complains_after_first_request PASSED [ 21%] tests/test_basic.py::test_before_first_request_functions PASSED [ 21%] tests/test_basic.py::test_before_first_request_functions_concurrent PASSED [ 21%] tests/test_basic.py::test_routing_redirect_debugging PASSED [ 21%] tests/test_basic.py::test_route_decorator_custom_endpoint PASSED [ 22%] tests/test_basic.py::test_preserve_only_once PASSED [ 22%] tests/test_basic.py::test_preserve_remembers_exception PASSED [ 22%] tests/test_basic.py::test_get_method_on_g PASSED [ 22%] tests/test_basic.py::test_g_iteration_protocol PASSED [ 22%] tests/test_basic.py::test_subdomain_basic_support PASSED [ 23%] tests/test_basic.py::test_subdomain_matching PASSED [ 23%] tests/test_basic.py::test_subdomain_matching_with_ports PASSED [ 23%] tests/test_basic.py::test_subdomain_matching_other_name[False] PASSED [ 23%] tests/test_basic.py::test_subdomain_matching_other_name[True] PASSED [ 23%] tests/test_basic.py::test_multi_route_rules PASSED [ 24%] tests/test_basic.py::test_multi_route_class_views PASSED [ 24%] tests/test_basic.py::test_run_defaults PASSED [ 24%] tests/test_basic.py::test_run_server_port PASSED [ 24%] tests/test_basic.py::test_run_from_config[None-None-pocoo.org-8080] PASSED [ 24%] tests/test_basic.py::test_run_from_config[localhost-None-localhost-8080] PASSED [ 25%] tests/test_basic.py::test_run_from_config[None-80-pocoo.org-80] PASSED [ 25%] tests/test_basic.py::test_run_from_config[localhost-80-localhost-80] PASSED [ 25%] tests/test_basic.py::test_max_cookie_size FAILED [ 25%] tests/test_blueprints.py::test_blueprint_specific_error_handling PASSED [ 25%] tests/test_blueprints.py::test_blueprint_specific_user_error_handling PASSED [ 26%] tests/test_blueprints.py::test_blueprint_app_error_handling PASSED [ 26%] tests/test_blueprints.py::test_blueprint_prefix_slash[-/-/] PASSED [ 26%] tests/test_blueprints.py::test_blueprint_prefix_slash[/--/] PASSED [ 26%] tests/test_blueprints.py::test_blueprint_prefix_slash[/-/-/] PASSED [ 26%] tests/test_blueprints.py::test_blueprint_prefix_slash[/foo--/foo] PASSED [ 27%] tests/test_blueprints.py::test_blueprint_prefix_slash[/foo/--/foo/] PASSED [ 27%] tests/test_blueprints.py::test_blueprint_prefix_slash[-/bar-/bar] PASSED [ 27%] tests/test_blueprints.py::test_blueprint_prefix_slash[/foo/-/bar-/foo/bar] PASSED [ 27%] tests/test_blueprints.py::test_blueprint_prefix_slash[/foo/-bar-/foo/bar] PASSED [ 27%] tests/test_blueprints.py::test_blueprint_prefix_slash[/foo-/bar-/foo/bar] PASSED [ 28%] tests/test_blueprints.py::test_blueprint_prefix_slash[/foo/-//bar-/foo/bar] PASSED [ 28%] tests/test_blueprints.py::test_blueprint_prefix_slash[/foo//-/bar-/foo/bar] PASSED [ 28%] tests/test_blueprints.py::test_blueprint_url_defaults PASSED [ 28%] tests/test_blueprints.py::test_blueprint_url_processors PASSED [ 28%] tests/test_blueprints.py::test_templates_and_static PASSED [ 29%] tests/test_blueprints.py::test_default_static_cache_timeout PASSED [ 29%] tests/test_blueprints.py::test_templates_list PASSED [ 29%] tests/test_blueprints.py::test_dotted_names PASSED [ 29%] tests/test_blueprints.py::test_dotted_names_from_app PASSED [ 29%] tests/test_blueprints.py::test_empty_url_defaults PASSED [ 30%] tests/test_blueprints.py::test_route_decorator_custom_endpoint PASSED [ 30%] tests/test_blueprints.py::test_route_decorator_custom_endpoint_with_dots PASSED [ 30%] tests/test_blueprints.py::test_endpoint_decorator PASSED [ 30%] tests/test_blueprints.py::test_template_filter PASSED [ 30%] tests/test_blueprints.py::test_add_template_filter PASSED [ 31%] tests/test_blueprints.py::test_template_filter_with_name PASSED [ 31%] tests/test_blueprints.py::test_add_template_filter_with_name PASSED [ 31%] tests/test_blueprints.py::test_template_filter_with_template PASSED [ 31%] tests/test_blueprints.py::test_template_filter_after_route_with_template PASSED [ 31%] tests/test_blueprints.py::test_add_template_filter_with_template PASSED [ 32%] tests/test_blueprints.py::test_template_filter_with_name_and_template PASSED [ 32%] tests/test_blueprints.py::test_add_template_filter_with_name_and_template PASSED [ 32%] tests/test_blueprints.py::test_template_test PASSED [ 32%] tests/test_blueprints.py::test_add_template_test PASSED [ 32%] tests/test_blueprints.py::test_template_test_with_name PASSED [ 33%] tests/test_blueprints.py::test_add_template_test_with_name PASSED [ 33%] tests/test_blueprints.py::test_template_test_with_template PASSED [ 33%] tests/test_blueprints.py::test_template_test_after_route_with_template PASSED [ 33%] tests/test_blueprints.py::test_add_template_test_with_template PASSED [ 33%] tests/test_blueprints.py::test_template_test_with_name_and_template PASSED [ 34%] tests/test_blueprints.py::test_add_template_test_with_name_and_template PASSED [ 34%] tests/test_blueprints.py::test_context_processing PASSED [ 34%] tests/test_blueprints.py::test_template_global PASSED [ 34%] tests/test_blueprints.py::test_request_processing PASSED [ 34%] tests/test_blueprints.py::test_app_request_processing PASSED [ 35%] tests/test_blueprints.py::test_app_url_processors PASSED [ 35%] tests/test_cli.py::test_cli_name PASSED [ 35%] tests/test_cli.py::test_find_best_app PASSED [ 35%] tests/test_cli.py::test_prepare_import[test-/builddir/build/BUILD/Flask-1.0.2-test] PASSED [ 35%] tests/test_cli.py::test_prepare_import[test.py-/builddir/build/BUILD/Flask-1.0.2-test] PASSED [ 36%] tests/test_cli.py::test_prepare_import[a/test-/builddir/build/BUILD/Flask-1.0.2/a-test] PASSED [ 36%] tests/test_cli.py::test_prepare_import[test/__init__.py-/builddir/build/BUILD/Flask-1.0.2-test] PASSED [ 36%] tests/test_cli.py::test_prepare_import[test/__init__-/builddir/build/BUILD/Flask-1.0.2-test] PASSED [ 36%] tests/test_cli.py::test_prepare_import[/builddir/build/BUILD/Flask-1.0.2/tests/test_apps/cliapp/inner1/__init__-/builddir/build/BUILD/Flask-1.0.2/tests/test_apps-cliapp.inner1] PASSED [ 36%] tests/test_cli.py::test_prepare_import[/builddir/build/BUILD/Flask-1.0.2/tests/test_apps/cliapp/inner1/inner2-/builddir/build/BUILD/Flask-1.0.2/tests/test_apps-cliapp.inner1.inner2] PASSED [ 37%] tests/test_cli.py::test_prepare_import[test.a.b-/builddir/build/BUILD/Flask-1.0.2-test.a.b] PASSED [ 37%] tests/test_cli.py::test_prepare_import[/builddir/build/BUILD/Flask-1.0.2/tests/test_apps/cliapp.app-/builddir/build/BUILD/Flask-1.0.2/tests/test_apps-cliapp.app] PASSED [ 37%] tests/test_cli.py::test_prepare_import[/builddir/build/BUILD/Flask-1.0.2/tests/test_apps/cliapp/message.txt-/builddir/build/BUILD/Flask-1.0.2/tests/test_apps-cliapp.message.txt] PASSED [ 37%] tests/test_cli.py::test_locate_app[cliapp.app-None-testapp] PASSED [ 37%] tests/test_cli.py::test_locate_app[cliapp.app-testapp-testapp] PASSED [ 38%] tests/test_cli.py::test_locate_app[cliapp.factory-None-app] PASSED [ 38%] tests/test_cli.py::test_locate_app[cliapp.factory-create_app-app] PASSED [ 38%] tests/test_cli.py::test_locate_app[cliapp.factory-create_app()-app] PASSED [ 38%] tests/test_cli.py::test_locate_app[cliapp.factory-create_app2("foo", "bar")-app2_foo_bar] PASSED [ 38%] tests/test_cli.py::test_locate_app[cliapp.factory-create_app2("foo", "bar", )-app2_foo_bar] PASSED [ 39%] tests/test_cli.py::test_locate_app[cliapp.factory-create_app3("foo")-app3_foo_spam] PASSED [ 39%] tests/test_cli.py::test_locate_app[cliapp.factory- create_app () -app] PASSED [ 39%] tests/test_cli.py::test_locate_app_raises[notanapp.py-None] PASSED [ 39%] tests/test_cli.py::test_locate_app_raises[cliapp/app-None] PASSED [ 39%] tests/test_cli.py::test_locate_app_raises[cliapp.app-notanapp] PASSED [ 40%] tests/test_cli.py::test_locate_app_raises[cliapp.factory-create_app2("foo")] PASSED [ 40%] tests/test_cli.py::test_locate_app_raises[cliapp.factory-create_app(] PASSED [ 40%] tests/test_cli.py::test_locate_app_raises[cliapp.factory-no_app] PASSED [ 40%] tests/test_cli.py::test_locate_app_raises[cliapp.importerrorapp-None] PASSED [ 40%] tests/test_cli.py::test_locate_app_raises[cliapp.message.txt-None] PASSED [ 41%] tests/test_cli.py::test_locate_app_suppress_raise PASSED [ 41%] tests/test_cli.py::test_get_version PASSED [ 41%] tests/test_cli.py::test_scriptinfo PASSED [ 41%] tests/test_cli.py::test_with_appcontext PASSED [ 41%] tests/test_cli.py::test_appgroup PASSED [ 42%] tests/test_cli.py::test_flaskgroup PASSED [ 42%] tests/test_cli.py::test_print_exceptions PASSED [ 42%] tests/test_cli.py::TestRoutes::test_simple PASSED [ 42%] tests/test_cli.py::TestRoutes::test_sort PASSED [ 42%] tests/test_cli.py::TestRoutes::test_all_methods PASSED [ 43%] tests/test_cli.py::test_load_dotenv SKIPPED [ 43%] tests/test_cli.py::test_dotenv_path SKIPPED [ 43%] tests/test_cli.py::test_dotenv_optional PASSED [ 43%] tests/test_cli.py::test_disable_dotenv_from_env SKIPPED [ 43%] tests/test_cli.py::test_run_cert_path PASSED [ 44%] tests/test_cli.py::test_run_cert_adhoc PASSED [ 44%] tests/test_cli.py::test_run_cert_import PASSED [ 44%] tests/test_config.py::test_config_from_file PASSED [ 44%] tests/test_config.py::test_config_from_object PASSED [ 44%] tests/test_config.py::test_config_from_json PASSED [ 45%] tests/test_config.py::test_config_from_mapping PASSED [ 45%] tests/test_config.py::test_config_from_class PASSED [ 45%] tests/test_config.py::test_config_from_envvar PASSED [ 45%] tests/test_config.py::test_config_from_envvar_missing PASSED [ 45%] tests/test_config.py::test_config_missing PASSED [ 46%] tests/test_config.py::test_config_missing_json PASSED [ 46%] tests/test_config.py::test_custom_config_class PASSED [ 46%] tests/test_config.py::test_session_lifetime PASSED [ 46%] tests/test_config.py::test_send_file_max_age PASSED [ 46%] tests/test_config.py::test_get_namespace PASSED [ 47%] tests/test_config.py::test_from_pyfile_weird_encoding[utf-8] PASSED [ 47%] tests/test_config.py::test_from_pyfile_weird_encoding[iso-8859-15] PASSED [ 47%] tests/test_config.py::test_from_pyfile_weird_encoding[latin-1] PASSED [ 47%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-1] PASSED [ 47%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-t] PASSED [ 48%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-True] PASSED [ 48%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-False] PASSED [ 48%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-None] PASSED [ 48%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-value5] PASSED [ 48%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-value6] PASSED [ 49%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-value7] PASSED [ 49%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-value8] PASSED [ 49%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-1] PASSED [ 49%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-t] PASSED [ 49%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-True] PASSED [ 50%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-False] PASSED [ 50%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-None] PASSED [ 50%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-value5] PASSED [ 50%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-value6] PASSED [ 50%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-value7] PASSED [ 51%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-8-sig-value8] PASSED [ 51%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-1] PASSED [ 51%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-t] PASSED [ 51%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-True] PASSED [ 51%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-False] PASSED [ 52%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-None] PASSED [ 52%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-value5] PASSED [ 52%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-value6] PASSED [ 52%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-value7] PASSED [ 52%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-le-value8] PASSED [ 53%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-1] PASSED [ 53%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-t] PASSED [ 53%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-True] PASSED [ 53%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-False] PASSED [ 53%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-None] PASSED [ 54%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-value5] PASSED [ 54%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-value6] PASSED [ 54%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-value7] PASSED [ 54%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-be-value8] PASSED [ 54%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-1] PASSED [ 55%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-t] PASSED [ 55%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-True] PASSED [ 55%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-False] PASSED [ 55%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-None] PASSED [ 55%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-value5] PASSED [ 56%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-value6] PASSED [ 56%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-value7] PASSED [ 56%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-16-value8] PASSED [ 56%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-1] PASSED [ 56%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-t] PASSED [ 57%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-True] PASSED [ 57%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-False] PASSED [ 57%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-None] PASSED [ 57%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-value5] PASSED [ 57%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-value6] PASSED [ 58%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-value7] PASSED [ 58%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-le-value8] PASSED [ 58%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-1] PASSED [ 58%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-t] PASSED [ 58%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-True] PASSED [ 59%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-False] PASSED [ 59%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-None] PASSED [ 59%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-value5] PASSED [ 59%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-value6] PASSED [ 59%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-value7] PASSED [ 60%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-be-value8] PASSED [ 60%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-1] PASSED [ 60%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-t] PASSED [ 60%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-True] PASSED [ 60%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-False] PASSED [ 61%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-None] PASSED [ 61%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-value5] PASSED [ 61%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-value6] PASSED [ 61%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-value7] PASSED [ 61%] tests/test_helpers.py::TestJSON::test_detect_encoding[utf-32-value8] PASSED [ 62%] tests/test_helpers.py::TestJSON::test_ignore_cached_json PASSED [ 62%] tests/test_helpers.py::TestJSON::test_different_silent_on_bad_request PASSED [ 62%] tests/test_helpers.py::TestJSON::test_different_silent_on_normal_request PASSED [ 62%] tests/test_helpers.py::TestJSON::test_post_empty_json_adds_exception_to_response_content_in_debug PASSED [ 62%] tests/test_helpers.py::TestJSON::test_post_empty_json_wont_add_exception_to_response_if_no_debug PASSED [ 63%] tests/test_helpers.py::TestJSON::test_json_bad_requests PASSED [ 63%] tests/test_helpers.py::TestJSON::test_json_custom_mimetypes PASSED [ 63%] tests/test_helpers.py::TestJSON::test_json_as_unicode[True-"\\u2603"] PASSED [ 63%] tests/test_helpers.py::TestJSON::test_json_as_unicode[False-"\u2603"] PASSED [ 63%] tests/test_helpers.py::TestJSON::test_json_dump_to_file PASSED [ 64%] tests/test_helpers.py::TestJSON::test_jsonify_basic_types[0] PASSED [ 64%] tests/test_helpers.py::TestJSON::test_jsonify_basic_types[-1] PASSED [ 64%] tests/test_helpers.py::TestJSON::test_jsonify_basic_types[1] PASSED [ 64%] tests/test_helpers.py::TestJSON::test_jsonify_basic_types[23] PASSED [ 64%] tests/test_helpers.py::TestJSON::test_jsonify_basic_types[3.14] PASSED [ 65%] tests/test_helpers.py::TestJSON::test_jsonify_basic_types[s] PASSED [ 65%] tests/test_helpers.py::TestJSON::test_jsonify_basic_types[longer string] PASSED [ 65%] tests/test_helpers.py::TestJSON::test_jsonify_basic_types[True] PASSED [ 65%] tests/test_helpers.py::TestJSON::test_jsonify_basic_types[False] PASSED [ 65%] tests/test_helpers.py::TestJSON::test_jsonify_basic_types[None] PASSED [ 66%] tests/test_helpers.py::TestJSON::test_jsonify_dicts PASSED [ 66%] tests/test_helpers.py::TestJSON::test_jsonify_arrays PASSED [ 66%] tests/test_helpers.py::TestJSON::test_jsonify_date_types PASSED [ 66%] tests/test_helpers.py::TestJSON::test_jsonify_aware_datetimes[tz0] PASSED [ 66%] tests/test_helpers.py::TestJSON::test_jsonify_aware_datetimes[tz1] PASSED [ 67%] tests/test_helpers.py::TestJSON::test_jsonify_aware_datetimes[tz2] PASSED [ 67%] tests/test_helpers.py::TestJSON::test_jsonify_uuid_types PASSED [ 67%] tests/test_helpers.py::TestJSON::test_json_attr PASSED [ 67%] tests/test_helpers.py::TestJSON::test_template_escaping PASSED [ 67%] tests/test_helpers.py::TestJSON::test_json_customization PASSED [ 68%] tests/test_helpers.py::TestJSON::test_blueprint_json_customization PASSED [ 68%] tests/test_helpers.py::TestJSON::test_modified_url_encoding PASSED [ 68%] tests/test_helpers.py::TestJSON::test_json_key_sorting PASSED [ 68%] tests/test_helpers.py::TestSendfile::test_send_file_regular PASSED [ 68%] tests/test_helpers.py::TestSendfile::test_send_file_xsendfile PASSED [ 69%] tests/test_helpers.py::TestSendfile::test_send_file_last_modified PASSED [ 69%] tests/test_helpers.py::TestSendfile::test_send_file_object_without_mimetype PASSED [ 69%] tests/test_helpers.py::TestSendfile::test_send_file_object PASSED [ 69%] tests/test_helpers.py::TestSendfile::test_send_file_range_request PASSED [ 69%] tests/test_helpers.py::TestSendfile::test_send_file_range_request_xsendfile_invalid PASSED [ 70%] tests/test_helpers.py::TestSendfile::test_attachment PASSED [ 70%] tests/test_helpers.py::TestSendfile::test_attachment_with_utf8_filename PASSED [ 70%] tests/test_helpers.py::TestSendfile::test_static_file PASSED [ 70%] tests/test_helpers.py::TestSendfile::test_send_from_directory PASSED [ 70%] tests/test_helpers.py::TestSendfile::test_send_from_directory_bad_request PASSED [ 71%] tests/test_helpers.py::TestUrlFor::test_url_for_with_anchor PASSED [ 71%] tests/test_helpers.py::TestUrlFor::test_url_for_with_scheme PASSED [ 71%] tests/test_helpers.py::TestUrlFor::test_url_for_with_scheme_not_external PASSED [ 71%] tests/test_helpers.py::TestUrlFor::test_url_for_with_alternating_schemes PASSED [ 71%] tests/test_helpers.py::TestUrlFor::test_url_with_method PASSED [ 72%] tests/test_helpers.py::TestNoImports::test_name_with_import_error PASSED [ 72%] tests/test_helpers.py::TestStreaming::test_streaming_with_context PASSED [ 72%] tests/test_helpers.py::TestStreaming::test_streaming_with_context_as_decorator PASSED [ 72%] tests/test_helpers.py::TestStreaming::test_streaming_with_context_and_custom_close PASSED [ 72%] tests/test_helpers.py::TestStreaming::test_stream_keeps_session FAILED [ 73%] tests/test_helpers.py::TestStreaming::test_stream_keeps_session ERROR [ 73%] tests/test_helpers.py::TestSafeJoin::test_safe_join PASSED [ 73%] tests/test_helpers.py::TestSafeJoin::test_safe_join_exceptions PASSED [ 73%] tests/test_helpers.py::TestHelpers::test_get_debug_flag[-False-False] PASSED [ 73%] tests/test_helpers.py::TestHelpers::test_get_debug_flag[0-False-False] PASSED [ 73%] tests/test_helpers.py::TestHelpers::test_get_debug_flag[False-False-False] PASSED [ 74%] tests/test_helpers.py::TestHelpers::test_get_debug_flag[No-False-False] PASSED [ 74%] tests/test_helpers.py::TestHelpers::test_get_debug_flag[True-True-True] PASSED [ 74%] tests/test_helpers.py::TestHelpers::test_get_env[-production-False] PASSED [ 74%] tests/test_helpers.py::TestHelpers::test_get_env[production-production-False] PASSED [ 74%] tests/test_helpers.py::TestHelpers::test_get_env[development-development-True] PASSED [ 75%] tests/test_helpers.py::TestHelpers::test_get_env[other-other-False] PASSED [ 75%] tests/test_helpers.py::TestHelpers::test_make_response PASSED [ 75%] tests/test_instance_config.py::test_explicit_instance_paths PASSED [ 75%] tests/test_instance_config.py::test_main_module_paths PASSED [ 75%] tests/test_instance_config.py::test_uninstalled_module_paths PASSED [ 76%] tests/test_instance_config.py::test_uninstalled_package_paths PASSED [ 76%] tests/test_instance_config.py::test_installed_module_paths[True] PASSED [ 76%] tests/test_instance_config.py::test_installed_module_paths[False] PASSED [ 76%] tests/test_instance_config.py::test_installed_package_paths[True] PASSED [ 76%] tests/test_instance_config.py::test_installed_package_paths[False] PASSED [ 77%] tests/test_instance_config.py::test_prefix_package_paths[True] PASSED [ 77%] tests/test_instance_config.py::test_prefix_package_paths[False] PASSED [ 77%] tests/test_instance_config.py::test_egg_installed_paths PASSED [ 77%] tests/test_instance_config.py::test_meta_path_loader_without_is_package SKIPPED [ 77%] tests/test_json_tag.py::test_dump_load_unchanged[data0] PASSED [ 78%] tests/test_json_tag.py::test_dump_load_unchanged[data1] PASSED [ 78%] tests/test_json_tag.py::test_dump_load_unchanged[data2] PASSED [ 78%] tests/test_json_tag.py::test_dump_load_unchanged[data3] PASSED [ 78%] tests/test_json_tag.py::test_dump_load_unchanged[data4] PASSED [ 78%] tests/test_json_tag.py::test_dump_load_unchanged[data5] PASSED [ 79%] tests/test_json_tag.py::test_dump_load_unchanged[\xff] PASSED [ 79%] tests/test_json_tag.py::test_dump_load_unchanged[] PASSED [ 79%] tests/test_json_tag.py::test_dump_load_unchanged[data8] PASSED [ 79%] tests/test_json_tag.py::test_dump_load_unchanged[data9] PASSED [ 79%] tests/test_json_tag.py::test_duplicate_tag PASSED [ 80%] tests/test_json_tag.py::test_custom_tag PASSED [ 80%] tests/test_json_tag.py::test_tag_interface PASSED [ 80%] tests/test_json_tag.py::test_tag_order PASSED [ 80%] tests/test_logging.py::test_logger PASSED [ 80%] tests/test_logging.py::test_logger_debug PASSED [ 81%] tests/test_logging.py::test_existing_handler PASSED [ 81%] tests/test_logging.py::test_wsgi_errors_stream PASSED [ 81%] tests/test_logging.py::test_has_level_handler PASSED [ 81%] tests/test_logging.py::test_log_view_exception PASSED [ 81%] tests/test_regression.py::test_memory_consumption PASSED [ 82%] tests/test_regression.py::test_safe_join_toplevel_pardir PASSED [ 82%] tests/test_regression.py::test_aborting PASSED [ 82%] tests/test_reqctx.py::test_teardown_on_pop PASSED [ 82%] tests/test_reqctx.py::test_teardown_with_previous_exception PASSED [ 82%] tests/test_reqctx.py::test_teardown_with_handled_exception PASSED [ 83%] tests/test_reqctx.py::test_proper_test_request_context PASSED [ 83%] tests/test_reqctx.py::test_context_binding PASSED [ 83%] tests/test_reqctx.py::test_context_test PASSED [ 83%] tests/test_reqctx.py::test_manual_context_binding PASSED [ 83%] tests/test_reqctx.py::TestGreenletContextCopying::test_greenlet_context_copying SKIPPED [ 84%] tests/test_reqctx.py::TestGreenletContextCopying::test_greenlet_context_copying_api SKIPPED [ 84%] tests/test_reqctx.py::test_session_error_pops_context FAILED [ 84%] tests/test_signals.py::test_template_rendered SKIPPED [ 84%] tests/test_signals.py::test_before_render_template SKIPPED [ 84%] tests/test_signals.py::test_request_signals SKIPPED [ 85%] tests/test_signals.py::test_request_exception_signal SKIPPED [ 85%] tests/test_signals.py::test_appcontext_signals SKIPPED [ 85%] tests/test_signals.py::test_flash_signal SKIPPED [ 85%] tests/test_signals.py::test_appcontext_tearing_down_signal SKIPPED [ 85%] tests/test_subclassing.py::test_suppressed_exception_logging PASSED [ 86%] tests/test_templating.py::test_context_processing PASSED [ 86%] tests/test_templating.py::test_original_win PASSED [ 86%] tests/test_templating.py::test_request_less_rendering PASSED [ 86%] tests/test_templating.py::test_standard_context FAILED [ 86%] tests/test_templating.py::test_standard_context ERROR [ 86%] tests/test_templating.py::test_escaping PASSED [ 87%] tests/test_templating.py::test_no_escaping PASSED [ 87%] tests/test_templating.py::test_escaping_without_template_filename PASSED [ 87%] tests/test_templating.py::test_macros PASSED [ 87%] tests/test_templating.py::test_template_filter PASSED [ 87%] tests/test_templating.py::test_add_template_filter PASSED [ 88%] tests/test_templating.py::test_template_filter_with_name PASSED [ 88%] tests/test_templating.py::test_add_template_filter_with_name PASSED [ 88%] tests/test_templating.py::test_template_filter_with_template PASSED [ 88%] tests/test_templating.py::test_add_template_filter_with_template PASSED [ 88%] tests/test_templating.py::test_template_filter_with_name_and_template PASSED [ 89%] tests/test_templating.py::test_add_template_filter_with_name_and_template PASSED [ 89%] tests/test_templating.py::test_template_test PASSED [ 89%] tests/test_templating.py::test_add_template_test PASSED [ 89%] tests/test_templating.py::test_template_test_with_name PASSED [ 89%] tests/test_templating.py::test_add_template_test_with_name PASSED [ 90%] tests/test_templating.py::test_template_test_with_template PASSED [ 90%] tests/test_templating.py::test_add_template_test_with_template PASSED [ 90%] tests/test_templating.py::test_template_test_with_name_and_template PASSED [ 90%] tests/test_templating.py::test_add_template_test_with_name_and_template PASSED [ 90%] tests/test_templating.py::test_add_template_global PASSED [ 91%] tests/test_templating.py::test_custom_template_loader PASSED [ 91%] tests/test_templating.py::test_iterable_loader PASSED [ 91%] tests/test_templating.py::test_templates_auto_reload PASSED [ 91%] tests/test_templating.py::test_templates_auto_reload_debug_run PASSED [ 91%] tests/test_templating.py::test_template_loader_debugging PASSED [ 92%] tests/test_templating.py::test_custom_jinja_env PASSED [ 92%] tests/test_testing.py::test_environ_defaults_from_config PASSED [ 92%] tests/test_testing.py::test_environ_defaults PASSED [ 92%] tests/test_testing.py::test_environ_base_default PASSED [ 92%] tests/test_testing.py::test_environ_base_modified PASSED [ 93%] tests/test_testing.py::test_client_open_environ PASSED [ 93%] tests/test_testing.py::test_specify_url_scheme PASSED [ 93%] tests/test_testing.py::test_path_is_url PASSED [ 93%] tests/test_testing.py::test_blueprint_with_subdomain PASSED [ 93%] tests/test_testing.py::test_redirect_keep_session FAILED [ 94%] tests/test_testing.py::test_redirect_keep_session ERROR [ 94%] tests/test_testing.py::test_session_transactions FAILED [ 94%] tests/test_testing.py::test_session_transactions_no_null_sessions PASSED [ 94%] tests/test_testing.py::test_session_transactions_keep_context PASSED [ 94%] tests/test_testing.py::test_session_transaction_needs_cookies PASSED [ 94%] tests/test_testing.py::test_test_client_context_binding PASSED [ 95%] tests/test_testing.py::test_reuse_client PASSED [ 95%] tests/test_testing.py::test_test_client_calls_teardown_handlers PASSED [ 95%] tests/test_testing.py::test_full_url_request PASSED [ 95%] tests/test_testing.py::test_json_request_and_response PASSED [ 95%] tests/test_testing.py::test_subdomain PASSED [ 96%] tests/test_testing.py::test_nosubdomain PASSED [ 96%] tests/test_testing.py::test_cli_runner_class PASSED [ 96%] tests/test_testing.py::test_cli_invoke PASSED [ 96%] tests/test_testing.py::test_cli_custom_obj PASSED [ 96%] tests/test_user_error_handler.py::test_error_handler_no_match PASSED [ 97%] tests/test_user_error_handler.py::test_error_handler_subclass PASSED [ 97%] tests/test_user_error_handler.py::test_error_handler_http_subclass PASSED [ 97%] tests/test_user_error_handler.py::test_error_handler_blueprint PASSED [ 97%] tests/test_user_error_handler.py::test_default_error_handler PASSED [ 97%] tests/test_views.py::test_basic_view PASSED [ 98%] tests/test_views.py::test_method_based_view PASSED [ 98%] tests/test_views.py::test_view_patching PASSED [ 98%] tests/test_views.py::test_view_inheritance PASSED [ 98%] tests/test_views.py::test_view_decorators PASSED [ 98%] tests/test_views.py::test_view_provide_automatic_options_attr PASSED [ 99%] tests/test_views.py::test_implicit_head PASSED [ 99%] tests/test_views.py::test_explicit_head PASSED [ 99%] tests/test_views.py::test_endpoint_override PASSED [ 99%] tests/test_views.py::test_multiple_inheritance PASSED [ 99%] tests/test_views.py::test_remove_method_from_parent PASSED [100%] ==================================== ERRORS ==================================== ______________________ ERROR at teardown of test_session _______________________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError _____________ ERROR at teardown of test_session_using_server_name ______________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError _________ ERROR at teardown of test_session_using_server_name_and_port _________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError ______ ERROR at teardown of test_session_using_server_name_port_and_path _______ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError ___________ ERROR at teardown of test_session_using_application_root ___________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError ___________ ERROR at teardown of test_session_using_session_settings ___________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError __________ ERROR at teardown of test_session_using_samesite_attribute __________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError _____________ ERROR at teardown of test_session_localhost_warning ______________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: "localhost" is not a valid cookie domain, it must contain a ".". Add an entry to your hosts file, for example "localhost.localdomain", and use that instead. E invalid escape sequence \s E assert not [, ] E + where [, ] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError _________________ ERROR at teardown of test_session_ip_warning _________________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: The session cookie domain is an IP address. This may not work as intended in some browsers. Add an entry to your hosts file, for example "localhost.localdomain", and use that instead. E invalid escape sequence \s E assert not [, ] E + where [, ] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError _________________ ERROR at teardown of test_session_expiration _________________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError ________________ ERROR at teardown of test_session_stored_last _________________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError _______________ ERROR at teardown of test_session_special_types ________________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError _______________ ERROR at teardown of test_session_cookie_setting _______________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError ________________ ERROR at teardown of test_session_vary_cookie _________________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError _________________ ERROR at teardown of test_extended_flashing __________________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError _________ ERROR at teardown of TestStreaming.test_stream_keeps_session _________ @pytest.fixture(autouse=True) def leak_detector(): yield # make sure we're not leaking a request context since we are # testing flask internally in debug mode in a few cases leaks = [] while flask._request_ctx_stack.top is not None: leaks.append(flask._request_ctx_stack.pop()) > assert leaks == [] E AssertionError: assert [] == [] tests/conftest.py:101: AssertionError __________________ ERROR at teardown of test_standard_context __________________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError _______________ ERROR at teardown of test_redirect_keep_session ________________ recwarn = WarningsRecorder(record=True) @pytest.fixture(autouse=True) def catch_deprecation_warnings(recwarn): yield gc.collect() > assert not recwarn.list, '\n'.join(str(w.message) for w in recwarn.list) E AssertionError: invalid escape sequence \s E assert not [] E + where [] = WarningsRecorder(record=True).list tests/conftest.py:205: AssertionError =================================== FAILURES =================================== _________________________________ test_session _________________________________ app = , client = > def test_session(app, client): @app.route('/set', methods=['POST']) def set(): assert not flask.session.accessed assert not flask.session.modified flask.session['value'] = flask.request.form['value'] assert flask.session.accessed assert flask.session.modified return 'value set' @app.route('/get') def get(): assert not flask.session.accessed assert not flask.session.modified v = flask.session.get('value', 'None') assert flask.session.accessed assert not flask.session.modified return v > assert client.post('/set', data={'value': '42'}).data == b'value set' tests/test_basic.py:240: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:801: in post return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError ________________________ test_session_using_server_name ________________________ app = , client = > def test_session_using_server_name(app, client): app.config.update( SERVER_NAME='example.com' ) @app.route('/') def index(): flask.session['testing'] = 42 return 'Hello World' > rv = client.get('/', 'http://example.com/') tests/test_basic.py:254: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError ___________________ test_session_using_server_name_and_port ____________________ app = , client = > def test_session_using_server_name_and_port(app, client): app.config.update( SERVER_NAME='example.com:8080' ) @app.route('/') def index(): flask.session['testing'] = 42 return 'Hello World' > rv = client.get('/', 'http://example.com:8080/') tests/test_basic.py:269: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError _________________ test_session_using_server_name_port_and_path _________________ app = , client = > def test_session_using_server_name_port_and_path(app, client): app.config.update( SERVER_NAME='example.com:8080', APPLICATION_ROOT='/foo' ) @app.route('/') def index(): flask.session['testing'] = 42 return 'Hello World' > rv = client.get('/', 'http://example.com:8080/foo') tests/test_basic.py:285: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError _____________________ test_session_using_application_root ______________________ app = , client = > def test_session_using_application_root(app, client): class PrefixPathMiddleware(object): def __init__(self, app, prefix): self.app = app self.prefix = prefix def __call__(self, environ, start_response): environ['SCRIPT_NAME'] = self.prefix return self.app(environ, start_response) app.wsgi_app = PrefixPathMiddleware(app.wsgi_app, '/bar') app.config.update( APPLICATION_ROOT='/bar' ) @app.route('/') def index(): flask.session['testing'] = 42 return 'Hello World' > rv = client.get('/', 'http://example.com:8080/') tests/test_basic.py:311: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) tests/test_basic.py:299: in __call__ return self.app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError _____________________ test_session_using_session_settings ______________________ app = , client = > def test_session_using_session_settings(app, client): app.config.update( SERVER_NAME='www.example.com:8080', APPLICATION_ROOT='/test', SESSION_COOKIE_DOMAIN='.example.com', SESSION_COOKIE_HTTPONLY=False, SESSION_COOKIE_SECURE=True, SESSION_COOKIE_SAMESITE='Lax', SESSION_COOKIE_PATH='/' ) @app.route('/') def index(): flask.session['testing'] = 42 return 'Hello World' > rv = client.get('/', 'http://www.example.com:8080/test/') tests/test_basic.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError ____________________ test_session_using_samesite_attribute _____________________ app = , client = > def test_session_using_samesite_attribute(app, client): @app.route('/') def index(): flask.session['testing'] = 42 return 'Hello World' app.config.update(SESSION_COOKIE_SAMESITE='invalid') with pytest.raises(ValueError): > client.get('/') tests/test_basic.py:349: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError ________________________ test_session_localhost_warning ________________________ recwarn = WarningsRecorder(record=True), app = client = > def test_session_localhost_warning(recwarn, app, client): app.config.update( SERVER_NAME='localhost:5000', ) @app.route('/') def index(): flask.session['testing'] = 42 return 'testing' > rv = client.get('/', 'http://localhost:5000/') tests/test_basic.py:377: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError ___________________________ test_session_ip_warning ____________________________ recwarn = WarningsRecorder(record=True), app = client = > def test_session_ip_warning(recwarn, app, client): app.config.update( SERVER_NAME='127.0.0.1:5000', ) @app.route('/') def index(): flask.session['testing'] = 42 return 'testing' > rv = client.get('/', 'http://127.0.0.1:5000/') tests/test_basic.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError ___________________________ test_session_expiration ____________________________ app = , client = > def test_session_expiration(app, client): permanent = True @app.route('/') def index(): flask.session['test'] = 42 flask.session.permanent = permanent return '' @app.route('/test') def test(): return text_type(flask.session.permanent) > rv = client.get('/') tests/test_basic.py:425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError ___________________________ test_session_stored_last ___________________________ app = , client = > def test_session_stored_last(app, client): @app.after_request def modify_session(response): flask.session['foo'] = 42 return response @app.route('/') def dump_session_contents(): return repr(flask.session.get('foo')) > assert client.get('/').data == b'None' tests/test_basic.py:454: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError __________________________ test_session_special_types __________________________ app = , client = > def test_session_special_types(app, client): now = datetime.utcnow().replace(microsecond=0) the_uuid = uuid.uuid4() @app.route('/') def dump_session_contents(): flask.session['t'] = (1, 2, 3) flask.session['b'] = b'\xff' flask.session['m'] = flask.Markup('') flask.session['u'] = the_uuid flask.session['d'] = now flask.session['t_tag'] = {' t': 'not-a-tuple'} flask.session['di_t_tag'] = {' t__': 'not-a-tuple'} flask.session['di_tag'] = {' di': 'not-a-dict'} return '', 204 with client: > client.get('/') tests/test_basic.py:475: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = session = '), 'u': UUID('7a6818f8-8337-462c-a83b-663dc2ca... 18, 6, 32, 41), 't_tag': {' t': 'not-a-tuple'}, 'di_t_tag': {' t__': 'not-a-tuple'}, 'di_tag': {' di': 'not-a-dict'}}> response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError _________________________ test_session_cookie_setting __________________________ app = def test_session_cookie_setting(app): is_permanent = True @app.route('/bump') def bump(): rv = flask.session['foo'] = flask.session.get('foo', 0) + 1 flask.session.permanent = is_permanent return str(rv) @app.route('/read') def read(): return str(flask.session.get('foo', 0)) def run_test(expect_header): with app.test_client() as c: assert c.get('/bump').data == b'1' assert c.get('/bump').data == b'2' assert c.get('/bump').data == b'3' rv = c.get('/read') set_cookie = rv.headers.get('set-cookie') assert (set_cookie is not None) == expect_header assert rv.data == b'3' is_permanent = True app.config['SESSION_REFRESH_EACH_REQUEST'] = True > run_test(expect_header=True) tests/test_basic.py:515: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_basic.py:504: in run_test assert c.get('/bump').data == b'1' /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError ___________________________ test_session_vary_cookie ___________________________ app = , client = > def test_session_vary_cookie(app, client): @app.route('/set') def set_session(): flask.session['test'] = 'test' return '' @app.route('/get') def get(): return flask.session.get('test') @app.route('/getitem') def getitem(): return flask.session['test'] @app.route('/setdefault') def setdefault(): return flask.session.setdefault('test', 'default') @app.route('/vary-cookie-header-set') def vary_cookie_header_set(): response = flask.Response() response.vary.add('Cookie') flask.session['test'] = 'test' return response @app.route('/vary-header-set') def vary_header_set(): response = flask.Response() response.vary.update(('Accept-Encoding', 'Accept-Language')) flask.session['test'] = 'test' return response @app.route('/no-vary-header') def no_vary_header(): return '' def expect(path, header_value='Cookie'): rv = client.get(path) if header_value: # The 'Vary' key should exist in the headers only once. assert len(rv.headers.get_all('Vary')) == 1 assert rv.headers['Vary'] == header_value else: assert 'Vary' not in rv.headers > expect('/set') tests/test_basic.py:576: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_basic.py:567: in expect rv = client.get(path) /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError ____________________________ test_extended_flashing ____________________________ app = def test_extended_flashing(app): # Be sure app.testing=True below, else tests can fail silently. # # Specifically, if app.testing is not set to True, the AssertionErrors # in the view functions will cause a 500 response to the test client # instead of propagating exceptions. @app.route('/') def index(): flask.flash(u'Hello World') flask.flash(u'Hello World', 'error') flask.flash(flask.Markup(u'Testing'), 'warning') return '' @app.route('/test/') def test(): messages = flask.get_flashed_messages() assert list(messages) == [ u'Hello World', u'Hello World', flask.Markup(u'Testing') ] return '' @app.route('/test_with_categories/') def test_with_categories(): messages = flask.get_flashed_messages(with_categories=True) assert len(messages) == 3 assert list(messages) == [ ('message', u'Hello World'), ('error', u'Hello World'), ('warning', flask.Markup(u'Testing')) ] return '' @app.route('/test_filter/') def test_filter(): messages = flask.get_flashed_messages( category_filter=['message'], with_categories=True) assert list(messages) == [('message', u'Hello World')] return '' @app.route('/test_filters/') def test_filters(): messages = flask.get_flashed_messages( category_filter=['message', 'warning'], with_categories=True) assert list(messages) == [ ('message', u'Hello World'), ('warning', flask.Markup(u'Testing')) ] return '' @app.route('/test_filters_without_returning_categories/') def test_filters2(): messages = flask.get_flashed_messages( category_filter=['message', 'warning']) assert len(messages) == 2 assert messages[0] == u'Hello World' assert messages[1] == flask.Markup(u'Testing') return '' # Create new test client on each test to clean flashed messages. client = app.test_client() > client.get('/') tests/test_basic.py:658: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = session = Testing'))]}> response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError _____________________________ test_max_cookie_size _____________________________ app = , client = > recwarn = WarningsRecorder(record=True) def test_max_cookie_size(app, client, recwarn): app.config['MAX_COOKIE_SIZE'] = 100 # outside app context, default to Werkzeug static value, # which is also the default config response = flask.Response() default = flask.Flask.default_config['MAX_COOKIE_SIZE'] > assert response.max_cookie_size == default tests/test_basic.py:1942: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = @property def max_cookie_size(self): """Read-only view of the :data:`MAX_COOKIE_SIZE` config key. See :attr:`~werkzeug.wrappers.BaseResponse.max_cookie_size` in Werkzeug's docs. """ if current_app: return current_app.config['MAX_COOKIE_SIZE'] # return Werkzeug's default when not in an app context > return super(Response, self).max_cookie_size E AttributeError: 'super' object has no attribute 'max_cookie_size' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/wrappers.py:216: AttributeError ___________________ TestStreaming.test_stream_keeps_session ____________________ self = app = , client = > def test_stream_keeps_session(self, app, client): @app.route('/') def index(): flask.session['test'] = 'flask' @flask.stream_with_context def gen(): yield flask.session['test'] return flask.Response(gen()) > rv = client.get('/') tests/test_helpers.py:865: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError _______________________ test_session_error_pops_context ________________________ def test_session_error_pops_context(): class SessionError(Exception): pass class FailingSessionInterface(SessionInterface): def open_session(self, app, request): raise SessionError() class CustomFlask(flask.Flask): session_interface = FailingSessionInterface() app = CustomFlask(__name__) @app.route('/') def index(): # shouldn't get here assert False response = app.test_client().get('/') assert response.status_code == 500 assert not flask.request > assert not flask.current_app E AssertionError: assert not E + where = flask.current_app tests/test_reqctx.py:227: AssertionError ------------------------------ Captured log call ------------------------------- app.py 1761 ERROR Exception on / [GET] Traceback (most recent call last): File "/builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py", line 2291, in wsgi_app ctx.push() File "/builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/ctx.py", line 377, in push self.app, self.request File "/builddir/build/BUILD/Flask-1.0.2/tests/test_reqctx.py", line 212, in open_session raise SessionError() test_reqctx.test_session_error_pops_context..SessionError --------------------------- Captured stderr teardown --------------------------- Exception ignored in: .generator at 0x7fef47b60048> Traceback (most recent call last): File "/builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/helpers.py", line 156, in generator gen.close() File "/builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/ctx.py", line 446, in __exit__ self.auto_pop(exc_value) File "/builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/ctx.py", line 434, in auto_pop self.pop(exc) File "/builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/ctx.py", line 426, in pop '(%r instead of %r)' % (rv, self) AssertionError: Popped wrong request context. (None instead of ) ____________________________ test_standard_context _____________________________ app = , client = > def test_standard_context(app, client): @app.route('/') def index(): flask.g.foo = 23 flask.session['test'] = 'aha' return flask.render_template_string(''' {{ request.args.foo }} {{ g.foo }} {{ config.DEBUG }} {{ session.test }} ''') > rv = client.get('/?foo=42') tests/test_templating.py:66: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError __________________________ test_redirect_keep_session __________________________ app = , client = > app_ctx = def test_redirect_keep_session(app, client, app_ctx): @app.route('/', methods=['GET', 'POST']) def index(): if flask.request.method == 'POST': return flask.redirect('/getsession') flask.session['data'] = 'foo' return 'index' @app.route('/getsession') def get_session(): return flask.session.get('data', '') with client: rv = client.get('/getsession') assert rv.data == b'' > rv = client.get('/') tests/test_testing.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/site-packages/werkzeug/test.py:791: in get return self.open(*args, **kw) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:200: in open follow_redirects=follow_redirects /usr/lib/python3.6/site-packages/werkzeug/test.py:764: in open response = self.run_wsgi_app(environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:677: in run_wsgi_app rv = run_wsgi_app(self.application, environ, buffered=buffered) /usr/lib/python3.6/site-packages/werkzeug/test.py:884: in run_wsgi_app app_rv = app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2309: in __call__ return self.wsgi_app(environ, start_response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2295: in wsgi_app response = self.handle_exception(e) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1741: in handle_exception reraise(exc_type, exc_value, tb) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/_compat.py:35: in reraise raise value ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2292: in wsgi_app response = self.full_dispatch_request() ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1816: in full_dispatch_request return self.finalize_request(rv) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:1833: in finalize_request response = self.process_response(response) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/app.py:2114: in process_response self.session_interface.save_session(self, ctx.session, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError __________________________ test_session_transactions ___________________________ app = , client = > def test_session_transactions(app, client): @app.route('/') def index(): return text_type(flask.session['foo']) with client: with client.session_transaction() as sess: assert len(sess) == 0 sess['foo'] = [42] > assert len(sess) == 1 tests/test_testing.py:178: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.6/contextlib.py:88: in __exit__ next(self.gen) ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/testing.py:162: in session_transaction session_interface.save_session(app, sess, resp) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = app = , session = response = def save_session(self, app, session, response): domain = self.get_cookie_domain(app) path = self.get_cookie_path(app) # If the session is modified to be empty, remove the cookie. # If the session is empty, return without setting the cookie. if not session: if session.modified: response.delete_cookie( app.session_cookie_name, domain=domain, path=path ) return # Add a "Vary: Cookie" header if the session was accessed at all. if session.accessed: response.vary.add('Cookie') if not self.should_set_cookie(app, session): return httponly = self.get_cookie_httponly(app) secure = self.get_cookie_secure(app) samesite = self.get_cookie_samesite(app) expires = self.get_expiration_time(app, session) val = self.get_signing_serializer(app).dumps(dict(session)) response.set_cookie( app.session_cookie_name, val, expires=expires, httponly=httponly, domain=domain, path=path, secure=secure, > samesite=samesite ) E TypeError: set_cookie() got an unexpected keyword argument 'samesite' ../../BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/lib/python3.6/site-packages/flask/sessions.py:384: TypeError ========= 21 failed, 467 passed, 13 skipped, 18 error in 17.15 seconds ========= Processing files: python3-flask-1.0.2-2.el8.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.c1qgju Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.SvP6Hc + : + exit 0 + umask 022 + cd /builddir/build/BUILD + cd Flask-1.0.2 + DOCDIR=/builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/share/doc/python3-flask + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/share/doc/python3-flask + cp -pr CHANGES.rst /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/share/doc/python3-flask + cp -pr README.rst /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/share/doc/python3-flask + exit 0 + umask 022 + cd /builddir/build/BUILD + cd Flask-1.0.2 + LICENSEDIR=/builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/share/licenses/python3-flask + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/share/licenses/python3-flask + cp -pr LICENSE /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/share/licenses/python3-flask + exit 0 Provides: python3-flask = 1:1.0.2-2.el8 python3.6dist(flask) = 1.0.2 python3dist(flask) = 1.0.2 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: /usr/libexec/platform-python python(abi) = 3.6 Processing files: python-flask-doc-1.0.2-2.el8.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.0fhd1d + umask 022 + cd /builddir/build/BUILD + cd Flask-1.0.2 + DOCDIR=/builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/share/doc/python-flask-doc + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/share/doc/python-flask-doc + cp -pr examples /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/share/doc/python-flask-doc + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.04Fuof + umask 022 + cd /builddir/build/BUILD + cd Flask-1.0.2 + LICENSEDIR=/builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/share/licenses/python-flask-doc + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/share/licenses/python-flask-doc + cp -pr LICENSE /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64/usr/share/licenses/python-flask-doc + exit 0 Provides: python-flask-doc = 1:1.0.2-2.el8 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Obsoletes: python3-flask-doc < 1:0.11.1-3 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64 Wrote: /builddir/build/RPMS/python3-flask-1.0.2-2.el8.noarch.rpm Wrote: /builddir/build/RPMS/python-flask-doc-1.0.2-2.el8.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.2lfHGh + umask 022 + cd /builddir/build/BUILD + cd Flask-1.0.2 + /usr/bin/rm -rf /builddir/build/BUILDROOT/python-flask-1.0.2-2.el8.x86_64 + exit 0 Child return code was: 0