1
0
Fork 0

functions: added assertion

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 don't 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:
Jaroslav Škarvada 2016-06-16 18:53:24 +02:00
parent 221c86f911
commit 99a600b1eb

View 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(base.Function):
"""
Assertion: compares argument 2 with argument 3. If they don't 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__("exec", 3)
def execute(self, args):
if not super(self.__class__, self).execute(args):
return None
if args[1] != args[2]:
log.error("assertion '%s' failed: '%s' != '%s'" % (args[0], args[1], args[2]))
raise InvalidProfileException("Assertion '%s' failed." % args[0])
return None