# BinaryBugSearcher **Repository Path**: HulkTang/binary-bug-searcher ## Basic Information - **Project Name**: BinaryBugSearcher - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 5 - **Created**: 2022-01-24 - **Last Updated**: 2025-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BinaryBugSearcher ## 使用方法 ### 入口脚本 拷贝multi_example.py,并根据自己环境配置 ```python import logging from bbs import MultiBugsSearcher, util logger = logging.getLogger('my_logger') logger.setLevel(logging.DEBUG) logging.basicConfig(level=logging.INFO) def search(): # 配置使用的mindspore仓库 project_path = "/XXX/mindspore/" # 配置环境信息 hardware_info = [util.kAscendPlatformName, util.kArmArchName, util.kLinuxOsName] # 配置需要二分的用例信息,具体内容参考json相关章节 json_fle = "/xxx/xxx/xxx.json" # 编译-j选项 compile_j = 128 bug_searcher = MultiBugsSearcher(project_path, hardware_info, json_fle) bug_searcher.search_bug() if __name__ == '__main__': search() ``` ### 用例信息 json 配置json文件,填入需要二分的用例信息 ```json { # 多用例信息 "issues": [ # 单用例信息 { # issue单号 "id": "issue_id", # 用例执行前需要配置的环境变量k-v "env": { "env1": "env1", "env2": "env1" }, # 用例执行命令 "exec_command": "pytest xxxx", # 判断用例通过关键词,如执行输出日志总有该日志,则判断用例pass "check_key_work": "1 passed", # 用例最后一次pass的commmit "pass": "pass merge commit id", # 用例第一次fail的commmit "fail": "fail merge commit id", # 用例执行次数,针对偶现问题,可以多次执行确认 "secure_times": 1 }, { "id": "issue_id", "env": { "env1": "env1", "env2": "env1" }, "exec_command": "pytest xxxx", "check_key_work": "1 passed", "pass": "pass merge commit id", "fail": "fail merge commit id", "secure_times": 1 } ], # 预留,留空 "upgrades": [] } ```