chain_list = []
all_set = dict()
signal_received = 0
+modules = []
class Colors:
str(lineno + 1) + ": '" + cmd + "': " + reason
+def cleanup_modules():
+ for i in modules:
+ modprobe(i, remove=True)
+
+
+def modprobe(name, remove=False):
+ '''
+ Loads or removes a kernel module
+ '''
+ if name is None:
+ return -1
+
+ cmds = {
+ 'ins': ['modprobe', '--first-time', '--quiet', name],
+ 'del': ['modprobe', '-r', name],
+ }
+
+ ret = subprocess.call(cmds['del' if remove else 'ins']) == 0
+ if ret and not remove:
+ # the kernel module has been loaded -> remove it afterwards
+ global modules
+ modules.append(name)
+
+
def table_exist(table, filename, lineno):
'''
Exists a table.
set_delete(table)
table_delete(table)
+ cleanup_modules()
+
def signal_handler(signal, frame):
global signal_received
print "The nft binary does not exist. You need to build the project."
return
+ modprobe('dummy')
+
test_files = files_ok = run_total = 0
tests = passed = warnings = errors = 0
global log_file
log_file = open(LOGFILE, 'w')
except IOError:
print "Cannot open log file %s" % LOGFILE
+ cleanup_modules()
return
file_list = []
"%d error, %d warning" \
% (test_files, files_ok, tests, errors, warnings)
+ cleanup_modules()
+
if __name__ == '__main__':
main()