functions: added assertion_non_equal
This function takes three arguments: etxt - the text to be logged if the assertion fails var1 - first variable to compare var2 - seconf variable to compare The function compares 'var1' and' var2'. If they match it logs 'etxt' and raises exception which will abort profile loading. Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
This commit is contained in:
parent
42ab576ecf
commit
d65d6405db
1 changed files with 25 additions and 0 deletions
25
tuned/profiles/functions/function_assertion_non_equal.py
Normal file
25
tuned/profiles/functions/function_assertion_non_equal.py
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
import os
|
||||
import tuned.logs
|
||||
import base
|
||||
from tuned.utils.commands import commands
|
||||
from tuned.profiles.exceptions import InvalidProfileException
|
||||
|
||||
log = tuned.logs.get()
|
||||
|
||||
class assertion_non_equal(base.Function):
|
||||
"""
|
||||
Assertion non equal: compares argument 2 with argument 3. If they match
|
||||
it logs text from argument 1 and throws InvalidProfileException. This
|
||||
exception will abort profile loading.
|
||||
"""
|
||||
def __init__(self):
|
||||
# 2 arguments
|
||||
super(self.__class__, self).__init__("assertion_non_equal", 3)
|
||||
|
||||
def execute(self, args):
|
||||
if not super(self.__class__, self).execute(args):
|
||||
return None
|
||||
if args[1] != args[2]:
|
||||
log.error("assertion non equal '%s' failed: '%s' == '%s'" % (args[0], args[1], args[2]))
|
||||
raise InvalidProfileException("Assertion non equal '%s' failed." % args[0])
|
||||
return None
|
||||
Loading…
Reference in a new issue