-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support C++ manager plugins #44
Conversation
Since OpenAssetIO/OpenAssetIO#1351 dropped support for CY22 and below, there is no need to use the backport of `importlib-metadata` Signed-off-by: David Feltell <[email protected]>
Part of OpenAssetIO#40. In preparation for running the tests through another manager (i.e. SimpleCppManager), do not overwrite the value of the `OPENASSETIO_DEFAULT_CONFIG` environment variable, so that the manager to be used by the test can be configured externally. This does add yet another variable that must be set before the tests can run and pass, but there are already several others that are required anyway (`LD_LIBRARY_PATH`, `OPENASSETIO_PLUGIN_PATH`, `PXR_PLUGINPATH_NAME`, `PYTHONPATH`) , so it's not that much extra bother, and forcing the env var to be set externally means we can be sure the intended manager is used for the tests. Signed-off-by: David Feltell <[email protected]>
Part of OpenAssetIO#40. Since OpenAssetIO/OpenAssetIO-Manager-BAL#84 BAL has had configurable responses to the `hasCapability(...)` method. So it is no longer necessary to monkeypatch BAL in order to test varying capabilities. This will also help us in future when we run the tests through a different manager (i.e. SimpleCppManager). Signed-off-by: David Feltell <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing that would block an approval.
tests/resources/integration_test_data/error_triggering_asset_ref/parking_lot.usd
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Part of OpenAssetIO#40. Add support for C++ manager plugins via use of the hybrid plugin system, which additionally means that Python and C++ plugins can be composed. Make the tests a bit more agnostic to the particular manager. Add a config file suitable for using SimpleCppManager as the plugin used to test against. Modify test for error behaviour when given an invalid asset reference so that it works for both BAL and SimpleCppManager - i.e. instead of `bal:///` ("maformedEntityReference" for BAL only) use `bal:///doesntexist`, which causes an "entityResolutionError" in both BAL and SimpleCppManager. Signed-off-by: David Feltell <[email protected]>
Part of OpenAssetIO#40. Update CI tests to make use of SimpleCppManager as a C++ alternative to the Python BasicAssetLibrary (BAL) manager. Signed-off-by: David Feltell <[email protected]>
bb42622
to
bf536a4
Compare
Closes #40. Add support for forwarding to C++ OpenAssetIO Manager plugins as well as Python, by making use of the hybrid plugin system.
Update test/CI infrastructure to test with both a Python (BAL) and C++ (SimpleCppManager) plugin.