I spent a little bit of time on this today. Here are my findings so far. First, awscli v2 depends on a python-botocore v2, which isn't yet officially released upstream. It does seem reasonable to package it, but the blast radius is large enough that it's important to be careful to avoid regressions.
Second, after updating python-botocore, there are still a few failing tests that need investigation: ====================================================================== FAIL: test_with_year (tests.unit.customizations.codeartifact.test_adapter_login.TestRelativeExpirationTime) ---------------------------------------------------------------------- Traceback (most recent call last): File "/src/aws-cli/.pybuild/cpython3_3.8/build/tests/unit/customizations/codeartifact/test_adapter_login.py", line 454, in test_with_year self.assertEqual(message, '11 months and 30 days') AssertionError: '11 months and 31 days' != '11 months and 30 days' - 11 months and 31 days ? ^ + 11 months and 30 days ? ^ ====================================================================== FAIL: test_can_set_default_yes_no_value (tests.unit.customizations.wizard.test_core.TestPlanner) ---------------------------------------------------------------------- Traceback (most recent call last): File "/src/aws-cli/.pybuild/cpython3_3.8/build/tests/unit/customizations/wizard/test_core.py", line 436, in test_can_set_default_yes_no_value self.assertEqual( AssertionError: Lists differ: [{'display': 'Yes', 'actual_value': 'yes'}, {'display':[24 chars]no'}] != [{'display': 'No', 'actual_value': 'no'}, {'display': '[24 chars]es'}] First differing element 0: {'display': 'Yes', 'actual_value': 'yes'} {'display': 'No', 'actual_value': 'no'} + [{'actual_value': 'no', 'display': 'No'}, - [{'actual_value': 'yes', 'display': 'Yes'}, ? ^ ^ + {'actual_value': 'yes', 'display': 'Yes'}] ? ^ ^ - {'actual_value': 'no', 'display': 'No'}] ====================================================================== FAIL: test_getpreferredencoding_with_env_var (tests.unit.test_compat.TestGetPreferredEncoding) ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python3/dist-packages/mock/mock.py", line 1800, in _inner return f(*args, **kw) File "/src/aws-cli/.pybuild/cpython3_3.8/build/tests/unit/test_compat.py", line 149, in test_getpreferredencoding_with_env_var self.assertEqual(encoding, 'cp1252') AssertionError: 'UTF-8' != 'cp1252' - UTF-8 + cp1252 ---------------------------------------------------------------------- Ran 40615 tests in 1623.119s FAILED (SKIP=3, errors=260, failures=6) E: pybuild pybuild:352: test: plugin distutils failed with: exit code=1: cd /src/aws-cli/.pybuild/cpython3_3.8/build; python3.8 -m nose -v tests dh_auto_test: error: pybuild --test --test-nose -i python{version} -p 3.8 returned exit code 13 make: *** [debian/rules:8: build] Error 13