Upgrading from 9.16.4 to 9.17.4 it seems the OpenTap.Package.dll contains a plug in implementing ITestStep: PackageInstallStep ? It doesnt show up in Package Manager or TA Editor but is listed when my application lists all test steps (see screen shot) Is this expected?
It looks as if this is by intention: PackageInstallStep.cs#L10
Yes, this is intentional. It’s sort of an implementation detail, but it has to do with how we do encapsulated admin elevation now when installing system-wide packages.
OK. So what is the best way to filter out this (and maybe others in future versions of OpenTAP) when scanning for installed TestSteps? Check for Browsable=false?
In general I would recommend filtering all non-public types, and all types with the [Browsable(false)]
attribute. This is what the WPF Editor and the TUI does.
@GoranJohnsson I looked into this a bit further and PluginManager.GetPlugins
already excludes non-public types UNLESS the containing assembly has the assembly attribute [assembly:OpenTap.PluginAssembly(true)]
, so it should not be necessary to add code for this.
As it happens, OpenTap.Package.dll
has this assembly attribute, which is why the plugin manager returns this internal step.
Excluding Browsable=false
should be sufficient. Sorry about the confusion!