Change AP unit test project to a DLL like all others, add benchmarks project (#6588)
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
This commit is contained in:
@@ -52,7 +52,7 @@ get_property(asset_builders GLOBAL PROPERTY LY_ASSET_BUILDERS)
|
||||
string (REPLACE ";" "," asset_builders "${asset_builders}")
|
||||
ly_add_source_properties(
|
||||
SOURCES native/utilities/ApplicationManager.cpp
|
||||
PROPERTY COMPILE_DEFINITIONS
|
||||
PROPERTY COMPILE_DEFINITIONS
|
||||
VALUES LY_ASSET_BUILDERS="${asset_builders}"
|
||||
)
|
||||
|
||||
@@ -147,9 +147,9 @@ endif()
|
||||
# Tests
|
||||
################################################################################
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
||||
|
||||
|
||||
ly_add_target(
|
||||
NAME AssetProcessor.Tests EXECUTABLE
|
||||
NAME AssetProcessor.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
|
||||
NAMESPACE AZ
|
||||
AUTOMOC
|
||||
AUTORCC
|
||||
@@ -167,12 +167,12 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
||||
)
|
||||
ly_add_source_properties(
|
||||
SOURCES native/tests/assetBuilderSDK/assetBuilderSDKTest.cpp
|
||||
PROPERTY COMPILE_DEFINITIONS
|
||||
PROPERTY COMPILE_DEFINITIONS
|
||||
VALUES ${LY_PAL_TOOLS_DEFINES}
|
||||
)
|
||||
ly_add_source_properties(
|
||||
SOURCES native/unittests/AssetProcessorManagerUnitTests.cpp
|
||||
PROPERTY COMPILE_DEFINITIONS
|
||||
PROPERTY COMPILE_DEFINITIONS
|
||||
VALUES LY_CMAKE_BINARY_DIR="${CMAKE_BINARY_DIR}"
|
||||
)
|
||||
|
||||
@@ -266,7 +266,10 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
||||
|
||||
ly_add_googletest(
|
||||
NAME AZ::AssetProcessor.Tests
|
||||
TEST_COMMAND $<TARGET_FILE:AZ::AssetProcessor.Tests> --unittest --gtest_filter=-*.SUITE_sandbox*
|
||||
)
|
||||
ly_add_googlebenchmark(
|
||||
NAME AZ::AssetProcessor.Benchmarks
|
||||
TARGET AZ::AssetProcessor.Tests
|
||||
)
|
||||
|
||||
endif()
|
||||
|
||||
@@ -18,8 +18,6 @@
|
||||
|
||||
#include <QCoreApplication>
|
||||
|
||||
AZ_UNIT_TEST_HOOK(new BaseAssetProcessorTestEnvironment)
|
||||
|
||||
namespace AssetProcessor
|
||||
{
|
||||
class UnitTestAppManager : public BatchApplicationManager
|
||||
@@ -35,7 +33,7 @@ namespace AssetProcessor
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// tests which use the builder bus plug in their own mock version, so disconnect ours.
|
||||
AssetProcessor::AssetBuilderInfoBus::Handler::BusDisconnect();
|
||||
|
||||
@@ -59,7 +57,7 @@ namespace AssetProcessor
|
||||
void SetUp() override
|
||||
{
|
||||
AssetProcessorTest::SetUp();
|
||||
|
||||
|
||||
static int numParams = 1;
|
||||
static char processName[] = {"AssetProcessorBatch"};
|
||||
static char* namePtr = &processName[0];
|
||||
@@ -147,7 +145,7 @@ namespace AssetProcessor
|
||||
time.start();
|
||||
|
||||
actualTest->StartTest();
|
||||
|
||||
|
||||
while (!testIsComplete)
|
||||
{
|
||||
QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete);
|
||||
|
||||
@@ -5,76 +5,8 @@
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
#include "utilities/BatchApplicationManager.h"
|
||||
|
||||
|
||||
#include <AzTest/AzTest.h>
|
||||
#include <AzTest/Utils.h>
|
||||
#include <native/tests/BaseAssetProcessorTest.h>
|
||||
|
||||
DECLARE_AZ_UNIT_TEST_MAIN()
|
||||
|
||||
int RunUnitTests(int argc, char* argv[], bool& ranUnitTests)
|
||||
{
|
||||
ranUnitTests = true;
|
||||
|
||||
INVOKE_AZ_UNIT_TEST_MAIN(nullptr); // nullptr turns off default test environment used to catch stray asserts
|
||||
|
||||
// This looks a bit weird, but the macro returns conditionally, so *if* we get here, it means the unit tests didn't run
|
||||
ranUnitTests = false;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
qputenv("QT_MAC_DISABLE_FOREGROUND_APPLICATION_TRANSFORM", "1");
|
||||
|
||||
AZ::Debug::Trace::HandleExceptions(true);
|
||||
AZ::Test::ApplyGlobalParameters(&argc, argv);
|
||||
|
||||
// If "--unittest" is present on the command line, run unit testing
|
||||
// and return immediately. Otherwise, continue as normal.
|
||||
AZ::Test::addTestEnvironment(new BaseAssetProcessorTestEnvironment());
|
||||
|
||||
bool pauseOnComplete = false;
|
||||
|
||||
if (AZ::Test::ContainsParameter(argc, argv, "--pause-on-completion"))
|
||||
{
|
||||
pauseOnComplete = true;
|
||||
}
|
||||
|
||||
bool ranUnitTests;
|
||||
int result = RunUnitTests(argc, argv, ranUnitTests);
|
||||
|
||||
if (ranUnitTests)
|
||||
{
|
||||
if (pauseOnComplete)
|
||||
{
|
||||
system("pause");
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
BatchApplicationManager applicationManager(&argc, &argv);
|
||||
setvbuf(stdout, NULL, _IONBF, 0); // Disabling output buffering to fix test failures due to incomplete logs
|
||||
|
||||
ApplicationManager::BeforeRunStatus status = applicationManager.BeforeRun();
|
||||
|
||||
if (status != ApplicationManager::BeforeRunStatus::Status_Success)
|
||||
{
|
||||
if (status == ApplicationManager::BeforeRunStatus::Status_Restarting)
|
||||
{
|
||||
//AssetProcessor will restart
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Initialization failed
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return applicationManager.Run() ? 0 : 1;
|
||||
}
|
||||
|
||||
AZ_UNIT_TEST_HOOK(new BaseAssetProcessorTestEnvironment)
|
||||
|
||||
Reference in New Issue
Block a user