ROS2ControllersEditorTest.cpp 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include <AzCore/UserSettings/UserSettingsComponent.h>
  9. #include <AzTest/AzTest.h>
  10. #include <AzTest/GemTestEnvironment.h>
  11. #include <AzToolsFramework/UnitTest/ToolsTestApplication.h>
  12. namespace UnitTest
  13. {
  14. class ROS2ControllersTestEnvironment : public AZ::Test::GemTestEnvironment
  15. {
  16. // AZ::Test::GemTestEnvironment overrides ...
  17. void AddGemsAndComponents() override;
  18. AZ::ComponentApplication* CreateApplicationInstance() override;
  19. void PostSystemEntityActivate() override;
  20. public:
  21. ROS2ControllersTestEnvironment() = default;
  22. ~ROS2ControllersTestEnvironment() override = default;
  23. };
  24. void ROS2ControllersTestEnvironment::AddGemsAndComponents()
  25. {
  26. AddActiveGems(AZStd::to_array<AZStd::string_view>({ "ROS2", "ROS2Controllers" }));
  27. AddDynamicModulePaths({ "ROS2", "ROS2Controllers" });
  28. }
  29. AZ::ComponentApplication* ROS2ControllersTestEnvironment::CreateApplicationInstance()
  30. {
  31. // Using ToolsTestApplication to have AzFramework and AzToolsFramework components.
  32. return aznew UnitTest::ToolsTestApplication("ROS2ControllersTestEnvironment");
  33. }
  34. void ROS2ControllersTestEnvironment::PostSystemEntityActivate()
  35. {
  36. AZ::UserSettingsComponentRequestBus::Broadcast(&AZ::UserSettingsComponentRequests::DisableSaveOnFinalize);
  37. }
  38. } // namespace UnitTest
  39. AZTEST_EXPORT int AZ_UNIT_TEST_HOOK_NAME(int argc, char** argv)
  40. {
  41. ::testing::InitGoogleMock(&argc, argv);
  42. AZ::Test::printUnusedParametersWarning(argc, argv);
  43. AZ::Test::addTestEnvironments({ new UnitTest::ROS2ControllersTestEnvironment() });
  44. int result = RUN_ALL_TESTS();
  45. return result;
  46. }
  47. IMPLEMENT_TEST_EXECUTABLE_MAIN();