[osinfo-db 2/2] test_isoinfo: Allow running a quickier version of the test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



test_isoinfo takes a lot of time if running in the way it's been
implemented.

Let's add an environment variable to decide whether we want to run a
"quickier" or an expensive version of the test.

The quicker version would just test against the expected OS and ensure a
match happens, while the expensive version tests against all other OSes
to ensure we don't the media info does not match against any other OS by
mistake.

The environment variable added is OSINFO_DB_ENABLE_EXPENSIVE and it
expects an integer, as in 0 (or not passing it at all) to disable the
expensive test or non zero to enable it.

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 tests/test_isoinfo.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/tests/test_isoinfo.py b/tests/test_isoinfo.py
index 504892c..a26932d 100644
--- a/tests/test_isoinfo.py
+++ b/tests/test_isoinfo.py
@@ -16,12 +16,18 @@ def _os_id(_os):
 
 @pytest.mark.parametrize('_os', [*OSES], ids=_os_id)
 def test_iso_detection(_os):
+    expensive = os.environ.get('OSINFO_DB_ENABLE_EXPENSIVE')
+    if expensive is not None:
+        expensive = int(expensive)
+    expensive = bool(expensive)
     for isodatamedia in _get_isodatamedias(_os):
         detected = []
         for __os in OSES:
+            if not expensive and _os.shortid != __os.shortid:
+                continue
             for media in __os.medias:
                 if isodatamedia.match(media.iso):
-                    if _os.shortid != __os.shortid:
+                    if expensive and _os.shortid != __os.shortid:
                         logging.warning(
                             'ISO \'%s\' was matched by OS \'%s\' while it '
                             'should only be matched by OS \'%s\'',
-- 
2.20.1

_______________________________________________
Libosinfo mailing list
Libosinfo@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libosinfo




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Fedora Users]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux