[Libosinfo] [PATCH osinfo-db 10/10] tests: osinfo: use a compiled regex
Cole Robinson
crobinso at redhat.com
Tue Mar 19 20:02:00 UTC 2019
This drops the total isoinfo runtime from ~80 seconds to about ~6
on my machine.
Signed-off-by: Cole Robinson <crobinso at redhat.com>
---
tests/osinfo.py | 11 ++++++-----
tests/test_isoinfo.py | 16 ++++------------
2 files changed, 10 insertions(+), 17 deletions(-)
diff --git a/tests/osinfo.py b/tests/osinfo.py
index 295bac3..2950306 100644
--- a/tests/osinfo.py
+++ b/tests/osinfo.py
@@ -2,8 +2,9 @@
# See the COPYING file in the top-level directory.
from http.client import responses
-
import logging
+import re
+
import requests
@@ -126,19 +127,19 @@ class ISO():
return return_type(entry.text) if entry is not None else default
def _get_volumeid(self):
- return self._get_value('volume-id')
+ return re.compile(self._get_value('volume-id'))
volumeid = _cache_property(_get_volumeid)
def _get_publisherid(self):
- return self._get_value('publisher-id')
+ return re.compile(self._get_value('publisher-id'))
publisherid = _cache_property(_get_publisherid)
def _get_applicationid(self):
- return self._get_value('application-id')
+ return re.compile(self._get_value('application-id'))
applicationid = _cache_property(_get_applicationid)
def _get_systemid(self):
- return self._get_value('system-id')
+ return re.compile(self._get_value('system-id'))
systemid = _cache_property(_get_systemid)
def _get_volumesize(self):
diff --git a/tests/test_isoinfo.py b/tests/test_isoinfo.py
index 8440bb2..6de7c1d 100644
--- a/tests/test_isoinfo.py
+++ b/tests/test_isoinfo.py
@@ -3,7 +3,6 @@
import logging
import os
-import re
import pytest
from . import util
@@ -58,21 +57,14 @@ class _ISODataMedia():
self.volumesize = volumesize if volumesize is not None else 0
def match(self, media):
- if media.volumeid == '' and \
- media.systemid == '' and \
- media.publisherid == '' and \
- media.applicationid == '' and \
- media.volumesize == 0:
- return False
-
volumesize = media.volumesize
if volumesize == 0:
volumesize = self.volumesize
- if bool(re.match(media.volumeid, self.volumeid)) and \
- bool(re.match(media.publisherid, self.publisherid)) and \
- bool(re.match(media.applicationid, self.applicationid)) and \
- bool(re.match(media.systemid, self.systemid)) and \
+ if bool(media.volumeid.match(self.volumeid)) and \
+ bool(media.publisherid.match(self.publisherid)) and \
+ bool(media.applicationid.match(self.applicationid)) and \
+ bool(media.systemid.match(self.systemid)) and \
volumesize == self.volumesize:
return True
--
2.21.0
More information about the Libosinfo
mailing list