Source code for muteria.drivers.testgeneration.testcases_info


from __future__ import print_function

import muteria.common.fs as common_fs
import muteria.common.mix as common_mix

ERROR_HANDLER = common_mix.ErrorHandler

[docs]class TestcasesInfoObject(object): """ This class represent the test case informations data structure """ DATA_KEY = "DATA" SUMMARY_KEY = "SUMMARY" CUSTOM_KEY = "CUSTOM" def __init__(self): self.data = { self.DATA_KEY: {}, self.SUMMARY_KEY: None, self.CUSTOM_KEY: None, } #~ def __init__()
[docs] def load_from_file(self, file_path): self.data = common_fs.loadJSON(file_path)
#~ def load_from_file()
[docs] def write_to_file(self, file_path): common_fs.dumpJSON(self.data, file_path, pretty=True)
#~ def write_to_file()
[docs] def add_test (self, test_name, **kwargs): ERROR_HANDLER.assert_true(not self.has_test(test_name), \ "Test is already present in this: {}".format(\ test_name), __file__) self.data[self.DATA_KEY][test_name] = kwargs
#~def add_test ()
[docs] def has_test(self, test_name): return test_name in self.data[self.DATA_KEY]
#~ def has_test():
[docs] def get_tests_list(self): return list(self.data[self.DATA_KEY].keys())
#~ def get_tests_list()
[docs] def update_using(self, toolname, old2new_tests, old_test_info_obj): # Update tests for old_test_name, new_test_name in list(old2new_tests.items()): ERROR_HANDLER.assert_true(\ old_test_info_obj.has_test(old_test_name), \ "Test not present in old_test_info_obj: {}".format(\ old_test_name), __file__) ERROR_HANDLER.assert_true(not self.has_test(new_test_name), \ "Test is already present in this: {}".format(\ new_test_name), __file__) self.data[self.DATA_KEY][new_test_name] = \ old_test_info_obj.data[self.DATA_KEY][old_test_name] # Update Summary if self.data[self.SUMMARY_KEY] is None: self.data[self.SUMMARY_KEY] = {} self.data[self.SUMMARY_KEY][toolname] = \ old_test_info_obj.data[self.SUMMARY_KEY] # Update Custom if self.data[self.CUSTOM_KEY] is None: self.data[self.CUSTOM_KEY] = {} self.data[self.CUSTOM_KEY][toolname] = \ old_test_info_obj.data[self.CUSTOM_KEY]
#~ def update_using()
[docs] def remove_test(self, test_name): ERROR_HANDLER.assert_true(self.has_test(test_name), \ "Removing an unexisting test: {}".format(test_name), \ __file__) del self.data[self.DATA_KEY][test_name]
#~ def remove_test()
[docs] def get_summary(self): return self.data[self.SUMMARY_KEY]
#~ def get_summary():
[docs] def get_custom(self): return self.data[self.CUSTOM_KEY]
#~ def get_custom(): #~ class TestcasesInfoObject