# License for the specific language governing permissions and limitations
# under the License.
+from math import isnan
+import os
+import re
+import signal
+import subprocess
+
import errno
import fcntl
from functools import wraps
import json
from log import LOG
-import os
-import re
-import signal
-import subprocess
class TimeoutError(Exception):
def timeout(seconds=10, error_message=os.strerror(errno.ETIME)):
def decorator(func):
- def _handle_timeout(signum, frame):
+ def _handle_timeout(_signum, _frame):
raise TimeoutError(error_message)
def wrapper(*args, **kwargs):
for driver in ['i40e', 'ixgbe']:
matches = re.findall(regex.format(hx=hx, driver=driver), devices)
if matches:
- pcis = map(lambda x: x[0], matches)
+ pcis = [x[0] for x in matches]
if len(pcis) < 2:
continue
pcis.sort()
return flow_count * multiplier
+def cast_integer(value):
+ return int(value) if not isnan(value) else value
+
+
class RunLock(object):
"""
Attempts to lock file and run current instance of NFVbench as the first,