aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author苏向夜 <fu050409@163.com>2023-12-17 23:42:09 +0800
committer苏向夜 <fu050409@163.com>2023-12-17 23:42:09 +0800
commitbf95e7c63aceb7b64d718dc16f007fc78c37d2a7 (patch)
tree7780894b7e4c87a4e6773c3bce968adf1fe99408
parent037a5b0e2c1ec9ffa8f0837d019ec8d6ebd20a36 (diff)
downloadinfini-bf95e7c63aceb7b64d718dc16f007fc78c37d2a7.tar.gz
infini-bf95e7c63aceb7b64d718dc16f007fc78c37d2a7.zip
:recycle: 优化测试模式
-rw-r--r--src/infini/__main__.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/infini/__main__.py b/src/infini/__main__.py
index c02824d5..97e70b45 100644
--- a/src/infini/__main__.py
+++ b/src/infini/__main__.py
@@ -35,25 +35,30 @@ def main():
logger.success("HydroRoll 规则包模板已创建!")
if args.operate == "test":
+ exceptions = []
+
logger.info(f"开始测试规则包: {path.name}...")
loader = Loader(meta_path=path)
logger.info("初始化规则包中...")
+
try:
loader.load()
except Exception as error:
if args.verbose:
logger.exception(error)
- logger.critical(f"初始化规则包时出现异常: {error}")
- return
+ logger.critical(f"初始化规则包时出现异常: {error}")
+ exceptions.append(error)
+
try:
- errors = importlib.import_module("tests").test()
+ errors = importlib.import_module(f"{path.name}.tests").test()
+ exceptions.extend(errors)
except Exception as error:
if args.verbose:
logger.exception(error)
- logger.critical(f"测试规则包时出现异常: {error}")
- return
- sys.path.remove(str(path))
- logger.info(f"测试规则包 {path.name} 出现 {len(errors)} 个异常, 测试完成.")
+ logger.critical(f"测试规则包时出现异常: {error}")
+ exceptions.append(error)
+
+ logger.info(f"测试规则包 {path.name} 出现 {len(exceptions)} 个异常, 测试完成.")
if __name__ == "__main__":