0s autopkgtest [15:06:55]: starting date and time: 2024-11-09 15:06:55+0000 0s autopkgtest [15:06:55]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 0s autopkgtest [15:06:55]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.q86hylge/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:wtforms --apt-upgrade wtforms-components --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=wtforms/3.2.1-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-s390x-1.secgroup --name adt-plucky-s390x-wtforms-components-20241109-150655-juju-7f2275-prod-proposed-migration-environment-20-aa2d17aa-096e-43a7-8fc2-c74c75fd5907 --image adt/ubuntu-plucky-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration-s390x -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 72s autopkgtest [15:08:07]: testbed dpkg architecture: s390x 72s autopkgtest [15:08:07]: testbed apt version: 2.9.8 72s autopkgtest [15:08:07]: @@@@@@@@@@@@@@@@@@@@ test bed setup 72s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 73s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 73s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [104 kB] 73s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [1004 kB] 73s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 73s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [125 kB] 73s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [696 kB] 74s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [16.6 kB] 74s Fetched 2043 kB in 1s (1434 kB/s) 74s Reading package lists... 76s Reading package lists... 76s Building dependency tree... 76s Reading state information... 76s Calculating upgrade... 76s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 76s Reading package lists... 76s Building dependency tree... 76s Reading state information... 77s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 77s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 77s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 77s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 77s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 78s Reading package lists... 78s Reading package lists... 78s Building dependency tree... 78s Reading state information... 78s Calculating upgrade... 78s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 78s Reading package lists... 78s Building dependency tree... 78s Reading state information... 78s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 81s autopkgtest [15:08:16]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP Mon Sep 16 12:49:35 UTC 2024 81s autopkgtest [15:08:16]: @@@@@@@@@@@@@@@@@@@@ apt-source wtforms-components 82s Get:1 http://ftpmaster.internal/ubuntu plucky/universe wtforms-components 0.10.5-5 (dsc) [2563 B] 82s Get:2 http://ftpmaster.internal/ubuntu plucky/universe wtforms-components 0.10.5-5 (tar) [24.2 kB] 82s Get:3 http://ftpmaster.internal/ubuntu plucky/universe wtforms-components 0.10.5-5 (diff) [2920 B] 83s gpgv: Signature made Mon Jul 1 13:54:17 2024 UTC 83s gpgv: using RSA key 8F6DE104377F3B11E741748731F3144544A1741A 83s gpgv: issuer "tchet@debian.org" 83s gpgv: Can't check signature: No public key 83s dpkg-source: warning: cannot verify inline signature for ./wtforms-components_0.10.5-5.dsc: no acceptable signature found 83s autopkgtest [15:08:18]: testing package wtforms-components version 0.10.5-5 83s autopkgtest [15:08:18]: build not needed 83s autopkgtest [15:08:18]: test upstream: preparing testbed 84s Reading package lists... 84s Building dependency tree... 84s Reading state information... 84s Starting pkgProblemResolver with broken count: 0 84s Starting 2 pkgProblemResolver with broken count: 0 84s Done 84s The following additional packages will be installed: 84s libjs-jquery libjs-sphinxdoc libjs-underscore python3-all python3-colour 84s python3-decorator python3-dnspython python3-email-validator python3-flexmock 84s python3-infinity python3-iniconfig python3-intervals python3-packaging 84s python3-pluggy python3-pytest python3-six python3-validators python3-wtforms 84s python3-wtforms-components python3-wtforms-test 84s Suggested packages: 84s python3-trio python3-aioquic python3-h2 python3-httpx python3-httpcore 84s python3-django python3-django-localflavor python3-sqlalchemy 84s Recommended packages: 84s javascript-common 85s The following NEW packages will be installed: 85s autopkgtest-satdep libjs-jquery libjs-sphinxdoc libjs-underscore python3-all 85s python3-colour python3-decorator python3-dnspython python3-email-validator 85s python3-flexmock python3-infinity python3-iniconfig python3-intervals 85s python3-packaging python3-pluggy python3-pytest python3-six 85s python3-validators python3-wtforms python3-wtforms-components 85s python3-wtforms-test 85s 0 upgraded, 21 newly installed, 0 to remove and 0 not upgraded. 85s Need to get 1314 kB/1315 kB of archives. 85s After this operation, 5368 kB of additional disk space will be used. 85s Get:1 /tmp/autopkgtest.7IsVLP/1-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [760 B] 85s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 85s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 85s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x libjs-sphinxdoc all 7.4.7-3 [157 kB] 85s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x python3-all s390x 3.12.6-0ubuntu1 [890 B] 85s Get:6 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-colour all 0.1.5-4 [22.8 kB] 85s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x python3-decorator all 5.1.1-5 [10.1 kB] 85s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dnspython all 2.6.1-1ubuntu1 [163 kB] 85s Get:9 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-email-validator all 2.2.0-1 [28.5 kB] 85s Get:10 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-flexmock all 0.12.1-1 [20.6 kB] 85s Get:11 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-infinity all 1.5-3 [3988 B] 85s Get:12 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 85s Get:13 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-intervals all 0.9.2-2 [11.6 kB] 85s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x python3-packaging all 24.1-1 [41.4 kB] 85s Get:15 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pluggy all 1.5.0-1 [21.0 kB] 85s Get:16 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pytest all 8.3.2-1 [251 kB] 86s Get:17 http://ftpmaster.internal/ubuntu plucky/main s390x python3-six all 1.16.0-7 [13.1 kB] 86s Get:18 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-validators all 0.20.0-2 [15.2 kB] 86s Get:19 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x python3-wtforms all 3.2.1-1 [64.0 kB] 86s Get:20 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-wtforms-components all 0.10.5-5 [23.7 kB] 86s Get:21 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-wtforms-test all 0.1.1-3 [13.6 kB] 86s Fetched 1314 kB in 1s (1212 kB/s) 86s Selecting previously unselected package libjs-jquery. 86s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55520 files and directories currently installed.) 86s Preparing to unpack .../00-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 86s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 86s Selecting previously unselected package libjs-underscore. 86s Preparing to unpack .../01-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 86s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 86s Selecting previously unselected package libjs-sphinxdoc. 86s Preparing to unpack .../02-libjs-sphinxdoc_7.4.7-3_all.deb ... 86s Unpacking libjs-sphinxdoc (7.4.7-3) ... 86s Selecting previously unselected package python3-all. 86s Preparing to unpack .../03-python3-all_3.12.6-0ubuntu1_s390x.deb ... 86s Unpacking python3-all (3.12.6-0ubuntu1) ... 86s Selecting previously unselected package python3-colour. 86s Preparing to unpack .../04-python3-colour_0.1.5-4_all.deb ... 86s Unpacking python3-colour (0.1.5-4) ... 86s Selecting previously unselected package python3-decorator. 86s Preparing to unpack .../05-python3-decorator_5.1.1-5_all.deb ... 86s Unpacking python3-decorator (5.1.1-5) ... 86s Selecting previously unselected package python3-dnspython. 86s Preparing to unpack .../06-python3-dnspython_2.6.1-1ubuntu1_all.deb ... 86s Unpacking python3-dnspython (2.6.1-1ubuntu1) ... 86s Selecting previously unselected package python3-email-validator. 86s Preparing to unpack .../07-python3-email-validator_2.2.0-1_all.deb ... 86s Unpacking python3-email-validator (2.2.0-1) ... 86s Selecting previously unselected package python3-flexmock. 86s Preparing to unpack .../08-python3-flexmock_0.12.1-1_all.deb ... 86s Unpacking python3-flexmock (0.12.1-1) ... 86s Selecting previously unselected package python3-infinity. 86s Preparing to unpack .../09-python3-infinity_1.5-3_all.deb ... 86s Unpacking python3-infinity (1.5-3) ... 86s Selecting previously unselected package python3-iniconfig. 86s Preparing to unpack .../10-python3-iniconfig_1.1.1-2_all.deb ... 86s Unpacking python3-iniconfig (1.1.1-2) ... 86s Selecting previously unselected package python3-intervals. 86s Preparing to unpack .../11-python3-intervals_0.9.2-2_all.deb ... 86s Unpacking python3-intervals (0.9.2-2) ... 86s Selecting previously unselected package python3-packaging. 86s Preparing to unpack .../12-python3-packaging_24.1-1_all.deb ... 86s Unpacking python3-packaging (24.1-1) ... 86s Selecting previously unselected package python3-pluggy. 86s Preparing to unpack .../13-python3-pluggy_1.5.0-1_all.deb ... 86s Unpacking python3-pluggy (1.5.0-1) ... 86s Selecting previously unselected package python3-pytest. 86s Preparing to unpack .../14-python3-pytest_8.3.2-1_all.deb ... 86s Unpacking python3-pytest (8.3.2-1) ... 86s Selecting previously unselected package python3-six. 86s Preparing to unpack .../15-python3-six_1.16.0-7_all.deb ... 86s Unpacking python3-six (1.16.0-7) ... 86s Selecting previously unselected package python3-validators. 86s Preparing to unpack .../16-python3-validators_0.20.0-2_all.deb ... 86s Unpacking python3-validators (0.20.0-2) ... 86s Selecting previously unselected package python3-wtforms. 86s Preparing to unpack .../17-python3-wtforms_3.2.1-1_all.deb ... 86s Unpacking python3-wtforms (3.2.1-1) ... 86s Selecting previously unselected package python3-wtforms-components. 86s Preparing to unpack .../18-python3-wtforms-components_0.10.5-5_all.deb ... 86s Unpacking python3-wtforms-components (0.10.5-5) ... 86s Selecting previously unselected package python3-wtforms-test. 86s Preparing to unpack .../19-python3-wtforms-test_0.1.1-3_all.deb ... 86s Unpacking python3-wtforms-test (0.1.1-3) ... 86s Selecting previously unselected package autopkgtest-satdep. 86s Preparing to unpack .../20-1-autopkgtest-satdep.deb ... 86s Unpacking autopkgtest-satdep (0) ... 86s Setting up python3-iniconfig (1.1.1-2) ... 86s Setting up python3-wtforms (3.2.1-1) ... 86s Setting up python3-all (3.12.6-0ubuntu1) ... 86s Setting up python3-six (1.16.0-7) ... 86s Setting up python3-decorator (5.1.1-5) ... 87s Setting up python3-packaging (24.1-1) ... 87s Setting up python3-colour (0.1.5-4) ... 87s Setting up python3-pluggy (1.5.0-1) ... 87s Setting up python3-infinity (1.5-3) ... 87s Setting up python3-dnspython (2.6.1-1ubuntu1) ... 87s Setting up python3-email-validator (2.2.0-1) ... 87s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 87s Setting up python3-flexmock (0.12.1-1) ... 87s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 87s Setting up python3-intervals (0.9.2-2) ... 87s Setting up python3-validators (0.20.0-2) ... 87s Setting up python3-pytest (8.3.2-1) ... 88s Setting up libjs-sphinxdoc (7.4.7-3) ... 88s Setting up python3-wtforms-components (0.10.5-5) ... 88s Setting up python3-wtforms-test (0.1.1-3) ... 88s Setting up autopkgtest-satdep (0) ... 88s Processing triggers for man-db (2.12.1-3) ... 90s (Reading database ... 56270 files and directories currently installed.) 90s Removing autopkgtest-satdep (0) ... 90s autopkgtest [15:08:25]: test upstream: [----------------------- 91s -=-=-=-=-=-=-=- running tests for python3.12 -=-=-=-=-=-=-=-=- 91s $ python3.12 -m pytest tests 91s ============================= test session starts ============================== 91s platform linux -- Python 3.12.7+, pytest-8.3.2, pluggy-1.5.0 91s rootdir: /tmp/autopkgtest.7IsVLP/autopkgtest_tmp 91s plugins: typeguard-4.4.1, flexmock-0.12.1 91s collected 135 items 91s 91s tests/fields/test_color_field.py ..F. [ 2%] 91s tests/fields/test_date_field.py FFFFFF [ 7%] 91s tests/fields/test_date_time_field.py FFFFFF [ 11%] 91s tests/fields/test_date_time_local_field.py FFFFFF [ 16%] 91s tests/fields/test_decimal_field.py FFFFFFF [ 21%] 92s tests/fields/test_int_interval_field.py ..F...F. [ 27%] 92s tests/fields/test_integer_field.py FFFFFF [ 31%] 92s tests/fields/test_json_field.py .. [ 33%] 92s tests/fields/test_passive_hidden_field.py . [ 34%] 92s tests/fields/test_read_only_fields.py . [ 34%] 92s tests/fields/test_search_field.py FFFFF [ 38%] 92s tests/fields/test_select_field.py ...FFFF. [ 44%] 92s tests/fields/test_select_multiple_field.py .F [ 45%] 92s tests/fields/test_split_date_time_field.py FFFF...... [ 53%] 92s tests/fields/test_string_field.py FFFFF [ 57%] 92s tests/fields/test_time_field.py FFFFF..FFFFFFF..FF [ 70%] 92s tests/test_chain_validator.py . [ 71%] 92s tests/test_date_range_validator.py ... [ 73%] 92s tests/test_email_validator.py ......................... [ 91%] 92s tests/test_if_validator.py ... [ 94%] 92s tests/test_read_only_function.py ... [ 96%] 92s tests/test_time_range_validator.py ... [ 98%] 92s tests/test_widgets.py .. [100%] 92s 92s =================================== FAILURES =================================== 92s __________ TestColorField.test_field_rendering_when_validation_fails ___________ 92s 92s self = 92s 92s def test_field_rendering_when_validation_fails(self): 92s form_class = self.init_form() 92s form = form_class(MultiDict(color='invalid')) 92s form.validate() 92s > assert 'value="invalid"' in str(form.color) 92s 92s tests/fields/test_color_field.py:44: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'color', 'type': 'color', 'value': 'invalid'} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'ColorInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ______________ TestDateField.test_assigns_required_from_validator ______________ 92s 92s self = 92s 92s def test_assigns_required_from_validator(self): 92s form_class = self.init_form( 92s validators=[DataRequired()] 92s ) 92s form = form_class() 92s assert ( 92s ' ) in str(form.test_field) 92s 92s tests/__init__.py:31: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'date', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _____________________ TestDateField.test_renders_autofocus _____________________ 92s 92s self = 92s 92s def test_renders_autofocus(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s autofocus=True 92s ) 92s ) 92s form = form_class() 92s > assert 'autofocus' in str(form.test_field) 92s 92s tests/__init__.py:40: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'autofocus': True, 'id': 'test_field', 'type': 'date', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _____________________ TestDateField.test_renders_required ______________________ 92s 92s self = 92s 92s def test_renders_required(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s required=True 92s ) 92s ) 92s form = form_class() 92s > assert 'required' in str(form.test_field) 92s 92s tests/__init__.py:49: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'date', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _____________________ TestDateField.test_renders_disabled ______________________ 92s 92s self = 92s 92s def test_renders_disabled(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s disabled=True 92s ) 92s ) 92s form = form_class() 92s > assert 'disabled' in str(form.test_field) 92s 92s tests/__init__.py:58: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'disabled': True, 'id': 'test_field', 'type': 'date', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _____________________ TestDateField.test_renders_readonly ______________________ 92s 92s self = 92s 92s def test_renders_readonly(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s readonly=True 92s ) 92s ) 92s form = form_class() 92s > assert 'readonly' in str(form.test_field) 92s 92s tests/__init__.py:67: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'readonly': True, 'type': 'date', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestDateField.test_assigns_min_and_max ____________________ 92s 92s self = 92s 92s def test_assigns_min_and_max(self): 92s form_class = self.init_form( 92s validators=[DateRange( 92s min=datetime(2000, 1, 1), 92s max=datetime(2000, 10, 10) 92s )] 92s ) 92s form = form_class(MultiDict(test_field='2000-2-2')) 92s > assert str(form.test_field) == ( 92s '' 92s ) 92s 92s tests/fields/test_date_field.py:18: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'max': '2000-10-10', 'min': '2000-01-01', 'type': 'date', ...} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________ TestDateTimeField.test_assigns_required_from_validator ____________ 92s 92s self = 92s 92s def test_assigns_required_from_validator(self): 92s form_class = self.init_form( 92s validators=[DataRequired()] 92s ) 92s form = form_class() 92s assert ( 92s ' ) in str(form.test_field) 92s 92s tests/__init__.py:31: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'datetime', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateTimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ___________________ TestDateTimeField.test_renders_autofocus ___________________ 92s 92s self = 92s 92s def test_renders_autofocus(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s autofocus=True 92s ) 92s ) 92s form = form_class() 92s > assert 'autofocus' in str(form.test_field) 92s 92s tests/__init__.py:40: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'autofocus': True, 'id': 'test_field', 'type': 'datetime', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateTimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ___________________ TestDateTimeField.test_renders_required ____________________ 92s 92s self = 92s 92s def test_renders_required(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s required=True 92s ) 92s ) 92s form = form_class() 92s > assert 'required' in str(form.test_field) 92s 92s tests/__init__.py:49: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'datetime', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateTimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ___________________ TestDateTimeField.test_renders_disabled ____________________ 92s 92s self = 92s 92s def test_renders_disabled(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s disabled=True 92s ) 92s ) 92s form = form_class() 92s > assert 'disabled' in str(form.test_field) 92s 92s tests/__init__.py:58: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'disabled': True, 'id': 'test_field', 'type': 'datetime', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateTimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ___________________ TestDateTimeField.test_renders_readonly ____________________ 92s 92s self = 92s 92s def test_renders_readonly(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s readonly=True 92s ) 92s ) 92s form = form_class() 92s > assert 'readonly' in str(form.test_field) 92s 92s tests/__init__.py:67: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'readonly': True, 'type': 'datetime', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateTimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s __________________ TestDateTimeField.test_assigns_min_and_max __________________ 92s 92s self = 92s 92s def test_assigns_min_and_max(self): 92s form_class = self.init_form( 92s validators=[DateRange( 92s min=datetime(2000, 1, 1), 92s max=datetime(2000, 10, 10) 92s )] 92s ) 92s form = form_class(MultiDict(test_field='2000-2-2')) 92s > assert str(form.test_field) == ( 92s '' 92s ) 92s 92s tests/fields/test_date_time_field.py:18: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'max': '2000-10-10T00:00:00Z', 'min': '2000-01-01T00:00:00Z', 'type': 'datetime', ...} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateTimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _________ TestDateTimeLocalField.test_assigns_required_from_validator __________ 92s 92s self = 92s 92s def test_assigns_required_from_validator(self): 92s form_class = self.init_form( 92s validators=[DataRequired()] 92s ) 92s form = form_class() 92s assert ( 92s ' ) in str(form.test_field) 92s 92s tests/__init__.py:31: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'datetime-local', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateTimeLocalInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ________________ TestDateTimeLocalField.test_renders_autofocus _________________ 92s 92s self = 92s 92s def test_renders_autofocus(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s autofocus=True 92s ) 92s ) 92s form = form_class() 92s > assert 'autofocus' in str(form.test_field) 92s 92s tests/__init__.py:40: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'autofocus': True, 'id': 'test_field', 'type': 'datetime-local', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateTimeLocalInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _________________ TestDateTimeLocalField.test_renders_required _________________ 92s 92s self = 92s 92s def test_renders_required(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s required=True 92s ) 92s ) 92s form = form_class() 92s > assert 'required' in str(form.test_field) 92s 92s tests/__init__.py:49: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'datetime-local', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateTimeLocalInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _________________ TestDateTimeLocalField.test_renders_disabled _________________ 92s 92s self = 92s 92s def test_renders_disabled(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s disabled=True 92s ) 92s ) 92s form = form_class() 92s > assert 'disabled' in str(form.test_field) 92s 92s tests/__init__.py:58: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'disabled': True, 'id': 'test_field', 'type': 'datetime-local', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateTimeLocalInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _________________ TestDateTimeLocalField.test_renders_readonly _________________ 92s 92s self = 92s 92s def test_renders_readonly(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s readonly=True 92s ) 92s ) 92s form = form_class() 92s > assert 'readonly' in str(form.test_field) 92s 92s tests/__init__.py:67: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'readonly': True, 'type': 'datetime-local', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateTimeLocalInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _______________ TestDateTimeLocalField.test_assigns_min_and_max ________________ 92s 92s self = 92s 92s def test_assigns_min_and_max(self): 92s form_class = self.init_form( 92s validators=[DateRange( 92s min=datetime(2000, 1, 1), 92s max=datetime(2000, 10, 10) 92s )] 92s ) 92s form = form_class(MultiDict(test_field='2000-2-2')) 92s > assert str(form.test_field) == ( 92s '' 92s ) 92s 92s tests/fields/test_date_time_local_field.py:18: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'max': '2000-10-10T00:00:00', 'min': '2000-01-01T00:00:00', 'type': 'datetime-local', ...} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateTimeLocalInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________ TestDecimalField.test_assigns_required_from_validator _____________ 92s 92s self = 92s 92s def test_assigns_required_from_validator(self): 92s form_class = self.init_form( 92s validators=[DataRequired()] 92s ) 92s form = form_class() 92s assert ( 92s ' ) in str(form.test_field) 92s 92s tests/__init__.py:31: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'step': 'any', 'type': 'number', ...} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'NumberInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ___________________ TestDecimalField.test_renders_autofocus ____________________ 92s 92s self = 92s 92s def test_renders_autofocus(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s autofocus=True 92s ) 92s ) 92s form = form_class() 92s > assert 'autofocus' in str(form.test_field) 92s 92s tests/__init__.py:40: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'autofocus': True, 'id': 'test_field', 'type': 'number', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'NumberInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestDecimalField.test_renders_required ____________________ 92s 92s self = 92s 92s def test_renders_required(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s required=True 92s ) 92s ) 92s form = form_class() 92s > assert 'required' in str(form.test_field) 92s 92s tests/__init__.py:49: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'number', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'NumberInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestDecimalField.test_renders_disabled ____________________ 92s 92s self = 92s 92s def test_renders_disabled(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s disabled=True 92s ) 92s ) 92s form = form_class() 92s > assert 'disabled' in str(form.test_field) 92s 92s tests/__init__.py:58: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'disabled': True, 'id': 'test_field', 'type': 'number', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'NumberInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestDecimalField.test_renders_readonly ____________________ 92s 92s self = 92s 92s def test_renders_readonly(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s readonly=True 92s ) 92s ) 92s form = form_class() 92s > assert 'readonly' in str(form.test_field) 92s 92s tests/__init__.py:67: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'readonly': True, 'type': 'number', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'NumberInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s __________________ TestDecimalField.test_assigns_min_and_max ___________________ 92s 92s self = 92s 92s def test_assigns_min_and_max(self): 92s form_class = self.init_form( 92s validators=[NumberRange(min=2, max=10)] 92s ) 92s form = form_class(MultiDict(test_field=3)) 92s > assert str(form.test_field) == ( 92s '' 92s ) 92s 92s tests/fields/test_decimal_field.py:16: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'max': 10, 'min': 2, 'step': 'any', ...} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'NumberInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ______________________ TestDecimalField.test_assigns_step ______________________ 92s 92s self = 92s 92s def test_assigns_step(self): 92s form_class = self.init_form( 92s widget=NumberInput(step='0.1') 92s ) 92s form = form_class(MultiDict(test_field=3)) 92s > assert str(form.test_field) == ( 92s '' 92s ) 92s 92s tests/fields/test_decimal_field.py:26: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'step': '0.1', 'type': 'number', 'value': 3} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'NumberInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _______ TestIntIntervalField.test_field_rendering_when_validation_fails ________ 92s 92s self = 92s 92s def test_field_rendering_when_validation_fails(self): 92s form_class = self.init_form() 92s form = form_class(MultiDict(interval='invalid')) 92s form.validate() 92s > assert 'value="invalid"' in str(form.interval) 92s 92s tests/fields/test_int_interval_field.py:34: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'interval', 'type': 'text', 'value': 'invalid'} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TextInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ______ TestFloatIntervalField.test_field_rendering_when_validation_fails _______ 92s 92s self = 92s 92s def test_field_rendering_when_validation_fails(self): 92s form_class = self.init_form() 92s form = form_class(MultiDict(interval='invalid')) 92s form.validate() 92s > assert 'value="invalid"' in str(form.interval) 92s 92s tests/fields/test_int_interval_field.py:34: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'interval', 'type': 'text', 'value': 'invalid'} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TextInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________ TestIntegerField.test_assigns_required_from_validator _____________ 92s 92s self = 92s 92s def test_assigns_required_from_validator(self): 92s form_class = self.init_form( 92s validators=[DataRequired()] 92s ) 92s form = form_class() 92s assert ( 92s ' ) in str(form.test_field) 92s 92s tests/__init__.py:31: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'step': '1', 'type': 'number', ...} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'NumberInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ___________________ TestIntegerField.test_renders_autofocus ____________________ 92s 92s self = 92s 92s def test_renders_autofocus(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s autofocus=True 92s ) 92s ) 92s form = form_class() 92s > assert 'autofocus' in str(form.test_field) 92s 92s tests/__init__.py:40: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'autofocus': True, 'id': 'test_field', 'type': 'number', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'NumberInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestIntegerField.test_renders_required ____________________ 92s 92s self = 92s 92s def test_renders_required(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s required=True 92s ) 92s ) 92s form = form_class() 92s > assert 'required' in str(form.test_field) 92s 92s tests/__init__.py:49: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'number', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'NumberInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestIntegerField.test_renders_disabled ____________________ 92s 92s self = 92s 92s def test_renders_disabled(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s disabled=True 92s ) 92s ) 92s form = form_class() 92s > assert 'disabled' in str(form.test_field) 92s 92s tests/__init__.py:58: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'disabled': True, 'id': 'test_field', 'type': 'number', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'NumberInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestIntegerField.test_renders_readonly ____________________ 92s 92s self = 92s 92s def test_renders_readonly(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s readonly=True 92s ) 92s ) 92s form = form_class() 92s > assert 'readonly' in str(form.test_field) 92s 92s tests/__init__.py:67: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'readonly': True, 'type': 'number', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'NumberInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s __________________ TestIntegerField.test_assigns_min_and_max ___________________ 92s 92s self = 92s 92s def test_assigns_min_and_max(self): 92s form_class = self.init_form(validators=[NumberRange(min=2, max=10)]) 92s form = form_class(MultiDict(test_field=3)) 92s > assert str(form.test_field) == ( 92s '' 92s ) 92s 92s tests/fields/test_integer_field.py:13: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'max': 10, 'min': 2, 'step': '1', ...} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'NumberInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _____________ TestSearchField.test_assigns_required_from_validator _____________ 92s 92s self = 92s 92s def test_assigns_required_from_validator(self): 92s form_class = self.init_form( 92s validators=[DataRequired()] 92s ) 92s form = form_class() 92s assert ( 92s ' ) in str(form.test_field) 92s 92s tests/__init__.py:31: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'search', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'SearchInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestSearchField.test_renders_autofocus ____________________ 92s 92s self = 92s 92s def test_renders_autofocus(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s autofocus=True 92s ) 92s ) 92s form = form_class() 92s > assert 'autofocus' in str(form.test_field) 92s 92s tests/__init__.py:40: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'autofocus': True, 'id': 'test_field', 'type': 'search', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'SearchInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestSearchField.test_renders_required _____________________ 92s 92s self = 92s 92s def test_renders_required(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s required=True 92s ) 92s ) 92s form = form_class() 92s > assert 'required' in str(form.test_field) 92s 92s tests/__init__.py:49: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'search', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'SearchInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestSearchField.test_renders_disabled _____________________ 92s 92s self = 92s 92s def test_renders_disabled(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s disabled=True 92s ) 92s ) 92s form = form_class() 92s > assert 'disabled' in str(form.test_field) 92s 92s tests/__init__.py:58: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'disabled': True, 'id': 'test_field', 'type': 'search', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'SearchInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestSearchField.test_renders_readonly _____________________ 92s 92s self = 92s 92s def test_renders_readonly(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s readonly=True 92s ) 92s ) 92s form = form_class() 92s > assert 'readonly' in str(form.test_field) 92s 92s tests/__init__.py:67: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'readonly': True, 'type': 'search', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'SearchInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _____________________ TestSelectField.test_option_selected _____________________ 92s 92s self = 92s 92s def test_option_selected(self): 92s form_class = self.init_form(choices=self.choices) 92s 92s obj = Dummy() 92s obj.fruit = 'peach' 92s form = form_class( 92s obj=obj 92s ) 92s > assert ( 92s '' in 92s str(form.fruit) 92s ) 92s 92s tests/fields/test_select_field.py:74: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'fruit'}, flags = , k = '__weakref__' 92s select_params = 'id="fruit" name="fruit"' 92s html = ['"] 92s if field.has_groups(): 92s for group, choices in field.iter_groups(): 92s optgroup_params = html_params(label=group) 92s html.append(f"") 92s for choice in choices: 92s val, label, selected, render_kw = choice 92s html.append(self.render_option(val, label, selected, **render_kw)) 92s html.append("") 92s else: 92s for choice in field.iter_choices(): 92s > val, label, selected, render_kw = choice 92s E ValueError: not enough values to unpack (expected 4, got 3) 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:374: ValueError 92s ______ TestSelectField.test_nested_option_selected_by_field_default_value ______ 92s 92s self = 92s 92s def test_nested_option_selected_by_field_default_value(self): 92s form_class = self.init_form( 92s choices=self.choices, default='pear' 92s ) 92s form = form_class() 92s > assert ( 92s '' in 92s str(form.fruit) 92s ) 92s 92s tests/fields/test_select_field.py:84: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'fruit'}, flags = , k = '__weakref__' 92s select_params = 'id="fruit" name="fruit"' 92s html = ['"] 92s if field.has_groups(): 92s for group, choices in field.iter_groups(): 92s optgroup_params = html_params(label=group) 92s html.append(f"") 92s for choice in choices: 92s val, label, selected, render_kw = choice 92s html.append(self.render_option(val, label, selected, **render_kw)) 92s html.append("") 92s else: 92s for choice in field.iter_choices(): 92s > val, label, selected, render_kw = choice 92s E ValueError: not enough values to unpack (expected 4, got 3) 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:374: ValueError 92s _________ TestSelectField.test_option_selected_by_field_default_value __________ 92s 92s self = 92s 92s def test_option_selected_by_field_default_value(self): 92s choices = [ 92s ('apple', 'Apple'), 92s ('peach', 'Peach'), 92s ('pear', 'Pear') 92s ] 92s form_class = self.init_form( 92s choices=choices, default='pear' 92s ) 92s form = form_class() 92s > assert ( 92s '' in 92s str(form.fruit) 92s ) 92s 92s tests/fields/test_select_field.py:99: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'fruit'}, flags = , k = '__weakref__' 92s select_params = 'id="fruit" name="fruit"' 92s html = ['"] 92s if field.has_groups(): 92s for group, choices in field.iter_groups(): 92s optgroup_params = html_params(label=group) 92s html.append(f"") 92s for choice in choices: 92s val, label, selected, render_kw = choice 92s html.append(self.render_option(val, label, selected, **render_kw)) 92s html.append("") 92s else: 92s for choice in field.iter_choices(): 92s > val, label, selected, render_kw = choice 92s E ValueError: not enough values to unpack (expected 4, got 3) 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:374: ValueError 92s _____ TestSelectField.test_callable_option_selected_by_field_default_value _____ 92s 92s self = 92s 92s def test_callable_option_selected_by_field_default_value(self): 92s def choices(): 92s return [ 92s ('apple', 'Apple'), 92s ('peach', 'Peach'), 92s ('pear', 'Pear') 92s ] 92s form_class = self.init_form( 92s choices=choices, default='pear' 92s ) 92s form = form_class() 92s > assert ( 92s '' in 92s str(form.fruit) 92s ) 92s 92s tests/fields/test_select_field.py:115: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'fruit'}, flags = , k = '__weakref__' 92s select_params = 'id="fruit" name="fruit"' 92s html = ['"] 92s if field.has_groups(): 92s for group, choices in field.iter_groups(): 92s optgroup_params = html_params(label=group) 92s html.append(f"") 92s for choice in choices: 92s val, label, selected, render_kw = choice 92s html.append(self.render_option(val, label, selected, **render_kw)) 92s html.append("") 92s else: 92s for choice in field.iter_choices(): 92s > val, label, selected, render_kw = choice 92s E ValueError: not enough values to unpack (expected 4, got 3) 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:374: ValueError 92s _________________ TestSelectMultipleField.test_option_selected _________________ 92s 92s self = 92s 92s def test_option_selected(self): 92s form_class = self.init_form(choices=self.choices) 92s 92s obj = Dummy() 92s obj.fruits = ['peach'] 92s form = form_class( 92s obj=obj 92s ) 92s > assert ( 92s '' in 92s str(form.fruits) 92s ) 92s 92s tests/fields/test_select_multiple_field.py:55: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'fruits', 'multiple': True}, flags = 92s k = '__weakref__', select_params = 'id="fruits" multiple name="fruits"' 92s html = ['"] 92s if field.has_groups(): 92s for group, choices in field.iter_groups(): 92s optgroup_params = html_params(label=group) 92s html.append(f"") 92s for choice in choices: 92s val, label, selected, render_kw = choice 92s html.append(self.render_option(val, label, selected, **render_kw)) 92s html.append("") 92s else: 92s for choice in field.iter_choices(): 92s > val, label, selected, render_kw = choice 92s E ValueError: not enough values to unpack (expected 4, got 3) 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:374: ValueError 92s _____________ TestSplitDateTimeField.test_assigns_required_to_date _____________ 92s 92s self = 92s 92s def test_assigns_required_to_date(self): 92s form_class = self.init_form(datetime_form={ 92s 'date': {'validators': [DataRequired()]} 92s }) 92s form = form_class() 92s > assert str(form.test_field.date) == ( 92s '' 92s ) 92s 92s tests/fields/test_split_date_time_field.py:22: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field-date', 'required': True, 'type': 'date', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ________________ TestSplitDateTimeField.test_renders_date_field ________________ 92s 92s self = 92s 92s def test_renders_date_field(self): 92s form_class = self.init_form() 92s form = form_class() 92s > assert str(form.test_field.date) == ( 92s '' 92s ) 92s 92s tests/fields/test_split_date_time_field.py:30: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field-date', 'type': 'date', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'DateInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _____________ TestSplitDateTimeField.test_assigns_required_to_time _____________ 92s 92s self = 92s 92s def test_assigns_required_to_time(self): 92s form_class = self.init_form(datetime_form={ 92s 'time': {'validators': [DataRequired()]} 92s }) 92s form = form_class() 92s > assert str(form.test_field.time) == ( 92s '' 92s ) 92s 92s tests/fields/test_split_date_time_field.py:40: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field-time', 'required': True, 'type': 'time', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ________________ TestSplitDateTimeField.test_renders_time_field ________________ 92s 92s self = 92s 92s def test_renders_time_field(self): 92s form_class = self.init_form() 92s form = form_class() 92s > assert str(form.test_field.time) == ( 92s '' 92s ) 92s 92s tests/fields/test_split_date_time_field.py:48: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field-time', 'type': 'time', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _____________ TestStringField.test_assigns_required_from_validator _____________ 92s 92s self = 92s 92s def test_assigns_required_from_validator(self): 92s form_class = self.init_form( 92s validators=[DataRequired()] 92s ) 92s form = form_class() 92s assert ( 92s ' ) in str(form.test_field) 92s 92s tests/__init__.py:31: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'text', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TextInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestStringField.test_renders_autofocus ____________________ 92s 92s self = 92s 92s def test_renders_autofocus(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s autofocus=True 92s ) 92s ) 92s form = form_class() 92s > assert 'autofocus' in str(form.test_field) 92s 92s tests/__init__.py:40: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'autofocus': True, 'id': 'test_field', 'type': 'text', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TextInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestStringField.test_renders_required _____________________ 92s 92s self = 92s 92s def test_renders_required(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s required=True 92s ) 92s ) 92s form = form_class() 92s > assert 'required' in str(form.test_field) 92s 92s tests/__init__.py:49: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'text', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TextInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestStringField.test_renders_disabled _____________________ 92s 92s self = 92s 92s def test_renders_disabled(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s disabled=True 92s ) 92s ) 92s form = form_class() 92s > assert 'disabled' in str(form.test_field) 92s 92s tests/__init__.py:58: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'disabled': True, 'id': 'test_field', 'type': 'text', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TextInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestStringField.test_renders_readonly _____________________ 92s 92s self = 92s 92s def test_renders_readonly(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s readonly=True 92s ) 92s ) 92s form = form_class() 92s > assert 'readonly' in str(form.test_field) 92s 92s tests/__init__.py:67: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'readonly': True, 'type': 'text', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TextInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ______________ TestTimeField.test_assigns_required_from_validator ______________ 92s 92s self = 92s 92s def test_assigns_required_from_validator(self): 92s form_class = self.init_form( 92s validators=[DataRequired()] 92s ) 92s form = form_class() 92s assert ( 92s ' ) in str(form.test_field) 92s 92s tests/__init__.py:31: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'time', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _____________________ TestTimeField.test_renders_autofocus _____________________ 92s 92s self = 92s 92s def test_renders_autofocus(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s autofocus=True 92s ) 92s ) 92s form = form_class() 92s > assert 'autofocus' in str(form.test_field) 92s 92s tests/__init__.py:40: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'autofocus': True, 'id': 'test_field', 'type': 'time', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _____________________ TestTimeField.test_renders_required ______________________ 92s 92s self = 92s 92s def test_renders_required(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s required=True 92s ) 92s ) 92s form = form_class() 92s > assert 'required' in str(form.test_field) 92s 92s tests/__init__.py:49: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'time', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _____________________ TestTimeField.test_renders_disabled ______________________ 92s 92s self = 92s 92s def test_renders_disabled(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s disabled=True 92s ) 92s ) 92s form = form_class() 92s > assert 'disabled' in str(form.test_field) 92s 92s tests/__init__.py:58: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'disabled': True, 'id': 'test_field', 'type': 'time', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _____________________ TestTimeField.test_renders_readonly ______________________ 92s 92s self = 92s 92s def test_renders_readonly(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s readonly=True 92s ) 92s ) 92s form = form_class() 92s > assert 'readonly' in str(form.test_field) 92s 92s tests/__init__.py:67: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'readonly': True, 'type': 'time', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ____________________ TestTimeField.test_assigns_min_and_max ____________________ 92s 92s self = 92s 92s def test_assigns_min_and_max(self): 92s form_class = self.init_form( 92s validators=[TimeRange( 92s min=time(12, 12), 92s max=time(13, 30) 92s )] 92s ) 92s form = form_class(MultiDict(test_field='13:20')) 92s > assert str(form.test_field) == ( 92s '' 92s ) 92s 92s tests/fields/test_time_field.py:44: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'max': '13:30:00', 'min': '12:12:00', 'type': 'time', ...} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ______________ TestTimeField.test_renders_input_time_at_midnight _______________ 92s 92s self = 92s 92s def test_renders_input_time_at_midnight(self): 92s form_class = self.init_form() 92s form = form_class(MultiDict(test_field='00:00')) 92s > assert str(form.test_field) == ( 92s '' 92s ) 92s 92s tests/fields/test_time_field.py:52: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'type': 'time', 'value': '00:00'} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ________ TestTimeFieldWithSeconds.test_assigns_required_from_validator _________ 92s 92s self = 92s 92s def test_assigns_required_from_validator(self): 92s form_class = self.init_form( 92s validators=[DataRequired()] 92s ) 92s form = form_class() 92s assert ( 92s ' ) in str(form.test_field) 92s 92s tests/__init__.py:31: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'time', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _______________ TestTimeFieldWithSeconds.test_renders_autofocus ________________ 92s 92s self = 92s 92s def test_renders_autofocus(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s autofocus=True 92s ) 92s ) 92s form = form_class() 92s > assert 'autofocus' in str(form.test_field) 92s 92s tests/__init__.py:40: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'autofocus': True, 'id': 'test_field', 'type': 'time', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ________________ TestTimeFieldWithSeconds.test_renders_required ________________ 92s 92s self = 92s 92s def test_renders_required(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s required=True 92s ) 92s ) 92s form = form_class() 92s > assert 'required' in str(form.test_field) 92s 92s tests/__init__.py:49: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'required': True, 'type': 'time', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ________________ TestTimeFieldWithSeconds.test_renders_disabled ________________ 92s 92s self = 92s 92s def test_renders_disabled(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s disabled=True 92s ) 92s ) 92s form = form_class() 92s > assert 'disabled' in str(form.test_field) 92s 92s tests/__init__.py:58: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'disabled': True, 'id': 'test_field', 'type': 'time', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ________________ TestTimeFieldWithSeconds.test_renders_readonly ________________ 92s 92s self = 92s 92s def test_renders_readonly(self): 92s form_class = self.init_form( 92s widget=self.field_class.widget.__class__( 92s readonly=True 92s ) 92s ) 92s form = form_class() 92s > assert 'readonly' in str(form.test_field) 92s 92s tests/__init__.py:67: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'readonly': True, 'type': 'time', 'value': ''} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s ______________ TestTimeFieldWithSeconds.test_assigns_min_and_max _______________ 92s 92s self = 92s 92s def test_assigns_min_and_max(self): 92s form_class = self.init_form( 92s validators=[TimeRange( 92s min=time(12, 12), 92s max=time(13, 30) 92s )] 92s ) 92s form = form_class(MultiDict(test_field='13:20')) 92s > assert str(form.test_field) == ( 92s '' 92s ) 92s 92s tests/fields/test_time_field.py:44: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'max': '13:30:00', 'min': '12:12:00', 'type': 'time', ...} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s _________ TestTimeFieldWithSeconds.test_renders_input_time_at_midnight _________ 92s 92s self = 92s 92s def test_renders_input_time_at_midnight(self): 92s form_class = self.init_form() 92s form = form_class(MultiDict(test_field='00:00')) 92s > assert str(form.test_field) == ( 92s '' 92s ) 92s 92s tests/fields/test_time_field.py:52: 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:141: in __str__ 92s return self() 92s /usr/lib/python3/dist-packages/wtforms/fields/core.py:164: in __call__ 92s return self.meta.render_field(self, kwargs) 92s /usr/lib/python3/dist-packages/wtforms/meta.py:64: in render_field 92s return field.widget(field, **render_kw) 92s /usr/lib/python3/dist-packages/wtforms_components/widgets.py:81: in __call__ 92s return super(HTML5Input, self).__call__(field, **options_copy) 92s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 92s 92s self = 92s field = 92s kwargs = {'id': 'test_field', 'type': 'time', 'value': '00:00'} 92s flags = , k = '__class__' 92s 92s def __call__(self, field, **kwargs): 92s kwargs.setdefault("id", field.id) 92s kwargs.setdefault("type", self.input_type) 92s if "value" not in kwargs: 92s kwargs["value"] = field._value() 92s flags = getattr(field, "flags", {}) 92s for k in dir(flags): 92s > if k in self.validation_attrs and k not in kwargs: 92s E AttributeError: 'TimeInput' object has no attribute 'validation_attrs' 92s 92s /usr/lib/python3/dist-packages/wtforms/widgets/core.py:176: AttributeError 92s =========================== short test summary info ============================ 92s FAILED tests/fields/test_color_field.py::TestColorField::test_field_rendering_when_validation_fails 92s FAILED tests/fields/test_date_field.py::TestDateField::test_assigns_required_from_validator 92s FAILED tests/fields/test_date_field.py::TestDateField::test_renders_autofocus 92s FAILED tests/fields/test_date_field.py::TestDateField::test_renders_required 92s FAILED tests/fields/test_date_field.py::TestDateField::test_renders_disabled 92s FAILED tests/fields/test_date_field.py::TestDateField::test_renders_readonly 92s FAILED tests/fields/test_date_field.py::TestDateField::test_assigns_min_and_max 92s FAILED tests/fields/test_date_time_field.py::TestDateTimeField::test_assigns_required_from_validator 92s FAILED tests/fields/test_date_time_field.py::TestDateTimeField::test_renders_autofocus 92s FAILED tests/fields/test_date_time_field.py::TestDateTimeField::test_renders_required 92s FAILED tests/fields/test_date_time_field.py::TestDateTimeField::test_renders_disabled 92s FAILED tests/fields/test_date_time_field.py::TestDateTimeField::test_renders_readonly 92s FAILED tests/fields/test_date_time_field.py::TestDateTimeField::test_assigns_min_and_max 92s FAILED tests/fields/test_date_time_local_field.py::TestDateTimeLocalField::test_assigns_required_from_validator 92s FAILED tests/fields/test_date_time_local_field.py::TestDateTimeLocalField::test_renders_autofocus 92s FAILED tests/fields/test_date_time_local_field.py::TestDateTimeLocalField::test_renders_required 92s FAILED tests/fields/test_date_time_local_field.py::TestDateTimeLocalField::test_renders_disabled 92s FAILED tests/fields/test_date_time_local_field.py::TestDateTimeLocalField::test_renders_readonly 92s FAILED tests/fields/test_date_time_local_field.py::TestDateTimeLocalField::test_assigns_min_and_max 92s FAILED tests/fields/test_decimal_field.py::TestDecimalField::test_assigns_required_from_validator 92s FAILED tests/fields/test_decimal_field.py::TestDecimalField::test_renders_autofocus 92s FAILED tests/fields/test_decimal_field.py::TestDecimalField::test_renders_required 92s FAILED tests/fields/test_decimal_field.py::TestDecimalField::test_renders_disabled 92s FAILED tests/fields/test_decimal_field.py::TestDecimalField::test_renders_readonly 92s FAILED tests/fields/test_decimal_field.py::TestDecimalField::test_assigns_min_and_max 92s FAILED tests/fields/test_decimal_field.py::TestDecimalField::test_assigns_step 92s FAILED tests/fields/test_int_interval_field.py::TestIntIntervalField::test_field_rendering_when_validation_fails 92s FAILED tests/fields/test_int_interval_field.py::TestFloatIntervalField::test_field_rendering_when_validation_fails 92s FAILED tests/fields/test_integer_field.py::TestIntegerField::test_assigns_required_from_validator 92s FAILED tests/fields/test_integer_field.py::TestIntegerField::test_renders_autofocus 92s FAILED tests/fields/test_integer_field.py::TestIntegerField::test_renders_required 92s FAILED tests/fields/test_integer_field.py::TestIntegerField::test_renders_disabled 92s FAILED tests/fields/test_integer_field.py::TestIntegerField::test_renders_readonly 92s FAILED tests/fields/test_integer_field.py::TestIntegerField::test_assigns_min_and_max 92s FAILED tests/fields/test_search_field.py::TestSearchField::test_assigns_required_from_validator 92s FAILED tests/fields/test_search_field.py::TestSearchField::test_renders_autofocus 92s FAILED tests/fields/test_search_field.py::TestSearchField::test_renders_required 92s FAILED tests/fields/test_search_field.py::TestSearchField::test_renders_disabled 92s FAILED tests/fields/test_search_field.py::TestSearchField::test_renders_readonly 92s FAILED tests/fields/test_select_field.py::TestSelectField::test_option_selected 92s FAILED tests/fields/test_select_field.py::TestSelectField::test_nested_option_selected_by_field_default_value 92s FAILED tests/fields/test_select_field.py::TestSelectField::test_option_selected_by_field_default_value 92s FAILED tests/fields/test_select_field.py::TestSelectField::test_callable_option_selected_by_field_default_value 92s FAILED tests/fields/test_select_multiple_field.py::TestSelectMultipleField::test_option_selected 92s FAILED tests/fields/test_split_date_time_field.py::TestSplitDateTimeField::test_assigns_required_to_date 92s FAILED tests/fields/test_split_date_time_field.py::TestSplitDateTimeField::test_renders_date_field 92s FAILED tests/fields/test_split_date_time_field.py::TestSplitDateTimeField::test_assigns_required_to_time 92s FAILED tests/fields/test_split_date_time_field.py::TestSplitDateTimeField::test_renders_time_field 92s FAILED tests/fields/test_string_field.py::TestStringField::test_assigns_required_from_validator 92s FAILED tests/fields/test_string_field.py::TestStringField::test_renders_autofocus 92s FAILED tests/fields/test_string_field.py::TestStringField::test_renders_required 92s FAILED tests/fields/test_string_field.py::TestStringField::test_renders_disabled 92s FAILED tests/fields/test_string_field.py::TestStringField::test_renders_readonly 92s FAILED tests/fields/test_time_field.py::TestTimeField::test_assigns_required_from_validator 92s FAILED tests/fields/test_time_field.py::TestTimeField::test_renders_autofocus 92s FAILED tests/fields/test_time_field.py::TestTimeField::test_renders_required 92s FAILED tests/fields/test_time_field.py::TestTimeField::test_renders_disabled 92s FAILED tests/fields/test_time_field.py::TestTimeField::test_renders_readonly 92s FAILED tests/fields/test_time_field.py::TestTimeField::test_assigns_min_and_max 92s FAILED tests/fields/test_time_field.py::TestTimeField::test_renders_input_time_at_midnight 92s FAILED tests/fields/test_time_field.py::TestTimeFieldWithSeconds::test_assigns_required_from_validator 92s FAILED tests/fields/test_time_field.py::TestTimeFieldWithSeconds::test_renders_autofocus 92s FAILED tests/fields/test_time_field.py::TestTimeFieldWithSeconds::test_renders_required 92s FAILED tests/fields/test_time_field.py::TestTimeFieldWithSeconds::test_renders_disabled 92s FAILED tests/fields/test_time_field.py::TestTimeFieldWithSeconds::test_renders_readonly 92s FAILED tests/fields/test_time_field.py::TestTimeFieldWithSeconds::test_assigns_min_and_max 92s FAILED tests/fields/test_time_field.py::TestTimeFieldWithSeconds::test_renders_input_time_at_midnight 92s ======================== 67 failed, 68 passed in 1.38s ========================= 93s autopkgtest [15:08:28]: test upstream: -----------------------] 93s autopkgtest [15:08:28]: test upstream: - - - - - - - - - - results - - - - - - - - - - 93s upstream FAIL non-zero exit status 1 93s autopkgtest [15:08:28]: @@@@@@@@@@@@@@@@@@@@ summary 93s upstream FAIL non-zero exit status 1 105s nova [W] Using flock in prodstack6-s390x 105s Creating nova instance adt-plucky-s390x-wtforms-components-20241109-150655-juju-7f2275-prod-proposed-migration-environment-20-aa2d17aa-096e-43a7-8fc2-c74c75fd5907 from image adt/ubuntu-plucky-s390x-server-20241109.img (UUID 3dcdd533-c66f-4d57-9732-52a74843bc00)...