Silence aws logging for unit test and have a new AWSNativeSDK as entry point for test env (#6865)
* Silence aws logging for unit test * Create a new AWSNativeSDK entry point for test environment only * Update naming for target and filemonroegm-disable-blank-issue-2
parent
57394bc81d
commit
5cac67bfad
@ -0,0 +1,12 @@
|
||||
#
|
||||
# Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
#
|
||||
#
|
||||
|
||||
set(FILES
|
||||
tests/libs/AWSNativeSDKTestManager.cpp
|
||||
tests/libs/AWSNativeSDKTestManager.h
|
||||
)
|
||||
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <AWSNativeSDKTestManager.h>
|
||||
|
||||
#include <AzCore/Module/Environment.h>
|
||||
#include <AzTest/Utils.h>
|
||||
|
||||
#include <AWSNativeSDKInit/AWSLogSystemInterface.h>
|
||||
#include <aws/core/Aws.h>
|
||||
#include <aws/core/utils/logging/AWSLogging.h>
|
||||
|
||||
namespace AWSNativeSDKTestLibs
|
||||
{
|
||||
AZ::EnvironmentVariable<AWSNativeSDKTestManager> AWSNativeSDKTestManager::s_sdkManager = nullptr;
|
||||
|
||||
AWSNativeSDKTestManager::AWSNativeSDKTestManager()
|
||||
{
|
||||
AZ::Test::SetEnv("AWS_DEFAULT_REGION", "us-east-1", 1);
|
||||
m_awsSDKOptions.memoryManagementOptions.memoryManager = &m_memoryManager;
|
||||
Aws::InitAPI(m_awsSDKOptions);
|
||||
}
|
||||
|
||||
AWSNativeSDKTestManager::~AWSNativeSDKTestManager()
|
||||
{
|
||||
Aws::ShutdownAPI(m_awsSDKOptions);
|
||||
AZ::Test::UnsetEnv("AWS_DEFAULT_REGION");
|
||||
}
|
||||
|
||||
void AWSNativeSDKTestManager::Init()
|
||||
{
|
||||
s_sdkManager = AZ::Environment::CreateVariable<AWSNativeSDKTestManager>(AWSNativeSDKTestManager::SdkManagerTag);
|
||||
}
|
||||
|
||||
void AWSNativeSDKTestManager::Shutdown()
|
||||
{
|
||||
s_sdkManager = nullptr;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AzCore/Module/Environment.h>
|
||||
#include <AzCore/PlatformIncl.h>
|
||||
|
||||
#include <AWSNativeSDKInit/AWSMemoryInterface.h>
|
||||
|
||||
#include <aws/core/Aws.h>
|
||||
|
||||
namespace AWSNativeSDKTestLibs
|
||||
{
|
||||
// Entry point for AWSNativeSDK's initialization and shutdown for test environment
|
||||
// Use an AZ::Environment variable to enforce only one init and shutdown
|
||||
class AWSNativeSDKTestManager
|
||||
{
|
||||
public:
|
||||
static constexpr const char SdkManagerTag[] = "TestAWSSDKManager";
|
||||
|
||||
AWSNativeSDKTestManager();
|
||||
~AWSNativeSDKTestManager();
|
||||
|
||||
static void Init();
|
||||
static void Shutdown();
|
||||
|
||||
private:
|
||||
static AZ::EnvironmentVariable<AWSNativeSDKTestManager> s_sdkManager;
|
||||
|
||||
AWSNativeSDKInit::MemoryManager m_memoryManager;
|
||||
Aws::SDKOptions m_awsSDKOptions;
|
||||
};
|
||||
}
|
||||
Loading…
Reference in New Issue