Repository: mtreinish/stestr (language: python)

Issue:
Stestr does not work with python-subunit 1.4.3 and testtools 2.6.0
**Issue description**
Testtools 2.6.0 dropped 'extras' dependency https://github.com/testing-cabal/testtools/commit/5d3b595e0dc23019d28d8b27e9039ac65278fc93.
At the same time, stestr is importing from extras w/o declaring it as a dependency https://github.com/mtreinish/stestr/blob/0f9a6deafebe4caf967375bc1456afa7041f3653/stestr/testlist.py#L17 which is now broken.

**Steps to reproduce the problem**
Install stestr in a clean virtualenv
```
❯ pip install stestr
...
Successfully installed PrettyTable-3.9.0 PyYAML-6.0.1 attrs-23.1.0 autopage-0.5.1 cliff-4.3.0 cmd2-2.4.3 fixtures-4.1.0 future-0.18.3 importlib-metadata-6.8.0 iso8601-2.0.0 pbr-5.11.1 pyperclip-1.8.2 python-subunit-1.4.3 stestr-4.0.1 stevedore-5.1.0 testtools-2.6.0 voluptuous-0.13.1 wcwidth-0.2.6 zipp-3.16.2

❯ python -c 'from stestr import commands'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/ubuntu/.virtualenvs/sandbox/lib/python3.10/site-packages/stestr/commands/__init__.py", line 19, in <module>
    from stestr.commands.list import list_command
  File "/home/ubuntu/.virtualenvs/sandbox/lib/python3.10/site-packages/stestr/commands/list.py", line 21, in <module>
    from stestr import config_file
  File "/home/ubuntu/.virtualenvs/sandbox/lib/python3.10/site-packages/stestr/config_file.py", line 20, in <module>
    from stestr import test_processor
  File "/home/ubuntu/.virtualenvs/sandbox/lib/python3.10/site-packages/stestr/test_processor.py", line 27, in <module>
    from stestr import testlist
  File "/home/ubuntu/.virtualenvs/sandbox/lib/python3.10/site-packages/stestr/testlist.py", line 17, in <module>
    from extras import try_import
ModuleNotFoundError: No module named 'extras'
```
**Specifications like the version of the project, operating system, or hardware**

**System information**
 - OS: Ubuntu 22.04
 - stestr version (`stestr --version`): 4.0.1
 - Python release (`python --version`): 3.10.12
 - pip packages (`pip freeze`): appdirs==1.4.4
attrs==23.1.0
autopage==0.5.1
cliff==4.3.0
cmd2==2.4.3
fixtures==4.1.0
future==0.18.3
importlib-metadata==6.8.0
iso8601==2.0.0
packaging==21.3
pbr==5.11.1
prettytable==3.9.0
pyparsing==3.0.9
pyperclip==1.8.2
python-subunit==1.4.3
PyYAML==6.0.1
six==1.16.0
stestr==4.0.1
stevedore==5.1.0
testtools==2.6.0
voluptuous==0.13.1
wcwidth==0.2.6
zipp==3.16.2

**Additional information**



Discussion / hints:

Fix patch:
diff --git a/requirements.txt b/requirements.txt
index 91bb1f3..8e64059 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9,3 +9,4 @@ testtools>=2.2.0 # MIT
 PyYAML>=3.10.0 # MIT
 voluptuous>=0.8.9 # BSD License
 tomlkit>=0.11.6 # MIT
+extras>=1.0.0


Test patch:
diff --git a/stestr/tests/test_subunit_trace.py b/stestr/tests/test_subunit_trace.py
index 203f1ec..d967e45 100644
--- a/stestr/tests/test_subunit_trace.py
+++ b/stestr/tests/test_subunit_trace.py
@@ -22,7 +22,7 @@
 from ddt import data
 from ddt import ddt
 from ddt import unpack
-from subunit.iso8601 import UTC
+from iso8601 import UTC
 from subunit.v2 import StreamResultToBytes
 
 from stestr import subunit_trace
diff --git a/test-requirements.txt b/test-requirements.txt
index 8073abf..d40dc1b 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6,5 +6,6 @@ hacking<3.2.0,>=3.1.0
 sphinx>2.1.0 # BSD
 coverage>=4.0 # Apache-2.0
 ddt>=1.0.1 # MIT
+iso8601 # MIT
 doc8>=0.8.0 # Apache-2.0
 black~=22.0