feat: 插件自动挂载测试机制 — capabilities + self_test + 3阶段启动
- Plugin trait 增加 capabilities() 和 self_test() 方法 - PluginVTable 增加 get_capabilities 和 self_test FFI - ServiceManager 三阶段启动: init → self_test → start - SendCallback 改为 ctx 参数传递,消除 thread_local - export_plugin! 宏所有 FFI 函数包裹 catch_unwind - PluginManifest 增加 capabilities/required_capabilities/auto_test - 新增 3 个自测相关测试用例 (共 59 测试)
This commit is contained in:
@@ -80,10 +80,13 @@ fn main() -> Result<()> {
|
||||
|
||||
match loader.load_plugin(plugin_id, Some(&entry.active_version)) {
|
||||
Ok((plugin, manifest)) => {
|
||||
manager.register_dynamic(
|
||||
manager.register_dynamic_with_manifest(
|
||||
Box::new(plugin),
|
||||
manifest.error_policy,
|
||||
entry.max_errors,
|
||||
manifest.required_capabilities,
|
||||
manifest.capabilities,
|
||||
manifest.auto_test,
|
||||
);
|
||||
println!(
|
||||
" ✓ {} v{} (动态)",
|
||||
|
||||
Reference in New Issue
Block a user