0s autopkgtest [13:06:30]: starting date and time: 2025-03-22 13:06:30+0000 0s autopkgtest [13:06:30]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [13:06:30]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.2xw__6l9/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,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,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:pass-audit --apt-upgrade pass-audit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=pass-audit/1.2-1.2 -- lxd -r lxd-armhf-10.145.243.242 lxd-armhf-10.145.243.242:autopkgtest/ubuntu/plucky/armhf 20s autopkgtest [13:06:50]: testbed dpkg architecture: armhf 22s autopkgtest [13:06:52]: testbed apt version: 2.9.34 26s autopkgtest [13:06:56]: @@@@@@@@@@@@@@@@@@@@ test bed setup 28s autopkgtest [13:06:58]: testbed release detected to be: None 36s autopkgtest [13:07:06]: updating testbed package index (apt update) 38s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 38s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [265 kB] 38s Get:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease [126 kB] 39s Get:4 http://ftpmaster.internal/ubuntu plucky-security InRelease [126 kB] 39s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [11.5 kB] 39s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [288 kB] 39s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [1232 B] 39s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [29.9 kB] 39s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [38.6 kB] 40s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [1264 B] 40s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 40s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [177 kB] 40s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [6520 B] 40s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [1712 B] 40s Get:15 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [284 B] 40s Get:16 http://ftpmaster.internal/ubuntu plucky/multiverse Sources [297 kB] 40s Get:17 http://ftpmaster.internal/ubuntu plucky/main Sources [1388 kB] 42s Get:18 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.0 MB] 74s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf Packages [1350 kB] 76s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf c-n-f Metadata [29.3 kB] 76s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.4 MB] 99s Get:22 http://ftpmaster.internal/ubuntu plucky/universe armhf c-n-f Metadata [277 kB] 99s Get:23 http://ftpmaster.internal/ubuntu plucky/multiverse armhf Packages [172 kB] 101s Fetched 41.1 MB in 1min 3s (657 kB/s) 102s Reading package lists... 108s autopkgtest [13:08:18]: upgrading testbed (apt dist-upgrade and autopurge) 110s Reading package lists... 110s Building dependency tree... 110s Reading state information... 111s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 111s Starting 2 pkgProblemResolver with broken count: 0 111s Done 112s Entering ResolveByKeep 112s 112s Calculating upgrade... 113s The following packages will be upgraded: 113s python3-dateutil 113s 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 113s Need to get 80.3 kB of archives. 113s After this operation, 0 B of additional disk space will be used. 113s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-4 [80.3 kB] 114s Fetched 80.3 kB in 0s (219 kB/s) 114s (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 ... 63958 files and directories currently installed.) 114s Preparing to unpack .../python3-dateutil_2.9.0-4_all.deb ... 114s Unpacking python3-dateutil (2.9.0-4) over (2.9.0-3) ... 114s Setting up python3-dateutil (2.9.0-4) ... 116s Reading package lists... 116s Building dependency tree... 116s Reading state information... 116s Starting pkgProblemResolver with broken count: 0 117s Starting 2 pkgProblemResolver with broken count: 0 117s Done 117s Solving dependencies... 118s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 120s autopkgtest [13:08:30]: rebooting testbed after setup commands that affected boot 161s autopkgtest [13:09:11]: testbed running kernel: Linux 6.8.0-52-generic #53~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jan 15 18:10:51 UTC 2 195s autopkgtest [13:09:45]: @@@@@@@@@@@@@@@@@@@@ apt-source pass-audit 207s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/universe pass-audit 1.2-1.2 (dsc) [2160 B] 207s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe pass-audit 1.2-1.2 (tar) [56.6 kB] 207s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe pass-audit 1.2-1.2 (asc) [963 B] 207s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe pass-audit 1.2-1.2 (diff) [4328 B] 207s gpgv: Signature made Sun Sep 8 17:32:35 2024 UTC 207s gpgv: using RSA key 406220C8B8552802378CCE411F5C7A8B45564314 207s gpgv: issuer "bage@debian.org" 207s gpgv: Can't check signature: No public key 207s dpkg-source: warning: cannot verify inline signature for ./pass-audit_1.2-1.2.dsc: no acceptable signature found 207s autopkgtest [13:09:57]: testing package pass-audit version 1.2-1.2 209s autopkgtest [13:09:59]: build not needed 211s autopkgtest [13:10:01]: test unittests: preparing testbed 213s Reading package lists... 213s Building dependency tree... 213s Reading state information... 214s Starting pkgProblemResolver with broken count: 0 214s Starting 2 pkgProblemResolver with broken count: 0 214s Done 215s The following NEW packages will be installed: 215s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 215s libjs-jquery-metadata libjs-jquery-tablesorter 215s libjs-jquery-throttle-debounce pass pass-extension-audit python3-all 215s python3-coverage python3-iniconfig python3-pluggy python3-pytest 215s python3-pytest-cov python3-python-zxcvbn-rs-py tree 215s 0 upgraded, 16 newly installed, 0 to remove and 0 not upgraded. 215s Need to get 2167 kB of archives. 215s After this operation, 7732 kB of additional disk space will be used. 215s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 215s Get:2 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-metadata all 12-4 [6582 B] 215s Get:3 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 215s Get:4 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 215s Get:5 http://ftpmaster.internal/ubuntu plucky/universe armhf tree armhf 2.1.1-2ubuntu3 [43.8 kB] 215s Get:6 http://ftpmaster.internal/ubuntu plucky/universe armhf pass all 1.7.4-7 [34.7 kB] 215s Get:7 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-python-zxcvbn-rs-py armhf 0.2.0-1build1 [1064 kB] 216s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf pass-extension-audit all 1.2-1.2 [15.8 kB] 216s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf python3-all armhf 3.13.2-2 [886 B] 216s Get:10 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-coverage armhf 7.6.0+dfsg1-2build1 [152 kB] 216s Get:11 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-iniconfig all 1.1.1-2 [6024 B] 216s Get:12 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pluggy all 1.5.0-1 [21.0 kB] 216s Get:13 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest all 8.3.5-1 [252 kB] 216s Get:14 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-hotkeys all 0.2.0-1 [13.3 kB] 216s Get:15 http://ftpmaster.internal/ubuntu plucky/universe armhf libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 216s Get:16 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest-cov all 5.0.0-1 [21.3 kB] 216s Fetched 2167 kB in 1s (2713 kB/s) 216s Selecting previously unselected package libjs-jquery. 216s (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 ... 63958 files and directories currently installed.) 216s Preparing to unpack .../00-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 216s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 216s Selecting previously unselected package libjs-jquery-metadata. 216s Preparing to unpack .../01-libjs-jquery-metadata_12-4_all.deb ... 216s Unpacking libjs-jquery-metadata (12-4) ... 216s Selecting previously unselected package libjs-jquery-tablesorter. 216s Preparing to unpack .../02-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 216s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 216s Selecting previously unselected package libjs-jquery-throttle-debounce. 216s Preparing to unpack .../03-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 216s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 216s Selecting previously unselected package tree. 216s Preparing to unpack .../04-tree_2.1.1-2ubuntu3_armhf.deb ... 216s Unpacking tree (2.1.1-2ubuntu3) ... 216s Selecting previously unselected package pass. 216s Preparing to unpack .../05-pass_1.7.4-7_all.deb ... 216s Unpacking pass (1.7.4-7) ... 216s Selecting previously unselected package python3-python-zxcvbn-rs-py. 216s Preparing to unpack .../06-python3-python-zxcvbn-rs-py_0.2.0-1build1_armhf.deb ... 216s Unpacking python3-python-zxcvbn-rs-py (0.2.0-1build1) ... 216s Selecting previously unselected package pass-extension-audit. 216s Preparing to unpack .../07-pass-extension-audit_1.2-1.2_all.deb ... 216s Unpacking pass-extension-audit (1.2-1.2) ... 216s Selecting previously unselected package python3-all. 216s Preparing to unpack .../08-python3-all_3.13.2-2_armhf.deb ... 216s Unpacking python3-all (3.13.2-2) ... 216s Selecting previously unselected package python3-coverage. 216s Preparing to unpack .../09-python3-coverage_7.6.0+dfsg1-2build1_armhf.deb ... 216s Unpacking python3-coverage (7.6.0+dfsg1-2build1) ... 216s Selecting previously unselected package python3-iniconfig. 216s Preparing to unpack .../10-python3-iniconfig_1.1.1-2_all.deb ... 216s Unpacking python3-iniconfig (1.1.1-2) ... 216s Selecting previously unselected package python3-pluggy. 216s Preparing to unpack .../11-python3-pluggy_1.5.0-1_all.deb ... 216s Unpacking python3-pluggy (1.5.0-1) ... 217s Selecting previously unselected package python3-pytest. 217s Preparing to unpack .../12-python3-pytest_8.3.5-1_all.deb ... 217s Unpacking python3-pytest (8.3.5-1) ... 217s Selecting previously unselected package libjs-jquery-hotkeys. 217s Preparing to unpack .../13-libjs-jquery-hotkeys_0.2.0-1_all.deb ... 217s Unpacking libjs-jquery-hotkeys (0.2.0-1) ... 217s Selecting previously unselected package libjs-jquery-isonscreen. 217s Preparing to unpack .../14-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 217s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 217s Selecting previously unselected package python3-pytest-cov. 217s Preparing to unpack .../15-python3-pytest-cov_5.0.0-1_all.deb ... 217s Unpacking python3-pytest-cov (5.0.0-1) ... 217s Setting up python3-iniconfig (1.1.1-2) ... 217s Setting up python3-all (3.13.2-2) ... 217s Setting up python3-coverage (7.6.0+dfsg1-2build1) ... 217s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 217s Setting up tree (2.1.1-2ubuntu3) ... 217s Setting up pass (1.7.4-7) ... 217s Setting up python3-pluggy (1.5.0-1) ... 217s Setting up python3-python-zxcvbn-rs-py (0.2.0-1build1) ... 217s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 217s Setting up libjs-jquery-hotkeys (0.2.0-1) ... 217s Setting up python3-pytest (8.3.5-1) ... 218s Setting up pass-extension-audit (1.2-1.2) ... 218s Setting up libjs-jquery-metadata (12-4) ... 218s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 218s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 218s Setting up python3-pytest-cov (5.0.0-1) ... 218s Processing triggers for man-db (2.13.0-1) ... 228s autopkgtest [13:10:18]: test unittests: [----------------------- 231s ============================= test session starts ============================== 232s platform linux -- Python 3.13.2, pytest-8.3.5, pluggy-1.5.0 232s rootdir: /tmp/autopkgtest.SFyb6r/autopkgtest_tmp 232s plugins: typeguard-4.4.2, cov-5.0.0 232s collected 42 items 232s 232s tests/test_audit.py .....FF [ 16%] 235s tests/test_main.py .....FFFFF.. [ 45%] 235s tests/test_msg.py ........ [ 64%] 235s tests/test_pass.py .............. [ 97%] 235s tests/test_pwned.py . [100%] 235s 235s =================================== FAILURES =================================== 235s _______________________ TestPassAudit.test_zxcvbn_strong _______________________ 235s 235s self = 235s 235s def test_zxcvbn_strong(self): 235s """Testing: pass audit for strong password with zxcvbn.""" 235s data = tests.getdata('Password/good') 235s audit = pass_audit.audit.PassAudit(data, True) 235s > weak = audit.zxcvbn() 235s 235s tests/test_audit.py:51: 235s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 235s 235s self = 235s 235s def zxcvbn(self): 235s """Password strength estimaton usuing Dropbox' zxcvbn.""" 235s if not ZXCVBN: 235s raise ImportError(name='zxcvbn') 235s 235s weak = [] 235s for path, entry in self.data.items(): 235s if self.verbose: 235s print(f"Checking {path}") 235s if entry.get('password', '') == '': 235s continue 235s password = entry['password'] 235s user_input = list(entry.values()) + path.split(os.sep) 235s if password in user_input: 235s user_input.remove(password) 235s results = zxcvbn(password, user_inputs=user_input) 235s > if results['score'] <= 2: 235s E TypeError: 'zxcvbn_rs_py.Entropy' object is not subscriptable 235s 235s /usr/lib/python3/dist-packages/pass_audit/audit.py:90: TypeError 235s ----------------------------- Captured stdout call ----------------------------- 235s Checking Password/good/1 235s ________________________ TestPassAudit.test_zxcvbn_weak ________________________ 235s 235s self = 235s 235s def test_zxcvbn_weak(self): 235s """Testing: pass audit for weak password with zxcvbn.""" 235s data = tests.getdata('Password/pwned/1') 235s audit = pass_audit.audit.PassAudit(data, True) 235s > weak = audit.zxcvbn() 235s 235s tests/test_audit.py:43: 235s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 235s 235s self = 235s 235s def zxcvbn(self): 235s """Password strength estimaton usuing Dropbox' zxcvbn.""" 235s if not ZXCVBN: 235s raise ImportError(name='zxcvbn') 235s 235s weak = [] 235s for path, entry in self.data.items(): 235s if self.verbose: 235s print(f"Checking {path}") 235s if entry.get('password', '') == '': 235s continue 235s password = entry['password'] 235s user_input = list(entry.values()) + path.split(os.sep) 235s if password in user_input: 235s user_input.remove(password) 235s results = zxcvbn(password, user_inputs=user_input) 235s > if results['score'] <= 2: 235s E TypeError: 'zxcvbn_rs_py.Entropy' object is not subscriptable 235s 235s /usr/lib/python3/dist-packages/pass_audit/audit.py:90: TypeError 235s ----------------------------- Captured stdout call ----------------------------- 235s Checking Password/pwned/1 235s _______________________ TestMain.test_main_passwords_all _______________________ 235s 235s self = 235s 235s @mock.patch('requests.get', tests.mock_request) 235s def test_main_passwords_all(self): 235s """Testing: pass audit .""" 235s cmd = [''] 235s > self.main(cmd) 235s 235s tests/test_main.py:104: 235s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 235s tests/__init__.py:129: in main 235s pass_audit.__main__.main() 235s /usr/lib/python3/dist-packages/pass_audit/__main__.py:130: in main 235s weak = audit.zxcvbn() 235s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 235s 235s self = 235s 235s def zxcvbn(self): 235s """Password strength estimaton usuing Dropbox' zxcvbn.""" 235s if not ZXCVBN: 235s raise ImportError(name='zxcvbn') 235s 235s weak = [] 235s for path, entry in self.data.items(): 235s if self.verbose: 235s print(f"Checking {path}") 235s if entry.get('password', '') == '': 235s continue 235s password = entry['password'] 235s user_input = list(entry.values()) + path.split(os.sep) 235s if password in user_input: 235s user_input.remove(password) 235s results = zxcvbn(password, user_inputs=user_input) 235s > if results['score'] <= 2: 235s E TypeError: 'zxcvbn_rs_py.Entropy' object is not subscriptable 235s 235s /usr/lib/python3/dist-packages/pass_audit/audit.py:90: TypeError 235s ----------------------------- Captured stdout call ----------------------------- 235s  . Auditing whole store - this may take some time 235s  w Imposible to read dummy from the password store: gpg: WARNING: unsafe permissions on homedir '/tmp/autopkgtest.SFyb6r/autopkgtest_tmp/tests/assets/gnupg' 235s gpg: decrypt_message failed: Unknown system error 235s  235s  w Password breached: P@ssw0rd from Password/pwned/1 has been breached 52579 time(s). 235s  w Password breached: correct horse battery staple from Password/pwned/2 has been breached 3 time(s). 235s  w Password breached: correcthorsebatterystaple from Password/pwned/3 has been breached 120 time(s). 235s  w Password breached: ILoveYou from Password/pwned/4 has been breached 1386 time(s). 235s  w Password breached: password from Password/pwned/5 has been breached 3730471 time(s). 235s  w Password breached: a from Password/pwned/6 has been breached 123422 time(s). 235s  w Password breached: iamagenius from Password/pwned/7 has been breached 411 time(s). 235s ____________________ TestMain.test_main_passwords_duplicate ____________________ 235s 235s self = 235s 235s @mock.patch('requests.get', tests.mock_request) 235s def test_main_passwords_duplicate(self): 235s """Testing: pass audit for duplicates.""" 235s shutil.copy(os.path.join(self.store.prefix, 'Password/good/1.gpg'), 235s os.path.join(self.store.prefix, 'Password/good/10.gpg')) 235s cmd = ['Password/good'] 235s > self.main(cmd) 235s 235s tests/test_main.py:91: 235s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 235s tests/__init__.py:129: in main 235s pass_audit.__main__.main() 235s /usr/lib/python3/dist-packages/pass_audit/__main__.py:130: in main 235s weak = audit.zxcvbn() 235s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 235s 235s self = 235s 235s def zxcvbn(self): 235s """Password strength estimaton usuing Dropbox' zxcvbn.""" 235s if not ZXCVBN: 235s raise ImportError(name='zxcvbn') 235s 235s weak = [] 235s for path, entry in self.data.items(): 235s if self.verbose: 235s print(f"Checking {path}") 235s if entry.get('password', '') == '': 235s continue 235s password = entry['password'] 235s user_input = list(entry.values()) + path.split(os.sep) 235s if password in user_input: 235s user_input.remove(password) 235s results = zxcvbn(password, user_inputs=user_input) 235s > if results['score'] <= 2: 235s E TypeError: 'zxcvbn_rs_py.Entropy' object is not subscriptable 235s 235s /usr/lib/python3/dist-packages/pass_audit/audit.py:90: TypeError 235s ______________________ TestMain.test_main_passwords_good _______________________ 235s 235s self = 235s 235s @mock.patch('requests.get', tests.mock_request) 235s def test_main_passwords_good(self): 235s """Testing: pass audit Password/good.""" 235s cmd = ['Password/good'] 235s > self.main(cmd) 235s 235s tests/test_main.py:98: 235s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 235s tests/__init__.py:129: in main 235s pass_audit.__main__.main() 235s /usr/lib/python3/dist-packages/pass_audit/__main__.py:130: in main 235s weak = audit.zxcvbn() 235s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 235s 235s self = 235s 235s def zxcvbn(self): 235s """Password strength estimaton usuing Dropbox' zxcvbn.""" 235s if not ZXCVBN: 235s raise ImportError(name='zxcvbn') 235s 235s weak = [] 235s for path, entry in self.data.items(): 235s if self.verbose: 235s print(f"Checking {path}") 235s if entry.get('password', '') == '': 235s continue 235s password = entry['password'] 235s user_input = list(entry.values()) + path.split(os.sep) 235s if password in user_input: 235s user_input.remove(password) 235s results = zxcvbn(password, user_inputs=user_input) 235s > if results['score'] <= 2: 235s E TypeError: 'zxcvbn_rs_py.Entropy' object is not subscriptable 235s 235s /usr/lib/python3/dist-packages/pass_audit/audit.py:90: TypeError 235s ____________________ TestMain.test_main_passwords_notpwned _____________________ 235s 235s self = 235s 235s @mock.patch('requests.get', tests.mock_request) 235s def test_main_passwords_notpwned(self): 235s """Testing: pass audit Password/notpwned.""" 235s cmd = ['Password/notpwned'] 235s > self.main(cmd) 235s 235s tests/test_main.py:77: 235s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 235s tests/__init__.py:129: in main 235s pass_audit.__main__.main() 235s /usr/lib/python3/dist-packages/pass_audit/__main__.py:130: in main 235s weak = audit.zxcvbn() 235s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 235s 235s self = 235s 235s def zxcvbn(self): 235s """Password strength estimaton usuing Dropbox' zxcvbn.""" 235s if not ZXCVBN: 235s raise ImportError(name='zxcvbn') 235s 235s weak = [] 235s for path, entry in self.data.items(): 235s if self.verbose: 235s print(f"Checking {path}") 235s if entry.get('password', '') == '': 235s continue 235s password = entry['password'] 235s user_input = list(entry.values()) + path.split(os.sep) 235s if password in user_input: 235s user_input.remove(password) 235s results = zxcvbn(password, user_inputs=user_input) 235s > if results['score'] <= 2: 235s E TypeError: 'zxcvbn_rs_py.Entropy' object is not subscriptable 235s 235s /usr/lib/python3/dist-packages/pass_audit/audit.py:90: TypeError 235s ______________________ TestMain.test_main_passwords_pwned ______________________ 235s 235s self = 235s 235s @mock.patch('requests.get', tests.mock_request) 235s def test_main_passwords_pwned(self): 235s """Testing: pass audit Password/pwned.""" 235s cmd = ['Password/pwned'] 235s > self.main(cmd) 235s 235s tests/test_main.py:83: 235s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 235s tests/__init__.py:129: in main 235s pass_audit.__main__.main() 235s /usr/lib/python3/dist-packages/pass_audit/__main__.py:130: in main 235s weak = audit.zxcvbn() 235s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 235s 235s self = 235s 235s def zxcvbn(self): 235s """Password strength estimaton usuing Dropbox' zxcvbn.""" 235s if not ZXCVBN: 235s raise ImportError(name='zxcvbn') 235s 235s weak = [] 235s for path, entry in self.data.items(): 235s if self.verbose: 235s print(f"Checking {path}") 235s if entry.get('password', '') == '': 235s continue 235s password = entry['password'] 235s user_input = list(entry.values()) + path.split(os.sep) 235s if password in user_input: 235s user_input.remove(password) 235s results = zxcvbn(password, user_inputs=user_input) 235s > if results['score'] <= 2: 235s E TypeError: 'zxcvbn_rs_py.Entropy' object is not subscriptable 235s 235s /usr/lib/python3/dist-packages/pass_audit/audit.py:90: TypeError 235s ----------------------------- Captured stdout call ----------------------------- 235s  w Password breached: P@ssw0rd from Password/pwned/1 has been breached 52579 time(s). 235s  w Password breached: correct horse battery staple from Password/pwned/2 has been breached 3 time(s). 235s  w Password breached: correcthorsebatterystaple from Password/pwned/3 has been breached 120 time(s). 235s  w Password breached: ILoveYou from Password/pwned/4 has been breached 1386 time(s). 235s  w Password breached: password from Password/pwned/5 has been breached 3730471 time(s). 235s  w Password breached: a from Password/pwned/6 has been breached 123422 time(s). 235s  w Password breached: iamagenius from Password/pwned/7 has been breached 411 time(s). 235s 235s ---------- coverage: platform linux, python 3.13.2-final-0 ----------- 235s Name Stmts Miss Branch BrPart Cover Missing 235s -------------------------------------------------------------------------------------------------------- 235s /usr/lib/python3/dist-packages/pass_audit/__init__.py 9 0 0 0 100% 235s /usr/lib/python3/dist-packages/pass_audit/__main__.py 81 19 24 1 73% 108-112, 132-150, 154-155 235s /usr/lib/python3/dist-packages/pass_audit/audit.py 80 4 36 4 93% 13-14, 77, 87->89, 90->80, 91 235s /usr/lib/python3/dist-packages/pass_audit/msg.py 41 0 12 3 94% 38->exit, 49->exit, 55->exit 235s /usr/lib/python3/dist-packages/pass_audit/passwordstore.py 114 4 52 5 95% 59, 107-108, 111->118, 124->118, 155, 166->164 235s -------------------------------------------------------------------------------------------------------- 235s TOTAL 325 27 124 13 89% 235s 235s FAIL Required test coverage of 94% not reached. Total coverage: 89.31% 235s =========================== short test summary info ============================ 235s FAILED tests/test_audit.py::TestPassAudit::test_zxcvbn_strong - TypeError: 'z... 235s FAILED tests/test_audit.py::TestPassAudit::test_zxcvbn_weak - TypeError: 'zxc... 235s FAILED tests/test_main.py::TestMain::test_main_passwords_all - TypeError: 'zx... 235s FAILED tests/test_main.py::TestMain::test_main_passwords_duplicate - TypeErro... 235s FAILED tests/test_main.py::TestMain::test_main_passwords_good - TypeError: 'z... 235s FAILED tests/test_main.py::TestMain::test_main_passwords_notpwned - TypeError... 235s FAILED tests/test_main.py::TestMain::test_main_passwords_pwned - TypeError: '... 235s ========================= 7 failed, 35 passed in 4.82s ========================= 236s autopkgtest [13:10:26]: test unittests: -----------------------] 240s unittests FAIL non-zero exit status 1 240s autopkgtest [13:10:30]: test unittests: - - - - - - - - - - results - - - - - - - - - - 243s autopkgtest [13:10:33]: @@@@@@@@@@@@@@@@@@@@ summary 243s unittests FAIL non-zero exit status 1