Merge pull request #93 from aws-lumberyard-dev/TIF/Runtime_TestChanges

Make TestEngine clean up artifact dir before runs
This commit is contained in:
jonawals
2021-06-08 12:54:15 +01:00
committed by GitHub
2 changed files with 16 additions and 0 deletions
@@ -10,6 +10,8 @@
*
*/
#include <TestImpactFramework/TestImpactFileUtils.h>
#include <Target/TestImpactTestTarget.h>
#include <TestEngine/TestImpactTestEngineException.h>
#include <TestEngine/TestImpactTestEngine.h>
@@ -247,11 +249,17 @@ namespace TestImpact
, m_testEnumerator(AZStd::make_unique<TestEnumerator>(maxConcurrentRuns))
, m_instrumentedTestRunner(AZStd::make_unique<InstrumentedTestRunner>(maxConcurrentRuns))
, m_testRunner(AZStd::make_unique<TestRunner>(maxConcurrentRuns))
, m_artifactDir(artifactDir)
{
}
TestEngine::~TestEngine() = default;
void TestEngine::DeleteArtifactXmls() const
{
DeleteFiles(m_artifactDir, "*.xml");
}
AZStd::pair<TestSequenceResult, AZStd::vector<TestEngineEnumeration>> TestEngine::UpdateEnumerationCache(
const AZStd::vector<const TestTarget*>& testTargets,
Policy::ExecutionFailure executionFailurePolicy,
@@ -283,6 +291,8 @@ namespace TestImpact
AZStd::optional<AZStd::chrono::milliseconds> globalTimeout,
AZStd::optional<TestEngineJobCompleteCallback> callback)
{
DeleteArtifactXmls();
TestEngineJobMap<TestRunner::JobInfo::IdType> engineJobs;
const auto jobInfos = m_testJobInfoGenerator->GenerateRegularTestRunJobInfos(testTargets);
@@ -308,6 +318,8 @@ namespace TestImpact
AZStd::optional<AZStd::chrono::milliseconds> globalTimeout,
AZStd::optional<TestEngineJobCompleteCallback> callback)
{
DeleteArtifactXmls();
TestEngineJobMap<InstrumentedTestRunner::JobInfo::IdType> engineJobs;
const auto jobInfos = m_testJobInfoGenerator->GenerateInstrumentedTestRunJobInfos(testTargets, CoverageLevel::Source);
@@ -118,10 +118,14 @@ namespace TestImpact
AZStd::optional<TestEngineJobCompleteCallback> callback);
private:
//! Cleans up the artifacts directory of any artifacts from previous runs.
void DeleteArtifactXmls() const;
size_t m_maxConcurrentRuns = 0;
AZStd::unique_ptr<TestJobInfoGenerator> m_testJobInfoGenerator;
AZStd::unique_ptr<TestEnumerator> m_testEnumerator;
AZStd::unique_ptr<InstrumentedTestRunner> m_instrumentedTestRunner;
AZStd::unique_ptr<TestRunner> m_testRunner;
RepoPath m_artifactDir;
};
} // namespace TestImpact