0s autopkgtest [22:00:17]: starting date and time: 2026-02-03 22:00:17+0000 0s autopkgtest [22:00:17]: git checkout: 508d4a25 a-v-ssh wait_for_ssh: demote "ssh connection failed" to a debug message 0s autopkgtest [22:00:17]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.iy_00s28/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,localhost,localdomain,internal,login.ubuntu.com,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:setuptools --apt-upgrade twine --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=setuptools/78.1.1-0.1build1 -- lxd -r lxd-armhf-10.145.243.197 lxd-armhf-10.145.243.197:autopkgtest/ubuntu/resolute/armhf 27s autopkgtest [22:00:44]: testbed dpkg architecture: armhf 29s autopkgtest [22:00:46]: testbed apt version: 3.1.14 33s autopkgtest [22:00:50]: @@@@@@@@@@@@@@@@@@@@ test bed setup 35s autopkgtest [22:00:52]: testbed release detected to be: None 44s autopkgtest [22:01:01]: updating testbed package index (apt update) 46s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 46s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [124 kB] 47s Get:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease [124 kB] 47s Get:4 http://ftpmaster.internal/ubuntu resolute-security InRelease [124 kB] 47s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [242 kB] 47s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [27.9 kB] 47s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1343 kB] 47s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5260 B] 47s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [283 kB] 47s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [1070 kB] 48s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [6336 B] 48s Get:12 http://ftpmaster.internal/ubuntu resolute/main Sources [1400 kB] 48s Get:13 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.3 MB] 50s Get:14 http://ftpmaster.internal/ubuntu resolute/multiverse Sources [310 kB] 50s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1373 kB] 50s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [15.0 MB] 51s Get:17 http://ftpmaster.internal/ubuntu resolute/multiverse armhf Packages [176 kB] 54s Fetched 43.1 MB in 9s (4982 kB/s) 56s Reading package lists... 62s autopkgtest [22:01:19]: upgrading testbed (apt dist-upgrade and autopurge) 63s Reading package lists... 64s Building dependency tree... 64s Reading state information... 64s Calculating upgrade... 65s The following packages will be upgraded: 65s powermgmt-base python3-pkg-resources python3-setuptools systemd-hwe-hwdb 65s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 65s Need to get 816 kB of archives. 65s After this operation, 1024 B of additional disk space will be used. 65s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf systemd-hwe-hwdb all 259.0.1 [3152 B] 65s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf powermgmt-base all 1.38ubuntu2 [7878 B] 65s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-pkg-resources all 78.1.1-0.1build1 [144 kB] 66s Get:4 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-setuptools all 78.1.1-0.1build1 [661 kB] 66s Fetched 816 kB in 1s (1111 kB/s) 67s (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 ... 68394 files and directories currently installed.) 67s Preparing to unpack .../systemd-hwe-hwdb_259.0.1_all.deb ... 67s Unpacking systemd-hwe-hwdb (259.0.1) over (257.7.1) ... 67s Preparing to unpack .../powermgmt-base_1.38ubuntu2_all.deb ... 67s Unpacking powermgmt-base (1.38ubuntu2) over (1.38ubuntu1) ... 67s Preparing to unpack .../python3-pkg-resources_78.1.1-0.1build1_all.deb ... 67s Unpacking python3-pkg-resources (78.1.1-0.1build1) over (78.1.1-0.1) ... 67s Preparing to unpack .../python3-setuptools_78.1.1-0.1build1_all.deb ... 67s Unpacking python3-setuptools (78.1.1-0.1build1) over (78.1.1-0.1) ... 67s Setting up python3-pkg-resources (78.1.1-0.1build1) ... 68s Setting up powermgmt-base (1.38ubuntu2) ... 68s Setting up python3-setuptools (78.1.1-0.1build1) ... 69s Setting up systemd-hwe-hwdb (259.0.1) ... 69s Processing triggers for udev (259-1ubuntu3) ... 70s Processing triggers for man-db (2.13.1-1) ... 73s Reading package lists... 73s Building dependency tree... 73s Reading state information... 74s Solving dependencies... 75s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 77s autopkgtest [22:01:34]: rebooting testbed after setup commands that affected boot 118s autopkgtest [22:02:15]: testbed running kernel: Linux 6.8.0-87-generic #88~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct 14 14:00:09 UTC 2 144s autopkgtest [22:02:41]: @@@@@@@@@@@@@@@@@@@@ apt-source twine 154s Get:1 http://ftpmaster.internal/ubuntu resolute/universe twine 6.2.0-2 (dsc) [2951 B] 154s Get:2 http://ftpmaster.internal/ubuntu resolute/universe twine 6.2.0-2 (tar) [172 kB] 154s Get:3 http://ftpmaster.internal/ubuntu resolute/universe twine 6.2.0-2 (diff) [10.2 kB] 155s gpgv: Signature made Sun Nov 9 19:06:46 2025 UTC 155s gpgv: using RSA key 374D8CE4DB96E9CBD4C0972A606D084E4683C079 155s gpgv: Can't check signature: No public key 155s dpkg-source: warning: cannot verify inline signature for ./twine_6.2.0-2.dsc: no acceptable signature found 155s autopkgtest [22:02:52]: testing package twine version 6.2.0-2 157s autopkgtest [22:02:54]: build not needed 159s autopkgtest [22:02:56]: test command1: preparing testbed 161s Reading package lists... 161s Building dependency tree... 161s Reading state information... 162s Solving dependencies... 162s The following NEW packages will be installed: 162s docutils-common python3-cmarkgfm python3-docutils python3-id python3-nh3 162s python3-readme-renderer python3-requests-toolbelt python3-rfc3986 162s python3-roman-numerals sgml-base twine xml-core 163s 0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded. 163s Need to get 1561 kB of archives. 163s After this operation, 7155 kB of additional disk space will be used. 163s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf sgml-base all 1.31+nmu1 [11.0 kB] 163s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf xml-core all 0.19build1 [20.3 kB] 163s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf docutils-common all 0.22.4+dfsg-1 [130 kB] 163s Get:4 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-cmarkgfm armhf 2025.10.22-1 [108 kB] 163s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf python3-roman-numerals all 4.1.0-1 [8660 B] 163s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf python3-docutils all 0.22.4+dfsg-1 [439 kB] 163s Get:7 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-id all 1.5.0-1 [9028 B] 163s Get:8 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-nh3 armhf 0.3.2-1 [622 kB] 163s Get:9 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-readme-renderer all 44.0-3 [10.5 kB] 163s Get:10 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-requests-toolbelt all 1.0.0-4 [37.0 kB] 163s Get:11 http://ftpmaster.internal/ubuntu resolute/main armhf python3-rfc3986 all 2.0.0-3build1 [22.1 kB] 163s Get:12 http://ftpmaster.internal/ubuntu resolute/universe armhf twine all 6.2.0-2 [144 kB] 164s Fetched 1561 kB in 1s (2350 kB/s) 164s Selecting previously unselected package sgml-base. 164s (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 ... 68395 files and directories currently installed.) 164s Preparing to unpack .../00-sgml-base_1.31+nmu1_all.deb ... 164s Unpacking sgml-base (1.31+nmu1) ... 164s Selecting previously unselected package xml-core. 164s Preparing to unpack .../01-xml-core_0.19build1_all.deb ... 164s Unpacking xml-core (0.19build1) ... 164s Selecting previously unselected package docutils-common. 164s Preparing to unpack .../02-docutils-common_0.22.4+dfsg-1_all.deb ... 164s Unpacking docutils-common (0.22.4+dfsg-1) ... 164s Selecting previously unselected package python3-cmarkgfm. 164s Preparing to unpack .../03-python3-cmarkgfm_2025.10.22-1_armhf.deb ... 164s Unpacking python3-cmarkgfm (2025.10.22-1) ... 164s Selecting previously unselected package python3-roman-numerals. 164s Preparing to unpack .../04-python3-roman-numerals_4.1.0-1_all.deb ... 164s Unpacking python3-roman-numerals (4.1.0-1) ... 164s Selecting previously unselected package python3-docutils. 164s Preparing to unpack .../05-python3-docutils_0.22.4+dfsg-1_all.deb ... 164s Unpacking python3-docutils (0.22.4+dfsg-1) ... 164s Selecting previously unselected package python3-id. 164s Preparing to unpack .../06-python3-id_1.5.0-1_all.deb ... 164s Unpacking python3-id (1.5.0-1) ... 164s Selecting previously unselected package python3-nh3. 164s Preparing to unpack .../07-python3-nh3_0.3.2-1_armhf.deb ... 164s Unpacking python3-nh3 (0.3.2-1) ... 164s Selecting previously unselected package python3-readme-renderer. 164s Preparing to unpack .../08-python3-readme-renderer_44.0-3_all.deb ... 164s Unpacking python3-readme-renderer (44.0-3) ... 164s Selecting previously unselected package python3-requests-toolbelt. 164s Preparing to unpack .../09-python3-requests-toolbelt_1.0.0-4_all.deb ... 164s Unpacking python3-requests-toolbelt (1.0.0-4) ... 164s Selecting previously unselected package python3-rfc3986. 164s Preparing to unpack .../10-python3-rfc3986_2.0.0-3build1_all.deb ... 164s Unpacking python3-rfc3986 (2.0.0-3build1) ... 164s Selecting previously unselected package twine. 164s Preparing to unpack .../11-twine_6.2.0-2_all.deb ... 164s Unpacking twine (6.2.0-2) ... 164s Setting up python3-id (1.5.0-1) ... 165s Setting up python3-requests-toolbelt (1.0.0-4) ... 165s Setting up python3-nh3 (0.3.2-1) ... 165s Setting up python3-rfc3986 (2.0.0-3build1) ... 165s Setting up python3-roman-numerals (4.1.0-1) ... 165s Setting up sgml-base (1.31+nmu1) ... 165s Setting up python3-cmarkgfm (2025.10.22-1) ... 166s Setting up xml-core (0.19build1) ... 166s Processing triggers for man-db (2.13.1-1) ... 167s Processing triggers for sgml-base (1.31+nmu1) ... 167s Setting up docutils-common (0.22.4+dfsg-1) ... 167s Processing triggers for sgml-base (1.31+nmu1) ... 167s Setting up python3-docutils (0.22.4+dfsg-1) ... 168s Setting up python3-readme-renderer (44.0-3) ... 168s Setting up twine (6.2.0-2) ... 177s autopkgtest [22:03:14]: test command1: twine --help 177s autopkgtest [22:03:14]: test command1: [----------------------- 180s usage: twine [-h] [--version] [--no-color] {check,register,upload} 180s 180s positional arguments: 180s {check,register,upload} 180s 180s options: 180s -h, --help show this help message and exit 180s --version show program's version number and exit 180s --no-color disable colored output 180s autopkgtest [22:03:17]: test command1: -----------------------] 184s autopkgtest [22:03:21]: test command1: - - - - - - - - - - results - - - - - - - - - - 184s command1 PASS (superficial) 188s autopkgtest [22:03:25]: test command2: preparing testbed 190s Reading package lists... 191s Building dependency tree... 191s Reading state information... 191s Solving dependencies... 192s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 201s autopkgtest [22:03:38]: test command2: twine --version 201s autopkgtest [22:03:38]: test command2: [----------------------- 203s twine version 6.2.0 (keyring: NOT INSTALLED, packaging: 25.0, requests: 203s 2.32.5, requests-toolbelt: 1.0.0, urllib3: 2.5.0, id: 1.5.0) 204s autopkgtest [22:03:41]: test command2: -----------------------] 208s autopkgtest [22:03:45]: test command2: - - - - - - - - - - results - - - - - - - - - - 208s command2 PASS (superficial) 211s autopkgtest [22:03:48]: test unittests: preparing testbed 213s Reading package lists... 214s Building dependency tree... 214s Reading state information... 214s Solving dependencies... 215s The following NEW packages will be installed: 215s python3-build python3-iniconfig python3-jaraco.classes python3-jeepney 215s python3-keyring python3-munch python3-pluggy python3-portend python3-pretend 215s python3-pyproject-hooks python3-pytest python3-pytest-socket 215s python3-secretstorage python3-tempora python3-wheel 216s 0 upgraded, 15 newly installed, 0 to remove and 0 not upgraded. 216s Need to get 513 kB of archives. 216s After this operation, 2455 kB of additional disk space will be used. 216s Get:1 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 216s Get:2 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-wheel all 0.46.1-2 [22.1 kB] 216s Get:3 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-build all 1.2.2-5 [30.9 kB] 216s Get:4 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-iniconfig all 2.1.0-2 [6962 B] 216s Get:5 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-jaraco.classes all 3.4.0-1build1 [7806 B] 216s Get:6 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-jeepney all 0.9.0-2 [33.5 kB] 216s Get:7 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-secretstorage all 3.5.0-1 [14.2 kB] 216s Get:8 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-keyring all 25.7.0-1 [41.3 kB] 216s Get:9 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pluggy all 1.6.0-2 [21.1 kB] 216s Get:10 http://ftpmaster.internal/ubuntu resolute/main armhf python3-tempora all 5.7.0-2build1 [14.9 kB] 216s Get:11 http://ftpmaster.internal/ubuntu resolute/main armhf python3-portend all 3.2.0-1build1 [7662 B] 216s Get:12 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pretend all 1.0.9-5 [6936 B] 216s Get:13 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pytest all 9.0.2-2 [277 kB] 216s Get:14 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pytest-socket all 0.7.0-2 [7402 B] 216s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf python3-munch all 4.0.0-2build1 [11.1 kB] 217s Fetched 513 kB in 1s (903 kB/s) 217s Selecting previously unselected package python3-pyproject-hooks. 217s (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 ... 69012 files and directories currently installed.) 217s Preparing to unpack .../00-python3-pyproject-hooks_1.2.0-1_all.deb ... 217s Unpacking python3-pyproject-hooks (1.2.0-1) ... 217s Selecting previously unselected package python3-wheel. 217s Preparing to unpack .../01-python3-wheel_0.46.1-2_all.deb ... 217s Unpacking python3-wheel (0.46.1-2) ... 217s Selecting previously unselected package python3-build. 217s Preparing to unpack .../02-python3-build_1.2.2-5_all.deb ... 217s Unpacking python3-build (1.2.2-5) ... 217s Selecting previously unselected package python3-iniconfig. 217s Preparing to unpack .../03-python3-iniconfig_2.1.0-2_all.deb ... 217s Unpacking python3-iniconfig (2.1.0-2) ... 217s Selecting previously unselected package python3-jaraco.classes. 217s Preparing to unpack .../04-python3-jaraco.classes_3.4.0-1build1_all.deb ... 217s Unpacking python3-jaraco.classes (3.4.0-1build1) ... 217s Selecting previously unselected package python3-jeepney. 217s Preparing to unpack .../05-python3-jeepney_0.9.0-2_all.deb ... 217s Unpacking python3-jeepney (0.9.0-2) ... 217s Selecting previously unselected package python3-secretstorage. 217s Preparing to unpack .../06-python3-secretstorage_3.5.0-1_all.deb ... 217s Unpacking python3-secretstorage (3.5.0-1) ... 217s Selecting previously unselected package python3-keyring. 217s Preparing to unpack .../07-python3-keyring_25.7.0-1_all.deb ... 217s Unpacking python3-keyring (25.7.0-1) ... 217s Selecting previously unselected package python3-pluggy. 217s Preparing to unpack .../08-python3-pluggy_1.6.0-2_all.deb ... 217s Unpacking python3-pluggy (1.6.0-2) ... 217s Selecting previously unselected package python3-tempora. 217s Preparing to unpack .../09-python3-tempora_5.7.0-2build1_all.deb ... 217s Unpacking python3-tempora (5.7.0-2build1) ... 218s Selecting previously unselected package python3-portend. 218s Preparing to unpack .../10-python3-portend_3.2.0-1build1_all.deb ... 218s Unpacking python3-portend (3.2.0-1build1) ... 218s Selecting previously unselected package python3-pretend. 218s Preparing to unpack .../11-python3-pretend_1.0.9-5_all.deb ... 218s Unpacking python3-pretend (1.0.9-5) ... 218s Selecting previously unselected package python3-pytest. 218s Preparing to unpack .../12-python3-pytest_9.0.2-2_all.deb ... 218s Unpacking python3-pytest (9.0.2-2) ... 218s Selecting previously unselected package python3-pytest-socket. 218s Preparing to unpack .../13-python3-pytest-socket_0.7.0-2_all.deb ... 218s Unpacking python3-pytest-socket (0.7.0-2) ... 218s Selecting previously unselected package python3-munch. 218s Preparing to unpack .../14-python3-munch_4.0.0-2build1_all.deb ... 218s Unpacking python3-munch (4.0.0-2build1) ... 218s Setting up python3-iniconfig (2.1.0-2) ... 218s Setting up python3-jaraco.classes (3.4.0-1build1) ... 218s Setting up python3-wheel (0.46.1-2) ... 219s Setting up python3-munch (4.0.0-2build1) ... 219s Setting up python3-pretend (1.0.9-5) ... 219s Setting up python3-pyproject-hooks (1.2.0-1) ... 219s Setting up python3-jeepney (0.9.0-2) ... 219s Setting up python3-pluggy (1.6.0-2) ... 220s Setting up python3-tempora (5.7.0-2build1) ... 220s Setting up python3-build (1.2.2-5) ... 220s Setting up python3-pytest (9.0.2-2) ... 221s Setting up python3-portend (3.2.0-1build1) ... 221s Setting up python3-secretstorage (3.5.0-1) ... 221s Setting up python3-keyring (25.7.0-1) ... 222s Setting up python3-pytest-socket (0.7.0-2) ... 222s Processing triggers for man-db (2.13.1-1) ... 230s autopkgtest [22:04:07]: test unittests: [----------------------- 234s ============================= test session starts ============================== 234s platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 234s rootdir: /tmp/autopkgtest.BzsRiK/autopkgtest_tmp 234s plugins: typeguard-4.4.4, socket-0.7.0 234s collected 229 items 234s 234s tests/test_auth.py ............................ [ 12%] 234s tests/test_check.py ............. [ 17%] 234s tests/test_cli.py .. [ 18%] 234s tests/test_commands.py ...... [ 21%] 234s tests/test_main.py ... [ 22%] 234s tests/test_package.py ..................................... [ 38%] 234s tests/test_register.py ...... [ 41%] 234s tests/test_repository.py ......................... [ 52%] 235s tests/test_sdist.py ................. [ 59%] 235s tests/test_settings.py ................. [ 67%] 235s tests/test_upload.py ..........................sss. [ 80%] 235s tests/test_utils.py ...................................... [ 96%] 235s tests/test_wheel.py ....... [100%] 235s 235s ======================== 226 passed, 3 skipped in 1.74s ======================== 236s autopkgtest [22:04:13]: test unittests: -----------------------] 240s autopkgtest [22:04:17]: test unittests: - - - - - - - - - - results - - - - - - - - - - 240s unittests PASS 245s autopkgtest [22:04:22]: @@@@@@@@@@@@@@@@@@@@ summary 245s command1 PASS (superficial) 245s command2 PASS (superficial) 245s unittests PASS