/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ #include #include #include #include #include #include #include #include using namespace AZ; // Handle asserts class ToolsFrameworkHook : public AZ::Test::ITestEnvironment { public: void SetupEnvironment() override { AllocatorInstance::Create(); } void TeardownEnvironment() override { AllocatorInstance::Destroy(); } }; AZTEST_EXPORT int AZ_UNIT_TEST_HOOK_NAME(int argc, char** argv) { ::testing::InitGoogleMock(&argc, argv); QApplication app(argc, argv); auto styleManager = AZStd::make_unique< AzQtComponents::StyleManager>(&app); AZ::IO::FixedMaxPath engineRootPath; { AZ::ComponentApplication componentApplication(argc, argv); auto settingsRegistry = AZ::SettingsRegistry::Get(); settingsRegistry->Get(engineRootPath.Native(), AZ::SettingsRegistryMergeUtils::FilePathKey_EngineRootFolder); } styleManager->initialize(&app, engineRootPath); AZ::Test::printUnusedParametersWarning(argc, argv); AZ::Test::addTestEnvironments({ new ToolsFrameworkHook }); int result = RUN_ALL_TESTS(); styleManager.release(); return result; } #if defined(HAVE_BENCHMARK) AZ_BENCHMARK_HOOK(); #else IMPLEMENT_TEST_EXECUTABLE_MAIN(); #endif