<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/6abdcb1d983f2ebafb3ac2772a8e587e35de9496">https://github.com/macports/macports-ports/commit/6abdcb1d983f2ebafb3ac2772a8e587e35de9496</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 6abdcb1d983f2ebafb3ac2772a8e587e35de9496
</span>Author: Mark Mentovai <mark@mentovai.com>
AuthorDate: Wed Aug 16 14:47:16 2023 -0400
<span style='display:block; white-space:pre;color:#404040;'> py-pyftdi: new port (0.55.0)
</span>---
python/py-pyftdi/Portfile | 48 +++++++++
.../py-pyftdi/files/patch-1_test_module_setup.diff | 112 +++++++++++++++++++++
.../files/patch-2_test_untestable_base.diff | 74 ++++++++++++++
3 files changed, 234 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyftdi/Portfile b/python/py-pyftdi/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4d75337a44f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pyftdi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,48 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup python 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name py-pyftdi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup eblot pyftdi 0.55.0 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms {darwin any}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs noarch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license BSD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description PyFtdi aims at providing a user-space driver for popular \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ FTDI devices, implemented in pure Python language.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description {*}${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 dd4a6928cf7a0c93faea0e801655815b9ae3d671 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 6d55af8cb67f8282aea284df5d73605295e61db5d65da72a810282b25cc9ff2c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 186282
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions 38 39 310 311
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.pep517 yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles patch-1_test_module_setup.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-2_test_untestable_base.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_run-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${python.version}-pyusb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${python.version}-serial
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_test-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${python.version}-ruamel-yaml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test.run yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test.env-append FTDI_VIRTUAL=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This isn't all tests, because many tests require specific devices to be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # connected. This only includes tests that don't require specific devices,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # and tests that can be mocked (some via FTDI_VIRTUAL above) so that they
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # don't require specific devices. See pyftdi/.github/workflows.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test.target pyftdi/tests/toolsimport.py \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pyftdi/tests/mockusb.py \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pyftdi/tests/gpio.py \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pyftdi/tests/eeprom_mock.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyftdi/files/patch-1_test_module_setup.diff b/python/py-pyftdi/files/patch-1_test_module_setup.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..1315c50800d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pyftdi/files/patch-1_test_module_setup.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,112 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/eblot/pyftdi/pull/356
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/eblot/pyftdi/commit/c131ff2c302b1bfe2ec6ec53331f55cae16b4b66.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From b82c5e264e82052440cf98da070d86f81c734c4a Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Mark Mentovai <mark@mentovai.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 16 Aug 2023 12:00:04 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 1/2] tests: use module_setup to establish virtual mock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ environment
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This makes it possible to run these virtual mock tests under pytest,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+which does not run main.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pyftdi/tests/eeprom_mock.py | 12 ++++++------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pyftdi/tests/gpio.py | 12 ++++++------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pyftdi/tests/mockusb.py | 6 +++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 15 insertions(+), 15 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git pyftdi/tests/eeprom_mock.py pyftdi/tests/eeprom_mock.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7acf99f3048d..78665789c4c8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- pyftdi/tests/eeprom_mock.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ pyftdi/tests/eeprom_mock.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -269,7 +269,7 @@ def virtualize():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ raise AssertionError('Cannot load virtual USB backend')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-def main():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++def setup_module():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import doctest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ doctest.testmod(modules[__name__])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ debug = to_bool(environ.get('FTDI_DEBUG', 'off'))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -288,10 +288,6 @@ def main():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ FtdiLogger.set_level(loglevel)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ FtdiLogger.set_formatter(formatter)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ virtualize()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ut_main(defaultTest='suite')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- except KeyboardInterrupt:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- pass
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if __name__ == '__main__':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -300,4 +296,8 @@ if __name__ == '__main__':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # FTDI_LOGLEVEL: a Logger debug level, to define log verbosity
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # FTDI_DEBUG: to enable/disable debug mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # FTDI_VIRTUAL: to use a virtual device rather than a physical device
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- main()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ setup_module()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ut_main(defaultTest='suite')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ except KeyboardInterrupt:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pass
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git pyftdi/tests/gpio.py pyftdi/tests/gpio.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4d159d51ac78..bdb0cbc892ea 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- pyftdi/tests/gpio.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ pyftdi/tests/gpio.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -633,7 +633,7 @@ def virtualize():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ raise AssertionError('Cannot load virtual USB backend') from exc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-def main():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++def setup_module():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import doctest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ doctest.testmod(modules[__name__])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ debug = to_bool(environ.get('FTDI_DEBUG', 'off'))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -652,10 +652,6 @@ def main():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ FtdiLogger.set_level(loglevel)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ FtdiLogger.set_formatter(formatter)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ virtualize()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ut_main(defaultTest='suite')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- except KeyboardInterrupt:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- pass
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if __name__ == '__main__':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -664,4 +660,8 @@ if __name__ == '__main__':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # FTDI_LOGLEVEL: a Logger debug level, to define log verbosity
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # FTDI_DEBUG: to enable/disable debug mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # FTDI_VIRTUAL: to use a virtual device rather than a physical device
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- main()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ setup_module()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ut_main(defaultTest='suite')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ except KeyboardInterrupt:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pass
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git pyftdi/tests/mockusb.py pyftdi/tests/mockusb.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 57d03e46d2cc..17553b1e7d88 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- pyftdi/tests/mockusb.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ pyftdi/tests/mockusb.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -839,7 +839,7 @@ def suite():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return suite_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-def main():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++def setup_module():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ testmod(modules[__name__])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ debug = to_bool(environ.get('FTDI_DEBUG', 'off'))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if debug:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -866,8 +866,8 @@ def main():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MockLoader = backend.create_loader()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ except AttributeError as exc:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ raise AssertionError('Cannot load virtual USB backend') from exc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ut_main(defaultTest='suite')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if __name__ == '__main__':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- main()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ setup_module()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ut_main(defaultTest='suite')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.41.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyftdi/files/patch-2_test_untestable_base.diff b/python/py-pyftdi/files/patch-2_test_untestable_base.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5eaa06f70b7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pyftdi/files/patch-2_test_untestable_base.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,74 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/eblot/pyftdi/pull/356
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/eblot/pyftdi/commit/ed33b4916d382f8653d40c9f66d05f5efcf66a97.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 915fc5b461ed2b142f1e23ab7f1e3595fbaea3b1 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Mark Mentovai <mark@mentovai.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 16 Aug 2023 14:31:52 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 2/2] tests: don't present untestable base classes via pytest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pyftdi/tests/eeprom_mock.py | 14 +++++++-------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 7 insertions(+), 7 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git pyftdi/tests/eeprom_mock.py pyftdi/tests/eeprom_mock.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 78665789c4c8..ced748d2c902 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- pyftdi/tests/eeprom_mock.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ pyftdi/tests/eeprom_mock.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -18,7 +18,7 @@ from pyftdi.ftdi import FtdiError
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ VirtLoader = None
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-class FtdiTestCase(TestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++class FtdiBaseCase:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ """Common features for all tests.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ """
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -37,7 +37,7 @@ class FtdiTestCase(TestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pass
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-class EepromMirrorTestCase(FtdiTestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++class EepromMirrorBaseCase(FtdiBaseCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ """Test FTDI EEPROM mirror feature (duplicate eeprom data over 2 eeprom
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sectors). Generally this is tested with a virtual eeprom (by setting
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ environment variable FTDI_VIRTUAL=on), however you may also test with an
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -52,7 +52,7 @@ class EepromMirrorTestCase(FtdiTestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @classmethod
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def setUpClass(cls):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- FtdiTestCase.setUpClass()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ FtdiBaseCase.setUpClass()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if VirtLoader:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cls.loader = VirtLoader()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with open(cls.TEST_CONFIG_FILENAME, 'rb') as yfp:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -180,15 +180,15 @@ class EepromMirrorTestCase(FtdiTestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ eeprom.data[ii + eeprom.mirror_sector])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-class EepromMirrorFt232hTestCase(EepromMirrorTestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++class EepromMirrorFt232hTestCase(EepromMirrorBaseCase, TestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ TEST_CONFIG_FILENAME = 'pyftdi/tests/resources/ft232h.yaml'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-class EepromMirrorFt2232hTestCase(EepromMirrorTestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++class EepromMirrorFt2232hTestCase(EepromMirrorBaseCase, TestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ TEST_CONFIG_FILENAME = 'pyftdi/tests/resources/ft2232h.yaml'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-class EepromMirrorFt230xTestCase(FtdiTestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++class EepromMirrorFt230xTestCase(FtdiBaseCase, TestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ """Test FTDI eeprom with non-mirroring capabilities to ensure it works as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ expected.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ """
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -196,7 +196,7 @@ class EepromMirrorFt230xTestCase(FtdiTestCase):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @classmethod
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def setUpClass(cls):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- FtdiTestCase.setUpClass()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ FtdiBaseCase.setUpClass()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if VirtLoader:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cls.loader = VirtLoader()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with open(cls.TEST_CONFIG_FILENAME, 'rb') as yfp:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.41.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>
</pre>