safeCallCapabilities mirrors safeCallName for Capabilities().
(p platform.Plugin)
| 283 | |
| 284 | // safeCallCapabilities mirrors safeCallName for Capabilities(). |
| 285 | func safeCallCapabilities(p platform.Plugin) (caps platform.Capabilities, err error) { |
| 286 | defer func() { |
| 287 | if r := recover(); r != nil { |
| 288 | err = &PluginInstallError{ |
| 289 | PluginName: pluginNameOrPlaceholder(p), |
| 290 | ReasonCode: ReasonCapabilitiesPanic, |
| 291 | Reason: fmt.Sprintf("Plugin.Capabilities() panicked: %v", r), |
| 292 | } |
| 293 | } |
| 294 | }() |
| 295 | caps = p.Capabilities() |
| 296 | return caps, nil |
| 297 | } |
| 298 | |
| 299 | // safeCallInstall mirrors safeCallName for Install(). Install panics |
| 300 | // become install_panic errors, not crashes. |
no test coverage detected