From c9351f4d45714bbb6b8432ed26fb3e4286d84f58 Mon Sep 17 00:00:00 2001 From: jonawals Date: Tue, 8 Jun 2021 12:05:38 +0100 Subject: [PATCH 1/3] Make TestEngine clean up artifact dir before runs --- .../Code/Source/TestEngine/TestImpactTestEngine.cpp | 12 ++++++++++++ .../Code/Source/TestEngine/TestImpactTestEngine.h | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.cpp b/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.cpp index b563c1846b..f3ce777938 100644 --- a/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.cpp +++ b/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.cpp @@ -10,6 +10,8 @@ * */ +#include + #include #include #include @@ -247,11 +249,17 @@ namespace TestImpact , m_testEnumerator(AZStd::make_unique(maxConcurrentRuns)) , m_instrumentedTestRunner(AZStd::make_unique(maxConcurrentRuns)) , m_testRunner(AZStd::make_unique(maxConcurrentRuns)) + , m_artifactDir(artifactDir) { } TestEngine::~TestEngine() = default; + void TestEngine::CleanArtifactDir() const + { + DeleteFiles(m_artifactDir, "*xml*"); + } + AZStd::pair> TestEngine::UpdateEnumerationCache( const AZStd::vector& testTargets, Policy::ExecutionFailure executionFailurePolicy, @@ -283,6 +291,8 @@ namespace TestImpact AZStd::optional globalTimeout, AZStd::optional callback) { + CleanArtifactDir(); + TestEngineJobMap engineJobs; const auto jobInfos = m_testJobInfoGenerator->GenerateRegularTestRunJobInfos(testTargets); @@ -308,6 +318,8 @@ namespace TestImpact AZStd::optional globalTimeout, AZStd::optional callback) { + CleanArtifactDir(); + TestEngineJobMap engineJobs; const auto jobInfos = m_testJobInfoGenerator->GenerateInstrumentedTestRunJobInfos(testTargets, CoverageLevel::Source); diff --git a/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.h b/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.h index 83f57f00ef..5192a1d3b7 100644 --- a/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.h +++ b/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.h @@ -118,10 +118,14 @@ namespace TestImpact AZStd::optional callback); private: + //! Cleans up the artifacts directory of any artifacts from previous runs. + void CleanArtifactDir() const; + size_t m_maxConcurrentRuns = 0; AZStd::unique_ptr m_testJobInfoGenerator; AZStd::unique_ptr m_testEnumerator; AZStd::unique_ptr m_instrumentedTestRunner; AZStd::unique_ptr m_testRunner; + RepoPath m_artifactDir; }; } // namespace TestImpact From 9e187d67a4f272bd4e9bdb928fc02c48ab172a53 Mon Sep 17 00:00:00 2001 From: jonawals Date: Tue, 8 Jun 2021 12:08:42 +0100 Subject: [PATCH 2/3] Fix typo with delete files filter --- .../Runtime/Code/Source/TestEngine/TestImpactTestEngine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.cpp b/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.cpp index f3ce777938..4c7d660004 100644 --- a/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.cpp +++ b/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.cpp @@ -257,7 +257,7 @@ namespace TestImpact void TestEngine::CleanArtifactDir() const { - DeleteFiles(m_artifactDir, "*xml*"); + DeleteFiles(m_artifactDir, "*.xml"); } AZStd::pair> TestEngine::UpdateEnumerationCache( From 7a884c85b37d7bfa810b53d7a9720fcc5e3f5d9c Mon Sep 17 00:00:00 2001 From: jonawals Date: Tue, 8 Jun 2021 12:19:07 +0100 Subject: [PATCH 3/3] Address PR comments --- .../Runtime/Code/Source/TestEngine/TestImpactTestEngine.cpp | 6 +++--- .../Runtime/Code/Source/TestEngine/TestImpactTestEngine.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.cpp b/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.cpp index 4c7d660004..a9d0e15781 100644 --- a/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.cpp +++ b/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.cpp @@ -255,7 +255,7 @@ namespace TestImpact TestEngine::~TestEngine() = default; - void TestEngine::CleanArtifactDir() const + void TestEngine::DeleteArtifactXmls() const { DeleteFiles(m_artifactDir, "*.xml"); } @@ -291,7 +291,7 @@ namespace TestImpact AZStd::optional globalTimeout, AZStd::optional callback) { - CleanArtifactDir(); + DeleteArtifactXmls(); TestEngineJobMap engineJobs; const auto jobInfos = m_testJobInfoGenerator->GenerateRegularTestRunJobInfos(testTargets); @@ -318,7 +318,7 @@ namespace TestImpact AZStd::optional globalTimeout, AZStd::optional callback) { - CleanArtifactDir(); + DeleteArtifactXmls(); TestEngineJobMap engineJobs; const auto jobInfos = m_testJobInfoGenerator->GenerateInstrumentedTestRunJobInfos(testTargets, CoverageLevel::Source); diff --git a/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.h b/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.h index 5192a1d3b7..7d16f352f3 100644 --- a/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.h +++ b/Code/Tools/TestImpactFramework/Runtime/Code/Source/TestEngine/TestImpactTestEngine.h @@ -119,7 +119,7 @@ namespace TestImpact private: //! Cleans up the artifacts directory of any artifacts from previous runs. - void CleanArtifactDir() const; + void DeleteArtifactXmls() const; size_t m_maxConcurrentRuns = 0; AZStd::unique_ptr m_testJobInfoGenerator;