logging(cmp_version): output assertion

Log error. The integer comparison is Python 3 compatible and ripped from
[1]. This will catch incorrectly implemented version comparison
functions.

[1] http://stackoverflow.com/a/3646519/260805
This commit is contained in:
Jens Rantil 2015-08-20 19:13:48 +02:00 committed by rallytime
parent 673b6c683d
commit 4763f28725

View file

@ -16,6 +16,7 @@ import hashlib
import imp
import json
import logging
import numbers
import os
import pprint
import random
@ -2020,6 +2021,12 @@ def compare_versions(ver1='', oper='==', ver2='', cmp_func=None):
if cmp_result is None:
return False
# Check if integer/long
if not isinstance(cmp_result, numbers.Integral):
log.error('The version comparison function did not return an '
'integer/long.')
return False
if oper == '!=':
return cmp_result not in cmp_map['==']
else: