import unittest,importlib,BeautifulReport import cffi def load(): with open("/home/hai/sledge-serverless-framework/runtime/include/hash.h", "r") as f: inc = "" for line in f: if not line.strip().startswith('#'): inc += line src = open("/home/hai/sledge-serverless-framework/runtime/Utest_py/hash.c").read() builder = cffi.FFI() builder.cdef(inc) builder.set_source("hashlib",src) builder.compile() md = importlib.import_module("hashlib") return md.lib md = load() class HashTableTestCase(unittest.TestCase): def test_case1(self): ''' 测试添加和查找功能 ''' table = md.create_table() md.add_item(table, b"key1", "Hello World") value = md.find_value(table, b"key1") self.assertEqual(value, "Hello World") print('Value for "key1":', value) def test_case2(self): ''' 测试查找不存在的键 ''' table = md.create_table() value = md.find_value(table, b"nonexistent") self.assertIsNone(value) print('Value for "nonexistent":', value) def test_case3(self): # 确保每个测试后表被释放 md.free_table(self.table) sut = unittest.TestSuite() sut.addTest(unittest.makeSuite(HashTableTestCase)) run = BeautifulReport.BeautifulReport(sut) run.report(filename="test.html",description="单元测试")