From d9259626ce14259c69b0827ad5aa5dce04b3bb2a Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Wed, 24 Jun 2020 17:23:33 +0200 Subject: [PATCH 01/20] RFC for multi test run finalization --- RFCs/0031-Multi-Test-Run-Finalization.md | 137 +++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 RFCs/0031-Multi-Test-Run-Finalization.md diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md new file mode 100644 index 00000000..c0a50003 --- /dev/null +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -0,0 +1,137 @@ +# 0031 Multi Test Run Finalization + +# Summary +Introduce APIs to perform data attachments reprocessing (e.g. combining, merging) after two or more independent test executions. + +# Motivation +Today when Test Platform executes tests in parallel only code coverage reports are merged (attachments with uri: `datacollector://microsoft/CodeCoverage/2.0`). For other attachments processing is skipped and all attachments are returned by Test Platform. + +The [dotnet test](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test) command is used to execute unit tests in a given solution. The `dotnet test` command builds the solution and runs a test host application for each test project in the solution. However, currently there is no way to combine/merge attachments associated with each project execution. Coverage reports are not merged. + +When `Run All Tests` is performed in VS, tests for projects can be executed separately. In this case also combining/merging of data attachments is not performed. Coverage reports are not merged. `Analyze Code Coverage for All Tests` is showing coverage report for only one of the test projects. + +# Proposed Changes +1. Introduce a `IDataCollectorAttachments` interface which can be implemented by Test Platform extensions and provide custom logic to combine/merge attachments. + +``` +namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection +{ + /// + /// Interface for data collectors add-ins that choose to handle generated attachments + /// + public interface IDataCollectorAttachments + { + /// + /// Gets the attachments Uris, which are handled by current Collector + /// + IEnumerable GetExtensionUris(); + + /// + /// If true, test platform will be sending attachments in smaller chunks, to speed up processing, whenever more than two test executions is finished + /// If false, test platform will wait till all test executions are done and provide all attachments once + /// + bool IsPreprocessing { get; } + + /// + /// Reprocess attachments generated by independent test executions + /// + /// Attachments to be processed + /// Progress reporter. Accepts integers from 0 to 100 + /// Message logger + /// Cancellation token + /// Attachments after reprocessing + ICollection HandleDataCollectionAttachmentSets(ICollection attachments, IProgress progressReporter, IMessageLogger logger, CancellationToken cancellationToken); + } +} +``` + +Method `GetExtensionUris` should provide all Uris for data attachments which are handled by current collector. Test platform will provide to collector only attachments with such Uris. It's also required that result of method `HandleDataCollectionAttachmentSets` will contain only attachments with such Uris. + +`IsPreprocessing` should indicate if collector is interested in getting data attachments as soon as possible when any two test executions are done. For example let's assume we have 5 test executions which are generating 5 data attachments: `a1`, `a2`, `a3`, `a4` and `a5`. +If `IsPreprocessing` is `True` then Test Platform will send data attachments ASAP to `HandleDataCollectionAttachmentSets` method. For example test platform can perform invocations: +* `var result1 = HandleDataCollectionAttachmentSets([a1, a2, a3], ...);` when first 3 executions are done +* `var result2 = HandleDataCollectionAttachmentSets(result1.Concat([a4]), ...);` when 4th execution is done +* `var finalResult = HandleDataCollectionAttachmentSets(result2.Concat([a5]), ...);` when last test execution is done + +If `IsPreprocessing` is `False` then Test Platform will wait for all test executions to finish and call `HandleDataCollectionAttachmentSets` only once: +* `var finalResult = HandleDataCollectionAttachmentSets([a1, a2, a3, a4, a5], ...);` + +By default `IsPreprocessing` should be `False`, unless processing can take longer time and it's beneficial to start handling as soon as possible. + + + +2. Introduce a new `FinalizeMultiTestRunAsync` method in [IVsTestConsoleWrapper](https://github.com/microsoft/vstest/blob/master/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Interfaces/IVsTestConsoleWrapper.cs) interface: + +``` +/// +/// Provides back all attachments to TestPlatform for additional processing (for example merging) +/// +/// Collection of attachments +/// Indicates that not all test executions are done and not all data is provided +/// Enables metrics collection +/// EventHandler to receive session complete event +/// Cancellation token +Task FinalizeMultiTestRunAsync(IEnumerable attachments, bool preprocessing, bool collectMetrics, IMultiTestRunFinalizationEventsHandler eventsHandler, CancellationToken cancellationToken); +``` + + + +3. Introduce a new `IMultiTestRunFinalizationEventsHandler` interface: +``` +namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client +{ + /// + /// Interface contract for handling multi test run finalization complete events + /// + public interface IMultiTestRunFinalizationEventsHandler : ITestMessageEventHandler + { + /// + /// Dispatch MultiTestRunFinalizationComplete event to listeners. + /// + /// Finalization Complete event args. + /// Last set of processed attachment sets. + void HandleMultiTestRunFinalizationComplete(MultiTestRunFinalizationCompleteEventArgs finalizationCompleteEventArgs, IEnumerable lastChunk); + + /// + /// Dispatch FinalisedAttachments event to listeners. + /// + /// Finalised attachment sets. + void HandleFinalisedAttachments(IEnumerable attachments); + + /// + /// Dispatch MultiTestRunFinalizationProgress event to listeners. + /// + /// Finalization Progress event args. + void HandleMultiTestRunFinalizationProgress(MultiTestRunFinalizationProgressEventArgs finalizationProgressEventArgs); + } +} +``` +Interface provides callbacks from Multi Test Run Finalization process. For every finalization process `HandleMultiTestRunFinalizationComplete` will be called once and will provide last chunk or all data attachments. During finalization process `HandleFinalisedAttachments` can be invoked several times providing data attachments that are already processed. Method `HandleMultiTestRunFinalizationProgress` will be invoked every time when `progressReporter` is used by `IDataCollectorAttachments` implementation and will provide information about current collector: progress, uris and index of collector. Additionally event will contain also number of collectors. + + +4. Use above logic to combine/merge data attachments for parallel test executions and VS scenarios (e.g. `Run All Tests`, `Analyze Code Coverage for All Tests`). In case of `Analyze Code Coverage for All Tests` VS will use `vstest.console` in Design Mode and merge all code coverage reports. VS will show full code coverage report for all test projects. + +5. When [dotnet test](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test) command is used to execute unit tests in a given solution, new console app `Orchestrator` will be executed. + * `Orchestrator` for every project inside solution will start `dotnet test` command, using `Process` with output redirected. Output for every project will be printed to stdout with some mutex to not mix output from children. + * Additionally new test platform extension will be introduced and will propagate data about: + - Attachments + - Test results statistics + back to `Orchestrator`. + * In parallel with test executions `Orchestrator` will start `vstest.console` in Design Mode. + * Whenever at least 2 test executions are finished `Orchestrator` will invoke `FinalizeMultiTestRunAsync` and provide all attachments from those test executions. Parameter `preprocessing` will be set to `true`. Test platform will provide data attachments to Collectors with `IsPreprocessing` set to `true.` + * When all test exections are done `Orchestrator` will provide all attachments back through `FinalizeMultiTestRunAsync` with `preprocessing` set to `false`. Test Platfrom will use all available collectors to process data attachments. + * When all attachments are merged `Orchestrator` will display information about data attachments to standard output. + * Finally `Orchestator` will combine all tests results print it to standard output. + + For example let's assume we have .NET Core solution with 4 test projects `A1`, `A2`, `A3` and `A4`. Let's assume running tests for `A1`, `A2`, `A3`, `A4` takes 3, 4, 5 and 11 seconds respectively. + Running `dotnet test` on solution level will result in: + * Second 0: `Orchestrator` will run all tests projects in parallel (by invoking `dotnet test` for each project) + * Second 0: `Orchestrator` starts `vstest.console` in Design Mode + * Second 3: Tests for `A1` are completed. Code coverage report is produced. Let's name it `CC1`. + * Second 4: Tests for `A2` are completed. Code coverage report is produced. Let's name it `CC2`. `Orchestator` starts merge of `CC1` and `CC2` by invoking `FinalizeMultiTestRunAsync([CC1, CC2], preprocessing: true)`. Let's assume merging will take 3 seconds (will finish in second 8). + * Second 5: Tests for `A3` are completed. Code coverage report is produced. Let's name it `CC3`. As merging is already in progress nothing is done. + * Second 8: Merging of `CC1` and `CC2` is done. New Code coverage report is produced. Let's name it `CC1_2`. `Orchestator` starts merge of `CC1_2` and `CC3` by invoking `FinalizeMultiTestRunAsync([CC1_2, CC2], preprocessing: true)`. Let's assume merging will take 2 seconds (will finish in second 10). + * Second 10: Merging of `CC1_2` and `CC3` is done. New Code coverage report is produced. Let's name it `CC1_2_3`. + * Second 11: Tests for `A4` are completed. Code coverage report is produced. Let's name it `CC4`. There is no merging in progress and all test executions are done. Orchestator` starts final merge of `CC1_2_3` and `CC4` by invoking `FinalizeMultiTestRunAsync([CC1_2_3, CC2], preprocessing: false)`. Let's assume merging will take 2 seconds (will finish in second 13). + * Second 13: Merging of `CC1_2_3` and `CC4` is done. New Code coverage report is produced. Let's name it `CC1_2_3_4`. `Orchestator` prints information about data attachment `CC1_2_3_4`. `Orchestator` prints aggregated statistics about tests from all `A1`, `A2`, `A3` and `A4`. + From 82823ad4d53eab79fbc9b2f373d47b761af2f1d2 Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Wed, 24 Jun 2020 17:47:03 +0200 Subject: [PATCH 02/20] changes --- RFCs/0031-Multi-Test-Run-Finalization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index c0a50003..7dc1906e 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -11,7 +11,7 @@ The [dotnet test](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test When `Run All Tests` is performed in VS, tests for projects can be executed separately. In this case also combining/merging of data attachments is not performed. Coverage reports are not merged. `Analyze Code Coverage for All Tests` is showing coverage report for only one of the test projects. # Proposed Changes -1. Introduce a `IDataCollectorAttachments` interface which can be implemented by Test Platform extensions and provide custom logic to combine/merge attachments. +1. Introduce a `IDataCollectorAttachments` interface which can be implemented by Test Platform extensions and provide custom logic to combine/merge attachments. Below interface should be used only for providing logic to combine/merge information from data attachments from independent test executions. This interface should **not be** used to for modifying separated data attachment. Test Platform will invoke `HandleDataCollectionAttachmentSets` only if at least 2 data attachments related to Collector (through `GetExtensionUris`) are created by independent test executions. ``` namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection From 5e3d340885a94e5abff7b17a070f985fa19a71fd Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Wed, 24 Jun 2020 17:48:35 +0200 Subject: [PATCH 03/20] Fix typo --- RFCs/0031-Multi-Test-Run-Finalization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index 7dc1906e..39ff9510 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -11,7 +11,7 @@ The [dotnet test](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test When `Run All Tests` is performed in VS, tests for projects can be executed separately. In this case also combining/merging of data attachments is not performed. Coverage reports are not merged. `Analyze Code Coverage for All Tests` is showing coverage report for only one of the test projects. # Proposed Changes -1. Introduce a `IDataCollectorAttachments` interface which can be implemented by Test Platform extensions and provide custom logic to combine/merge attachments. Below interface should be used only for providing logic to combine/merge information from data attachments from independent test executions. This interface should **not be** used to for modifying separated data attachment. Test Platform will invoke `HandleDataCollectionAttachmentSets` only if at least 2 data attachments related to Collector (through `GetExtensionUris`) are created by independent test executions. +1. Introduce a `IDataCollectorAttachments` interface which can be implemented by Test Platform extensions and provide custom logic to combine/merge attachments. Below interface should be used only for providing logic to combine/merge information from data attachments from independent test executions. This interface should **not be** used for modifying separated data attachment. Test Platform will invoke `HandleDataCollectionAttachmentSets` only if at least 2 data attachments related to Collector (through `GetExtensionUris`) are created by independent test executions. ``` namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection From ad43b6eca4d03da84649bd08d33786bdb5d4da7a Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Thu, 25 Jun 2020 14:25:48 +0200 Subject: [PATCH 04/20] Change to associative --- RFCs/0031-Multi-Test-Run-Finalization.md | 28 ++++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index 39ff9510..d4e01817 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -27,10 +27,9 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection IEnumerable GetExtensionUris(); /// - /// If true, test platform will be sending attachments in smaller chunks, to speed up processing, whenever more than two test executions is finished - /// If false, test platform will wait till all test executions are done and provide all attachments once + /// Indicates whether HandleDataCollectionAttachmentSets is associative (e.g. `f([a, b, c], ...) = f([f([a, b], ...), c], ...)`) /// - bool IsPreprocessing { get; } + bool IsAssociative { get; } /// /// Reprocess attachments generated by independent test executions @@ -47,16 +46,17 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection Method `GetExtensionUris` should provide all Uris for data attachments which are handled by current collector. Test platform will provide to collector only attachments with such Uris. It's also required that result of method `HandleDataCollectionAttachmentSets` will contain only attachments with such Uris. -`IsPreprocessing` should indicate if collector is interested in getting data attachments as soon as possible when any two test executions are done. For example let's assume we have 5 test executions which are generating 5 data attachments: `a1`, `a2`, `a3`, `a4` and `a5`. -If `IsPreprocessing` is `True` then Test Platform will send data attachments ASAP to `HandleDataCollectionAttachmentSets` method. For example test platform can perform invocations: +`IsAssociative` should indicate if `HandleDataCollectionAttachmentSets` is [associative](https://en.wikipedia.org/wiki/Associative_property). + +If `IsAssociative` is `True` Test Platform may try to speed up executions/merging by combining/merging data attachments as soon as possible when any two test executions are done. For example let's assume we have 5 test executions which are generating 5 data attachments: `a1`, `a2`, `a3`, `a4` and `a5`. Test platform could perform invocations: * `var result1 = HandleDataCollectionAttachmentSets([a1, a2, a3], ...);` when first 3 executions are done * `var result2 = HandleDataCollectionAttachmentSets(result1.Concat([a4]), ...);` when 4th execution is done * `var finalResult = HandleDataCollectionAttachmentSets(result2.Concat([a5]), ...);` when last test execution is done -If `IsPreprocessing` is `False` then Test Platform will wait for all test executions to finish and call `HandleDataCollectionAttachmentSets` only once: +If `IsAssociative` is `False` then Test Platform will wait for all test executions to finish and call `HandleDataCollectionAttachmentSets` only once: * `var finalResult = HandleDataCollectionAttachmentSets([a1, a2, a3, a4, a5], ...);` -By default `IsPreprocessing` should be `False`, unless processing can take longer time and it's beneficial to start handling as soon as possible. +By default `IsAssociative` should be `False`, unless processing can take longer time and it's beneficial to start handling as soon as possible. @@ -67,11 +67,11 @@ By default `IsPreprocessing` should be `False`, unless processing can take longe /// Provides back all attachments to TestPlatform for additional processing (for example merging) /// /// Collection of attachments -/// Indicates that not all test executions are done and not all data is provided +/// Indicates that all test executions are done and all data is provided /// Enables metrics collection /// EventHandler to receive session complete event /// Cancellation token -Task FinalizeMultiTestRunAsync(IEnumerable attachments, bool preprocessing, bool collectMetrics, IMultiTestRunFinalizationEventsHandler eventsHandler, CancellationToken cancellationToken); +Task FinalizeMultiTestRunAsync(IEnumerable attachments, bool multiTestRunCompleted, bool collectMetrics, IMultiTestRunFinalizationEventsHandler eventsHandler, CancellationToken cancellationToken); ``` @@ -118,8 +118,8 @@ Interface provides callbacks from Multi Test Run Finalization process. For every - Test results statistics back to `Orchestrator`. * In parallel with test executions `Orchestrator` will start `vstest.console` in Design Mode. - * Whenever at least 2 test executions are finished `Orchestrator` will invoke `FinalizeMultiTestRunAsync` and provide all attachments from those test executions. Parameter `preprocessing` will be set to `true`. Test platform will provide data attachments to Collectors with `IsPreprocessing` set to `true.` - * When all test exections are done `Orchestrator` will provide all attachments back through `FinalizeMultiTestRunAsync` with `preprocessing` set to `false`. Test Platfrom will use all available collectors to process data attachments. + * Whenever at least 2 test executions are finished `Orchestrator` will invoke `FinalizeMultiTestRunAsync` and provide all attachments from those test executions that finished. Parameter `multiTestRunCompleted` will be set to `false`. Test platform will provide data attachments only to associative collectors. + * When all test exections are done `Orchestrator` will provide all attachments back through `FinalizeMultiTestRunAsync` with `multiTestRunCompleted` set to `true`. Test Platfrom will use all available collectors to process data attachments. * When all attachments are merged `Orchestrator` will display information about data attachments to standard output. * Finally `Orchestator` will combine all tests results print it to standard output. @@ -128,10 +128,10 @@ Interface provides callbacks from Multi Test Run Finalization process. For every * Second 0: `Orchestrator` will run all tests projects in parallel (by invoking `dotnet test` for each project) * Second 0: `Orchestrator` starts `vstest.console` in Design Mode * Second 3: Tests for `A1` are completed. Code coverage report is produced. Let's name it `CC1`. - * Second 4: Tests for `A2` are completed. Code coverage report is produced. Let's name it `CC2`. `Orchestator` starts merge of `CC1` and `CC2` by invoking `FinalizeMultiTestRunAsync([CC1, CC2], preprocessing: true)`. Let's assume merging will take 3 seconds (will finish in second 8). + * Second 4: Tests for `A2` are completed. Code coverage report is produced. Let's name it `CC2`. `Orchestator` starts merge of `CC1` and `CC2` by invoking `FinalizeMultiTestRunAsync([CC1, CC2], multiTestRunCompleted: false)`. Let's assume merging will take 3 seconds (will finish in second 8). * Second 5: Tests for `A3` are completed. Code coverage report is produced. Let's name it `CC3`. As merging is already in progress nothing is done. - * Second 8: Merging of `CC1` and `CC2` is done. New Code coverage report is produced. Let's name it `CC1_2`. `Orchestator` starts merge of `CC1_2` and `CC3` by invoking `FinalizeMultiTestRunAsync([CC1_2, CC2], preprocessing: true)`. Let's assume merging will take 2 seconds (will finish in second 10). + * Second 8: Merging of `CC1` and `CC2` is done. New Code coverage report is produced. Let's name it `CC1_2`. `Orchestator` starts merge of `CC1_2` and `CC3` by invoking `FinalizeMultiTestRunAsync([CC1_2, CC2], multiTestRunCompleted: false)`. Let's assume merging will take 2 seconds (will finish in second 10). * Second 10: Merging of `CC1_2` and `CC3` is done. New Code coverage report is produced. Let's name it `CC1_2_3`. - * Second 11: Tests for `A4` are completed. Code coverage report is produced. Let's name it `CC4`. There is no merging in progress and all test executions are done. Orchestator` starts final merge of `CC1_2_3` and `CC4` by invoking `FinalizeMultiTestRunAsync([CC1_2_3, CC2], preprocessing: false)`. Let's assume merging will take 2 seconds (will finish in second 13). + * Second 11: Tests for `A4` are completed. Code coverage report is produced. Let's name it `CC4`. There is no merging in progress and all test executions are done. Orchestator` starts final merge of `CC1_2_3` and `CC4` by invoking `FinalizeMultiTestRunAsync([CC1_2_3, CC2], multiTestRunCompleted: true)`. Let's assume merging will take 2 seconds (will finish in second 13). * Second 13: Merging of `CC1_2_3` and `CC4` is done. New Code coverage report is produced. Let's name it `CC1_2_3_4`. `Orchestator` prints information about data attachment `CC1_2_3_4`. `Orchestator` prints aggregated statistics about tests from all `A1`, `A2`, `A3` and `A4`. From 25b02b5ede365a57a68044662745d2f5390bbb73 Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Thu, 25 Jun 2020 14:28:13 +0200 Subject: [PATCH 05/20] More changes --- RFCs/0031-Multi-Test-Run-Finalization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index d4e01817..caf5fa9a 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -27,7 +27,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection IEnumerable GetExtensionUris(); /// - /// Indicates whether HandleDataCollectionAttachmentSets is associative (e.g. `f([a, b, c], ...) = f([f([a, b], ...), c], ...)`) + /// Indicates whether HandleDataCollectionAttachmentSets is associative (e.g. f([a, b, c]) = f([f([a, b]), c]) = f([a , f([b, c])])) /// bool IsAssociative { get; } From 75b7aa0f76717128990394a3e4b73bb612a23025 Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Thu, 25 Jun 2020 14:28:58 +0200 Subject: [PATCH 06/20] One more fix --- RFCs/0031-Multi-Test-Run-Finalization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index caf5fa9a..eaeb39cf 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -27,7 +27,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection IEnumerable GetExtensionUris(); /// - /// Indicates whether HandleDataCollectionAttachmentSets is associative (e.g. f([a, b, c]) = f([f([a, b]), c]) = f([a , f([b, c])])) + /// Indicates whether HandleDataCollectionAttachmentSets is associative (e.g. f([a, b, c]) = f([f([a, b]), c]) = f([a, f([b, c])])) /// bool IsAssociative { get; } From ed06d0f815c996f0b0139ecc38721ce6ff1cc437 Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Mon, 29 Jun 2020 12:01:30 +0200 Subject: [PATCH 07/20] v1 review changes --- RFCs/0031-Multi-Test-Run-Finalization.md | 49 ++++++++++++------------ 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index eaeb39cf..ea5f658b 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -1,33 +1,33 @@ # 0031 Multi Test Run Finalization # Summary -Introduce APIs to perform data attachments reprocessing (e.g. combining, merging) after two or more independent test executions. +This document details a data collector extensibility point to reporcess (combine/merge) attachments obtained across test executions in both design mode and commandline scenarios. # Motivation -Today when Test Platform executes tests in parallel only code coverage reports are merged (attachments with uri: `datacollector://microsoft/CodeCoverage/2.0`). For other attachments processing is skipped and all attachments are returned by Test Platform. +Today when Test Platform executes tests in parallel only code coverage reports are merged (data collector attachments with uri: `datacollector://microsoft/CodeCoverage/2.0`). For other data collector attachments reprocessing is skipped and all of them are returned by Test Platform. -The [dotnet test](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test) command is used to execute unit tests in a given solution. The `dotnet test` command builds the solution and runs a test host application for each test project in the solution. However, currently there is no way to combine/merge attachments associated with each project execution. Coverage reports are not merged. +The [dotnet test](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test) command is used to execute unit tests in a given solution. The `dotnet test` command builds the solution and runs a test host application for each test project in the solution. However, currently there is no way to reporcess (combine/merge) data collector attachments associated with each project execution. Code coverage reports are not merged. -When `Run All Tests` is performed in VS, tests for projects can be executed separately. In this case also combining/merging of data attachments is not performed. Coverage reports are not merged. `Analyze Code Coverage for All Tests` is showing coverage report for only one of the test projects. +When `Run All Tests` is performed in VS, tests for projects can be executed separately based on target platform/target framework amongst other criteria. In this case also combining/merging of data collector attachments is not performed (e.g. code overage reports are not merged). `Analyze Code Coverage for All Tests` is showing coverage report for only some test projects in the run. # Proposed Changes -1. Introduce a `IDataCollectorAttachments` interface which can be implemented by Test Platform extensions and provide custom logic to combine/merge attachments. Below interface should be used only for providing logic to combine/merge information from data attachments from independent test executions. This interface should **not be** used for modifying separated data attachment. Test Platform will invoke `HandleDataCollectionAttachmentSets` only if at least 2 data attachments related to Collector (through `GetExtensionUris`) are created by independent test executions. +1. Introduce a `IDataCollectorAttachmentProcessor` interface which can be implemented by Test Platform extensions and provide custom logic to reporcess (combine/merge) data collector attachments. Below interface should be used only for providing logic to reprocess information from data collector attachments from independent test executions. This interface should **not be** used for modifying any single data collector attachment. Test Platform will invoke `ProcessAttachmentSets` only if at least 2 data collector attachments related to processor (through `GetExtensionUris`) are created by independent test executions. ``` namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection { /// - /// Interface for data collectors add-ins that choose to handle generated attachments + /// Interface for data collectors add-ins that choose to reprocess generated attachments /// - public interface IDataCollectorAttachments + public interface IDataCollectorAttachmentProcessor { /// - /// Gets the attachments Uris, which are handled by current Collector + /// Gets the attachments Uris, which are handled by processor /// IEnumerable GetExtensionUris(); /// - /// Indicates whether HandleDataCollectionAttachmentSets is associative (e.g. f([a, b, c]) = f([f([a, b]), c]) = f([a, f([b, c])])) + /// Indicates whether ProcessAttachmentSets is associative (e.g. f([a, b, c]) = f([f([a, b]), c]) = f([a, f([b, c])])) /// bool IsAssociative { get; } @@ -39,24 +39,24 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection /// Message logger /// Cancellation token /// Attachments after reprocessing - ICollection HandleDataCollectionAttachmentSets(ICollection attachments, IProgress progressReporter, IMessageLogger logger, CancellationToken cancellationToken); + ICollection ProcessAttachmentSets(ICollection attachments, IProgress progressReporter, IMessageLogger logger, CancellationToken cancellationToken); } } ``` -Method `GetExtensionUris` should provide all Uris for data attachments which are handled by current collector. Test platform will provide to collector only attachments with such Uris. It's also required that result of method `HandleDataCollectionAttachmentSets` will contain only attachments with such Uris. +Method `GetExtensionUris` should provide all Uris for data collector attachments which are handled by current processor. Test platform will provide to processor only data collector attachments with such Uris. Result of method `ProcessAttachmentSets` shouyld contain only data collector attachments with such Uris. -`IsAssociative` should indicate if `HandleDataCollectionAttachmentSets` is [associative](https://en.wikipedia.org/wiki/Associative_property). +`IsAssociative` should indicate if `ProcessAttachmentSets` is [associative](https://en.wikipedia.org/wiki/Associative_property). -If `IsAssociative` is `True` Test Platform may try to speed up executions/merging by combining/merging data attachments as soon as possible when any two test executions are done. For example let's assume we have 5 test executions which are generating 5 data attachments: `a1`, `a2`, `a3`, `a4` and `a5`. Test platform could perform invocations: -* `var result1 = HandleDataCollectionAttachmentSets([a1, a2, a3], ...);` when first 3 executions are done -* `var result2 = HandleDataCollectionAttachmentSets(result1.Concat([a4]), ...);` when 4th execution is done -* `var finalResult = HandleDataCollectionAttachmentSets(result2.Concat([a5]), ...);` when last test execution is done +If `IsAssociative` is `True` Test Platform may try to speed up whole process by reprocessing data collector attachments as soon as possible when any two test executions are done. For example let's assume we have 5 test executions which are generating 5 data collector attachments: `a1`, `a2`, `a3`, `a4` and `a5`. Test platform could perform invocations: +* `var result1 = ProcessAttachmentSets([a1, a2, a3], ...);` when first 3 executions are done +* `var result2 = ProcessAttachmentSets(result1.Concat([a4]), ...);` when 4th execution is done +* `var finalResult = ProcessAttachmentSets(result2.Concat([a5]), ...);` when last test execution is done -If `IsAssociative` is `False` then Test Platform will wait for all test executions to finish and call `HandleDataCollectionAttachmentSets` only once: -* `var finalResult = HandleDataCollectionAttachmentSets([a1, a2, a3, a4, a5], ...);` +If `IsAssociative` is `False` then Test Platform will wait for all test executions to finish and call `ProcessAttachmentSets` only once: +* `var finalResult = ProcessAttachmentSets([a1, a2, a3, a4, a5], ...);` -By default `IsAssociative` should be `False`, unless processing can take longer time and it's beneficial to start handling as soon as possible. +By default `IsAssociative` should be `False`, unless processing can take longer time and it's beneficial to start the process as soon as possible. @@ -74,6 +74,7 @@ By default `IsAssociative` should be `False`, unless processing can take longer Task FinalizeMultiTestRunAsync(IEnumerable attachments, bool multiTestRunCompleted, bool collectMetrics, IMultiTestRunFinalizationEventsHandler eventsHandler, CancellationToken cancellationToken); ``` +Method can be used to start a new Multi Test Run Finalization process, which is reprocessing all data collector attachments passed as first argument using all available processors. 3. Introduce a new `IMultiTestRunFinalizationEventsHandler` interface: @@ -106,10 +107,10 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client } } ``` -Interface provides callbacks from Multi Test Run Finalization process. For every finalization process `HandleMultiTestRunFinalizationComplete` will be called once and will provide last chunk or all data attachments. During finalization process `HandleFinalisedAttachments` can be invoked several times providing data attachments that are already processed. Method `HandleMultiTestRunFinalizationProgress` will be invoked every time when `progressReporter` is used by `IDataCollectorAttachments` implementation and will provide information about current collector: progress, uris and index of collector. Additionally event will contain also number of collectors. +Interface provides callbacks from Multi Test Run Finalization process. For every such process `HandleMultiTestRunFinalizationComplete` will be called once and will provide last chunk or all data collector attachments. During finalization process `HandleFinalisedAttachments` can be invoked several times providing data collector attachments that are already processed. Method `HandleMultiTestRunFinalizationProgress` will be invoked every time when `progressReporter` is used by `IDataCollectorAttachmentProcessor` implementation and will provide information about current collector: progress, uris and index of collector. Additionally event will contain also number of processors. -4. Use above logic to combine/merge data attachments for parallel test executions and VS scenarios (e.g. `Run All Tests`, `Analyze Code Coverage for All Tests`). In case of `Analyze Code Coverage for All Tests` VS will use `vstest.console` in Design Mode and merge all code coverage reports. VS will show full code coverage report for all test projects. +4. Use above logic to reprocess data collector attachments for parallel test executions and VS scenarios (e.g. `Run All Tests`, `Analyze Code Coverage for All Tests`). In case of `Analyze Code Coverage for All Tests` VS will use `vstest.console` in a variation of design mode and merge all code coverage reports. VS will show full code coverage report for all test projects. 5. When [dotnet test](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test) command is used to execute unit tests in a given solution, new console app `Orchestrator` will be executed. * `Orchestrator` for every project inside solution will start `dotnet test` command, using `Process` with output redirected. Output for every project will be printed to stdout with some mutex to not mix output from children. @@ -118,9 +119,9 @@ Interface provides callbacks from Multi Test Run Finalization process. For every - Test results statistics back to `Orchestrator`. * In parallel with test executions `Orchestrator` will start `vstest.console` in Design Mode. - * Whenever at least 2 test executions are finished `Orchestrator` will invoke `FinalizeMultiTestRunAsync` and provide all attachments from those test executions that finished. Parameter `multiTestRunCompleted` will be set to `false`. Test platform will provide data attachments only to associative collectors. - * When all test exections are done `Orchestrator` will provide all attachments back through `FinalizeMultiTestRunAsync` with `multiTestRunCompleted` set to `true`. Test Platfrom will use all available collectors to process data attachments. - * When all attachments are merged `Orchestrator` will display information about data attachments to standard output. + * Whenever at least 2 test executions are finished `Orchestrator` will invoke `FinalizeMultiTestRunAsync` and provide all attachments from those test executions that finished. Parameter `multiTestRunCompleted` will be set to `false`. Test platform will provide data collector attachments only to associative processors. + * When all test exections are done `Orchestrator` will provide all attachments back through `FinalizeMultiTestRunAsync` with `multiTestRunCompleted` set to `true`. Test Platform will use all available processors to process data collector attachments. + * When all attachments are merged `Orchestrator` will display information about data collector attachments to standard output. * Finally `Orchestator` will combine all tests results print it to standard output. For example let's assume we have .NET Core solution with 4 test projects `A1`, `A2`, `A3` and `A4`. Let's assume running tests for `A1`, `A2`, `A3`, `A4` takes 3, 4, 5 and 11 seconds respectively. From 480b5bae7115435703dd6f309c6c53c4d4b685b5 Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Mon, 29 Jun 2020 15:48:45 +0200 Subject: [PATCH 08/20] More changes --- RFCs/0031-Multi-Test-Run-Finalization.md | 166 ++++++++++++++++++++++- 1 file changed, 165 insertions(+), 1 deletion(-) diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index ea5f658b..e0e1edaa 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -11,7 +11,8 @@ The [dotnet test](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test When `Run All Tests` is performed in VS, tests for projects can be executed separately based on target platform/target framework amongst other criteria. In this case also combining/merging of data collector attachments is not performed (e.g. code overage reports are not merged). `Analyze Code Coverage for All Tests` is showing coverage report for only some test projects in the run. # Proposed Changes -1. Introduce a `IDataCollectorAttachmentProcessor` interface which can be implemented by Test Platform extensions and provide custom logic to reporcess (combine/merge) data collector attachments. Below interface should be used only for providing logic to reprocess information from data collector attachments from independent test executions. This interface should **not be** used for modifying any single data collector attachment. Test Platform will invoke `ProcessAttachmentSets` only if at least 2 data collector attachments related to processor (through `GetExtensionUris`) are created by independent test executions. + +Introduce a new `IDataCollectorAttachmentProcessor` interface which can be implemented by Test Platform extensions and provide custom logic to reporcess (combine/merge) data collector attachments. Below interface should be used only for providing logic to reprocess information from data collector attachments from independent test executions. In other words data collector attachment should be modified/created using data from other data collector attachments. This interface should **not be** used for modifying any single data collector attachment. Test Platform will invoke `ProcessAttachmentSets` only if at least 2 data collector attachments related to processor (through `GetExtensionUris`) are created by independent test executions. ``` namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection @@ -136,3 +137,166 @@ Interface provides callbacks from Multi Test Run Finalization process. For every * Second 11: Tests for `A4` are completed. Code coverage report is produced. Let's name it `CC4`. There is no merging in progress and all test executions are done. Orchestator` starts final merge of `CC1_2_3` and `CC4` by invoking `FinalizeMultiTestRunAsync([CC1_2_3, CC2], multiTestRunCompleted: true)`. Let's assume merging will take 2 seconds (will finish in second 13). * Second 13: Merging of `CC1_2_3` and `CC4` is done. New Code coverage report is produced. Let's name it `CC1_2_3_4`. `Orchestator` prints information about data attachment `CC1_2_3_4`. `Orchestator` prints aggregated statistics about tests from all `A1`, `A2`, `A3` and `A4`. +# Additional classes + +1. `MultiTestRunFinalizationCompleteEventArgs` used by IMultiTestRunFinalizationEventsHandler: + +``` +namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client +{ + [DataContract] + public class MultiTestRunFinalizationCompleteEventArgs : EventArgs + { + /// + /// Default constructor. + /// + /// Specifies whether the finalization is canceled. + /// Specifies the error encountered during the execution of the finalization. + public MultiTestRunFinalizationCompleteEventArgs(bool isCanceled, Exception error) + { + this.IsCanceled = isCanceled; + this.Error = error; + } + + /// + /// Gets a value indicating whether the finalization is canceled or not. + /// + [DataMember] + public bool IsCanceled { get; private set; } + + /// + /// Gets the error encountered during the finalization of the test runs. Null if there is no error. + /// + [DataMember] + public Exception Error { get; private set; } + + /// + /// Get or Sets the Metrics + /// + [DataMember] + public IDictionary Metrics { get; set; } + } +} +``` + +2. `MultiTestRunFinalizationProgressEventArgs` used by IMultiTestRunFinalizationEventsHandler: + +``` +namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client +{ + [DataContract] + public class MultiTestRunFinalizationProgressEventArgs : EventArgs + { + /// + /// Default constructor. + /// + /// Specifies current processor index. + /// Specifies current processor Uris. + /// Specifies current processor progress. + /// Specifies the overall number of processors. + public MultiTestRunFinalizationProgressEventArgs(long currentProcessorIndex, ICollection currentProcessorUris, long currentProcessorProgress, long processorsCount) + { + CurrentProcessorIndex = currentProcessorIndex; + CurrentProcessorUris = currentProcessorUris; + CurrentProcessorProgress = currentProcessorProgress; + ProcessorsCount = processorsCount; + } + + /// + /// Gets a current processor index. + /// + [DataMember] + public long CurrentProcessorIndex { get; private set; } + + /// + /// Gets a current processor URI. + /// + [DataMember] + public ICollection CurrentProcessorUris { get; private set; } + + /// + /// Gets a current processor progress. + /// + [DataMember] + public long CurrentProcessorProgress { get; private set; } + + /// + /// Gets the overall number of processors. + /// + [DataMember] + public long ProcessorsCount { get; private set; } + } +} +``` + +3. Class `MultiTestRunFinalizationPayload` defines message payload connected to message ID `"MultiTestRunFinalization.Start"` + +``` +namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client +{ + /// + /// Class used to define the MultiTestRunFinalizationPayload sent by the Vstest.console translation layers into design mode + /// + public class MultiTestRunFinalizationPayload + { + /// + /// Collection of attachments. + /// + [DataMember] + public IEnumerable Attachments { get; set; } + + /// + /// Gets or sets whether Metrics should be collected or not. + /// + [DataMember] + public bool CollectMetrics { get; set; } + + /// + /// Gets or sets whether all multi test runs are completed. + /// + [DataMember] + public bool MultiTestRunCompleted { get; set; } + } +} +``` + +4. Class `MultiTestRunFinalizationCompletePayload` defines message payload connected to message ID `"MultiTestRunFinalization.Complete"` + +``` +namespace Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel +{ + /// + /// Multi test run finalization complete payload. + /// + public class MultiTestRunFinalizationCompletePayload + { + /// + /// Gets or sets the multi test run finalization complete args. + /// + public MultiTestRunFinalizationCompleteEventArgs FinalizationCompleteEventArgs { get; set; } + + /// + /// Gets or sets the attachments. + /// + public IEnumerable Attachments { get; set; } + } +} +``` + +5. Class `MultiTestRunFinalizationProgressPayload` defines message payload connected to message ID `"MultiTestRunFinalization.Progress"` + +``` +namespace Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel +{ + /// + /// Multi test run finalization complete payload. + /// + public class MultiTestRunFinalizationProgressPayload + { + /// + /// Gets or sets the multi test run finalization complete args. + /// + public MultiTestRunFinalizationProgressEventArgs FinalizationProgressEventArgs { get; set; } + } +} +``` \ No newline at end of file From 7e765341e3f9c5aee1956724b3efc30bbf954a06 Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Mon, 29 Jun 2020 17:09:04 +0200 Subject: [PATCH 09/20] Newest review changes --- RFCs/0031-Multi-Test-Run-Finalization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index e0e1edaa..d6f8a81f 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -123,7 +123,7 @@ Interface provides callbacks from Multi Test Run Finalization process. For every * Whenever at least 2 test executions are finished `Orchestrator` will invoke `FinalizeMultiTestRunAsync` and provide all attachments from those test executions that finished. Parameter `multiTestRunCompleted` will be set to `false`. Test platform will provide data collector attachments only to associative processors. * When all test exections are done `Orchestrator` will provide all attachments back through `FinalizeMultiTestRunAsync` with `multiTestRunCompleted` set to `true`. Test Platform will use all available processors to process data collector attachments. * When all attachments are merged `Orchestrator` will display information about data collector attachments to standard output. - * Finally `Orchestator` will combine all tests results print it to standard output. + * Finally `Orchestator` will combine all tests results statistics and print it to standard output. For example let's assume we have .NET Core solution with 4 test projects `A1`, `A2`, `A3` and `A4`. Let's assume running tests for `A1`, `A2`, `A3`, `A4` takes 3, 4, 5 and 11 seconds respectively. Running `dotnet test` on solution level will result in: From abc6b68c7430c8cb9f08aff1dbac41033a6c4748 Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Mon, 29 Jun 2020 18:13:36 +0200 Subject: [PATCH 10/20] Diagram for finalization --- RFCs/0031-Multi-Test-Run-Finalization.md | 2 ++ RFCs/Images/finalization.png | Bin 0 -> 72581 bytes RFCs/Images/finalization.vsdx | Bin 0 -> 37584 bytes 3 files changed, 2 insertions(+) create mode 100644 RFCs/Images/finalization.png create mode 100644 RFCs/Images/finalization.vsdx diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index d6f8a81f..3cadf6cf 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -125,6 +125,8 @@ Interface provides callbacks from Multi Test Run Finalization process. For every * When all attachments are merged `Orchestrator` will display information about data collector attachments to standard output. * Finally `Orchestator` will combine all tests results statistics and print it to standard output. +![dotnet-test finalization](Images/finalization.png) + For example let's assume we have .NET Core solution with 4 test projects `A1`, `A2`, `A3` and `A4`. Let's assume running tests for `A1`, `A2`, `A3`, `A4` takes 3, 4, 5 and 11 seconds respectively. Running `dotnet test` on solution level will result in: * Second 0: `Orchestrator` will run all tests projects in parallel (by invoking `dotnet test` for each project) diff --git a/RFCs/Images/finalization.png b/RFCs/Images/finalization.png new file mode 100644 index 0000000000000000000000000000000000000000..94b5a7eccf602970de6943a6109598dd403a75fa GIT binary patch literal 72581 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

eF8}C37-q6BCgp=@#ewl#Ad?XxFD;h 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 RDhqysQq?;B>eSVL{Vy8!d6obG literal 0 HcmV?d00001 diff --git a/RFCs/Images/finalization.vsdx b/RFCs/Images/finalization.vsdx new file mode 100644 index 0000000000000000000000000000000000000000..89889b9047fd543979947f5706a6542df25d3687 GIT binary patch literal 37584 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 Date: Mon, 29 Jun 2020 21:18:56 +0200 Subject: [PATCH 11/20] Review changes --- RFCs/0031-Multi-Test-Run-Finalization.md | 2 +- RFCs/Images/finalization.png | Bin 72581 -> 74635 bytes RFCs/Images/finalization.vsdx | Bin 37584 -> 37913 bytes 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index 3cadf6cf..603cceca 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -1,7 +1,7 @@ # 0031 Multi Test Run Finalization # Summary -This document details a data collector extensibility point to reporcess (combine/merge) attachments obtained across test executions in both design mode and commandline scenarios. +This document details a data collector extensibility point to reprocess (combine/merge) attachments obtained across test executions in both design mode and commandline scenarios. # Motivation Today when Test Platform executes tests in parallel only code coverage reports are merged (data collector attachments with uri: `datacollector://microsoft/CodeCoverage/2.0`). For other data collector attachments reprocessing is skipped and all of them are returned by Test Platform. diff --git a/RFCs/Images/finalization.png b/RFCs/Images/finalization.png index 94b5a7eccf602970de6943a6109598dd403a75fa..33b30952bc8a7089112d0529e19ee4f65821e6b8 100644 GIT binary patch literal 74635 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

eF8}C37-q6BCgp=@#ewl#Ad?XxFD;h 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 RDhqysQq?;B>eSVL{Vy8!d6obG diff --git a/RFCs/Images/finalization.vsdx b/RFCs/Images/finalization.vsdx index 89889b9047fd543979947f5706a6542df25d3687..3fb27578458ebd1abc5a3ed4cc08c5a3c7f6fd46 100644 GIT binary patch delta 14082 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 Lfz^xukMw^4xlrN; delta 13772 zcmZX5V{j&6vvzFTwr$(CZ9CZ{Pi#LMJK5OY*tTsO8z-B5`@VImPM!MZM_12OR}Xsn zuIuirJF^^Yt^}-}ni}%LnV2XN$Usd7P;}m8LFh(a1KcT=y^}kxFqNw}!)`#rWRWR# zK5~>JIl==emDN(LdINu6aXdGArXOQu9g**nS4>u|ru@KH$&y6{jv+@wlcmyAJ!DiX zdbx>qRqc-=rz3MfUz;}1vC_s>K#3MCg2`3>O(~JH%fuB!&&2do|~PTtS+R^w*p2_d)YpOZO}*@5|sU z^r@{nJ1s~Yw4KN<}$FSF_pGnLBY>DFdxG37Td(v z)Xsa!lX}>Wf07N+>in~i`00H}d;$2uHAQ-}KAii>IA?dP;c7|~7y9lM%W#^sebpto z&1%arq6I#AGO8gkR?>Jy6Iq6;-9Y;5sgg>0RO0eI! z_td><8%2B$Zz8t;jm5j0ZsV8~?=twiq(YSRDoyg53!nD1VAIZ9Y)cEHIRqkeDSPdn z`P3fCE@EPneH0A)8f=muFs#+fk1lh~xXG$`jRy+3paI_H^U2YaZ_eA_kldrE zqfNGcT6l~R1Cx=c-@xhq0Pp_JSP<9W?<&Ae8F7t{%C6C^C8rG*d|}WSSkHplbVxf( z3|E}Qk+($-0wTl)?2;t}=(}(7qy_F){zbl+3f=0Ap8Bw)oB4@8YP-s3n|SR(t*joS zxOp*_BA>E&?z{0_|Lp=84}_)&1_%2kt2>jx?@`Im$_(NIk~8Ve%>4CtH;*`;xk>xaI$d@RAPu~WL;nV$POB=r z*U6cAwzl!|-pxahSAQz~PweuULtwXH@9&Hp%S~e{8^29=1LqGvflS0d-rpT8J9)bn z?9D$|jSUjDC+GcLbvYWig*&^Y+H8iRTd~(Yx&}|MGRlMeTk z_&q*>Zk#>iX~VmrfY9z-(+gzi+mY4vkKFyqx7E+xVPWO(-~F2hsr!4^KJ61MzaeV6 zCQ29kJ9GEvEuKwzUM;Q95<@8Bw|HDa`}zTcj@N~W2c+CYkPX;A$@zS;82mzj3m3M@ zz-g*fRAN=KI5o#z_%M|pab%aa_QpVH?q#0 z+|$H}`~~Gx)9qqr;YsLF_jmIjcSjeW-ZhHSpKC;z<^qM9$%Iog>`C}T@C0A9b<9kS zO`3n$b)47*IE*=jTN5?cKZhzDDX4AmE~BVkmzRB5g$BFK7ZOig0m^zxwE9euhwI1vc|KoO?^kC@Hcjz8_upnF%z61%#@henHpbz4;60?h zyKJX@YmPFz!^HJxvSWi!%Q4a2vCu>{_$!%~-AR4?#X zKs!CppHPu=OUVWyKiz&w$wpRPS0Ur+#^oT05fHxRJuB94L^S96&EMi=?c&cTRhnKx z8DgfilHp$Cbi`^@9PKMVp`w99N(hKd5ey+A?sqdIq{|~N(!r;rwYR0FdmpBY^1Vtk z+S+1(l#V&$MV>oD=BUH5c#;vjPQIM{any)n78x_{H~|z7?2}{wTlmkVy#ulnq{^OLE0a{DU#voQD46=Vorcu&Hq# z(h9MA9V#T|Z| zUPu-aQ`wpoBd()Jn_ta9R?~_Slxhp{dBGhAu;ydMaC^9(^?keG;=k3uNPlHIa@lGE zLQnVtofJ%jF#~eNZnakta)pgIU#=b%xq4@`VucHA`+gP7lKlY_?9By?E1h1r+1j0S zha{RJ{)+c!_+Bb%-yYUo&l-nt^OoN8g{6CD?ndGqJ`jLKao)jj)j5?~Wg@#?DB)y*p~3 ze`${-`!Djp`0@gU^enK~!EiK6Ss$(DBN{%<|F)J;3=-IaUFyd)?nSm1UDet)0mkb2 zwIURKTFxYE5{>LQz%jSUWtj1T2^U^KHwB2Y>ZZY^#s7I}_2}trdY<$Yg zt)(?JsV0ni_{ovAP+TWT1MA{mC z*-7${>T~8hJJnN@N1;n_&_jIrES+Z}Be?tx(z{Y;wdLK>pnV zVZCO>7`@Jp#^e#7#*lqw4$HK_R-4}jrCZeGX@=xY;{QqBg%P9z!Ua;FzEUG19Lk{kqgn_w@oDjZi`zD10_*Na#)H;uTK2=R%gjJq zDj|t9km}K$a(0dY*K44z5-!ChE9rYi3H=pVY{(2~l2Z{z0z{+wsUG+$Ro>exx=9h` z!4u5B7~Yw4{gE>h(>&znFpXM$6J+`z2>Ff*DJuDPdDQZ#faXmT&gM1>(6PPGa#+t- za&nWhHej-fOuXjNCo6@iWjv$mRgpmZSnJ(Ynh}Bz`C>CtkdVmnk;%RvC8dwk5nQbp zA#O;O9Bb0k1w8H%(#y}--G~i0{_W@MbxY7**;_GelW`6}J4%gvdbg8xk6B`hRrjJf7e0|fs12Fq5DCqy~b!!3u$a5-r4_p0s zI8>k1ME;v4=uTYAb&6p-?z|%kw?W{Hb@&HXV871#PDZY`yrY;sWu z2N?;527vBdoL+()VRhz~TPr1!@q>VwF^;IxjWydr?jdQ_b-uC32X8<{7k(}47B#Cg z!|Xoe`a3Slq&OFDGds7KeEd0|A=xih?qTCops=HL)p`dw#J)6!}( zCfcOFx-eZUY#B;B9Nvof^z#m?z8+k4H$ zLLbqv5!n`vK(nvWzcjME z*XNF_G7pXStI8%P+Y*rDgx=y1J{=5M#qSrIDMOI|Zkxl{;>l;0Ba^Qr@)!LCdUO#4JY<4vWQq655|&OtNy9$@B= z*Xelj;kj#fqq$ydmfIrk6fApBy7OCR*OPPcQPu@pQvKexUfPGDPn}a)A{5@Z zB+YZ;doXPZ^nIy~!6B%Cq6XX5hOy&`!3hjFsX&zmW%^mSzjOHQFlTlSdhPv^SDa)= zWMTH?!nDniYOaq{CUjTuk8AcrZkwTXRos=J^914IJr1c#_!p96D?P{Iz&pg;+|&kcQZh+bo&@&6-e9JBCxu3;QcQ zMWQRefYdd$n>Rbe9mrx3Us$fR5>m%_*}DEQd5Fq7uu(WItaBtT4i`^~0 z{-@ge${vO_y&?(V-08%wWN=loe6QWBlzB3}#0;KaRtoiQ4caQb`EIMyc$JhTgQ!6Z zqj+ss5Brh^bB6<98`Mh?o*yLIIX)|X0~O^W;zVUW>*wz{*+IE27|$aD45UHdjcy%a%?o z9E4Yam0BeYE8R4j@cZ9diu3_KlJKF(phu2; zEwO9d2b4R24a&$*x8t(*jO2T6Z_0AgFwxj&)L!mi<*HrCDOD=*6iTS^;uLJs+OXRd zuy^}D;06aWG)<=x?ga&;^m;MG7G0(`vS9|?v#|kTaIA|)x_^DuWlaAh@!W>#;dxyW za7rTWBCB{|1vXuIdN;RM!Pz={SamUPkx7lO`D$Cf! z5!ocHPixfYhUi3Q@X1b+?86WIeT_;-`m+zsrvhe$a)A)0c&uwO5F_M`ocaI-`1PUp zed16Xbe8ZG4*R2m{X>CBR!+H2O}aL_-=wh91umnanPyJvp<-uoIj9n_S~AO=8RZ>F z69|@oOc0w%@ySe;O;?U_<;0lywd1lb%Q0owvd~WjRV7p@e7pECqnwb%jg0D}`r1f4 zVYIMzJO%}A_wpI-S z?5iO=X1UFd!bmN83iiwLC{xBVn`A(UG=En`E#-0M^<(R#IFFlTYrKBzU^pEdq#Vz#+e*(g*O!f zp|D~US%<3Rfs$|Y#(Q#Moui}*;a7_`WW+#15)1)UEW;DX+o{%B zDE&>4-rnC}AVzXvxxIXZoFj#4%n*_ZTRoHtF3xZyKa`=zU~>qnfpOF)C{N@-SGkrM zes-;)=I81$Q-zrx4IBbskGVhnERZC@Hk^h~-1>%(CtxJ}V3NTH(w5XCnMLTQrL1bA zR2^&emgGDPC^>DySTH`b;=&Udlbqci444AO1SB6U@@WB-x#GJ}3j?N6Jh?0ndmxe$hT6_a?N5$?=6);1&!I$DgqFmt zN;xLlp^#}M+_^bEP4OAgCw&i}686gQO4;(8N*w*ua`>se?g)z_y=)vcPcAwQvqke@ zPDSdZc8EtPdzG5!VwKpT6R;FWb}mr+XhgV(IPzcOF2_lKybbx#JmSyZK*ZDzw*;%7 z;B%A5fA7{=5SZ&_~-9pq;%w;3%eHv^^Rp>0*;M+X~LBLf$!%^ z1q#IXiC#LS9(mBUbAM7Xv@f?=y5WBo-4+4HZ`w7ZJrB--NN$h>O=mj>RpX9Gq?DK; zj#{K#%a+rji;by(;fda~Uu#l2@MA+GTeGmKwG@b5Z()E0Bi4K?Ko2=@lD#GqrRuZ{ z|5f;$$Wo-n&S`?Qn~&_0A!{NZ{l9$3O4}~am=tQ(_8acfo{A4y={CzdmPR1)i20#` zK3%f0D)W=mn=UI6x4ry62h35E#3>j}OYd#wv24+yT@NXZo&eBdpg5CO6nF6E!%37g zU8asvnhjuvI$XB%_wtNya(&2(=?rDeF%q)|B0Q*L1#-a0b6jXdopKHA#@cUbM#&Qz zgwtro&v|qAzd_2N^qU57rKf<2yIO!y4oUQli(6=xww7Vi#2Dba#gK;Kzr`UXt!%Zt zirnAIcp|EY&GRw2HG{7Dt<2XPGDy5KsCDfHK>$Fi3v)Y~Q1%Dz(50fdUR15aH<1_g zqryCWB$M2rv0=9&-p*r7V%2=%qo;m7yt|6E1G*|!?r&2FqP9m-fvALKPVb(G&ZM*( zbeH1~QpAYH*oe-BJmMqpN_s1a+8kE1GP{K(w38ZVGlLtMKa%!*kR3=Qs3Ornf>Bzs zOaTh9zrGxZ;EhcrRKf;CTVEi$7%e`wV@IrS0nwHGdfR> zA*wh_j`_M%*+yO^CfYc7)y6v58TOtsx+K6=PC_a%ccCel-|gPTTTwz1b9++Glm219 zbE#ad$>&#tIeN+Y7LS`Bo$;hx+E~gE(*sS2N&%QeX?RzhAURiZF4+y;q_fY?Yl`?ma_)I~sm6{= z#St0QfNQ(sH9;m1hEZv*lcOos^A(gn4pvO78%TUe8GS8^}QC&d6%zqu@Ed2SS6l}>o;St;=mF1#v z>h{w{UxSlw^#nZ3vBb!l1*7ihUAcuLvd6}j`UHBp$iihlI>LdCveK`av0L@=-=Y#) zxC@C>8UFrkDR!et^=rxHy&g~_c3TF?B8bqUfVgWc!*v%oCc8@XL zk)x15r!W8?k6he*Tl|Xn2`ZA)^O>zri$;4TqHCgo`CczZ&JACAL_L5`@A}@}61=ib zvbvA)L}f;8!AJXN|Dhf&eX4G|$G%F{^O-{wkJ}lbjlZ#>;>|vymNq>$VdUq#rdzXQV#90l))}@H${DJTkesHDX+2Z!O?PX>}_%y+k>a1D8CptgAg@5Z8A> zQfW5&#)ZiV2gy29$FQ%`n8rbP7McLInST=MetE!u2&bK;xz@5Ww=ngAZZ0;y!##&_5m_ zjtQ=FCepU|1>g_eWC(nAc>{K$#5vMvF^Bq6?vcMbEK#q(9kdwq>C{V~wK*;FfH_ZB zQQ^49qES{XYwf6B33K?$oy(l<)^-&^I??XRob7saL^P*ZStIgw>L}dxOQf;~pTF4V zrl7}r-&_S+T>OMi1>KYA`L4Rk`{d^Mqk+czSdW!;8=%Ue9?epON#*MBKct4GFcjhC zuVhgp_aG17Ndb|p8yhhdGZ2H$NVin_R}UN!JStGK99JX;vsuTL0*zsn-E~nR_naZ2 z+_wxcXPW_#y!|&EO;#1CpU{(P{Y#6j15K5_lxpwR#*%ZT63HY)F7 z8ZeYRD%W%@gWHT%BF+u95z?EgG=@_UwEog7dTS6e!G9P@Bi6{Q4p5}I?b|TEwxQdF z0T+IRLbk|RL@oV13=DI%CScuaLozK8=>I?_TS0|(bG@zcNrO@KzpxT1yfTR`wea5d zhe1Q3PbA^ol%0#4y(eWrBSzEy%Pz40W*4-fhn(iE=^~iN;fjQ5)dJ;o-^F2l$B1b+ zop_B5aNU3)?UtmoOif?cNWCR>7(h8~mNZ7stVy1%jS&ga7a~CP87?loZGc`kq%NzD zKCf;1vqR=@^fm@%rlU$8o6x14O&X>E7eW^t!W*a@{h@g1nlc!PnrZ>&tVLf{fdYo= z6b78Kx(YV?GUeR``2tCl09|EVlPzeCR^Eg+X-hZ-{g#wsDn$ZE>Tkh2J-|Y7T}{qE zLb0iiY?xv$C$(rr_lXLKyq#d#f+1lQD^eKj+Z?SdIiYHk%?t`T-kK#qn1cDlX;EdN zg1z~hvveIc|Jt4&xg9KfatRTWZN;WaJk7gc7|R4pH2|OHWvj8;6%|~DMN?OQGh}jQ zX)8U+hmdL04MlFXslSn}1>g!^?=ZPBLBZwus3kj2R1|Q8;>fubP>kZZMp%T%FW&qQ zc@@pW%uoCWc}2BG+I*x;_~kWJd%)*=0bbFyz4XP9N>fVibN&?|{gO-ml^sjKeIIDLNb8!AG1pezMdrrao79iAWM^Pt!PgomO|&7hJn7XA_@k~HBZ1@kQaqWz&7nD8 zFXluLiHCO!+(9?`bfvj+#6s|3C+x-cr9|6V9_|HPuq^pg8`R~D|48S>uEFb^YRt35 zKZFz_V<F+jpgH#GN3}n4IoPAb@lh0d01m^U2zqpBofTHT?L^dl_6`bo?AyaD0t_T zQG9AWD=Ql;Kqut) zM9gbE1$Xq7!xHfEoJ>gLRR83k0I@RB%G~F~2!G@suG8!ZFD-I#j0Z380~EnQ8b#-JGf zLJY%KQ`Ilje^IF72U(M8TTH29;@2v$g@wu-4q)A%zwWTaSFK6f#*u0xoofFYiv<6L zp#^YF@>f^YS3RQYvv-m4tt>lhk>X)sg_ycyd=tk!D3`#{**POk;ENg*bG7oN(eD&9 ze~ugCVNld96$9s`t7#m?7fD!no`IAmZXspqPNA^}K?_)t$|Ij;rB(M?g^h4VYY}aT zXb=0eVu6?db8RT3ut*dYa6%YJwMG*JfdcGzJ*{QG#LBz_1* z|09TWhekY-<7dBd82CuALzh3<^bIXz`)`5EnuK%n4FXBXn;jB72~Eq_W?Vk8^(pt3 z5pL1LjO=-#H*5Du3C65lgPvmC5{CH5)Xh7|#c2Cun<$!L2TOyr!8~_UfRlUe34?gx zwW*uNFLeLKeFD|66q#}-3_lU}-zyV+NMv#NltHXXzCkglcr-=f?j*Cru=fUM(mkb2 zV=f6cVH^QDU>Lltd7_qNJJ$B~;wi<*r{z?IGQUpYbd#5}rz&w^ofE1XFX&)h2x@X}b^;2+W?@e3v`=rFt`r}1HBWt5IMvSkc1 zBD+*+;H3mI9{%JZuJeFYn^59_EJc+`4zQ_v6p=&z^*>?)@XejHz?5-#zE?74WUG$A zn;2u*w9|1RUVH_GjF&@?E$uF)Ap|$7T80ZyY*#jx)8fKA`YYI1Q&qQ3xaOC@C zGtWS|7FPgq;P(|0djYVZKI*m$AQjO1+^MV!^0&5skvzqnlWsnjBf#$rRQ_4E*h(#y zv~nA5X0q{&FM;Piubv>2`iC6kr(+9EYa+;x{Z&n_LA*EN|Mm>cIuU?EHnX4X&jIh8 zi2#a;*(@mC+82PmlSMP3lq87=&Ftz0IY9~eCC5Y~oIbj>F|P5O-dhmZlFms`-<@n< zc4r5#?}eoq+-6j{ks)uvgP^REf&c&aLf@CXwp6q zg8B|sRLx-bN}ta|L$9bnXTQl6k$IAYgWEZz zVfaK{|7mx*=+vxJJ9x=$4H%_x>z)>7 zlc=*TVM;WNPtSRcn<)zBwMnMli9$XFy*_=d4F1lvvl`P`jV7RaW|0C99ig!Ji%F20 zC}Q5f_OK-w5cTg2gr;K)_S$8Eb?R zM{fnB66~5d{}FvS#d`=OCoZ@e%3o~7!r~6ppt|3pEOus*8jV$Qf(Cv<0vlK`nl4?R z;UJrnN5BezC;nsrePbH}Nt|68%+%VG{zw?H+x|$q;S2RTlr@a%@9fejp*160QJNha zSUQ~VJ;;p|y%^+JOj{c@4I4~(J-zYLq_8Lwv7_Ip{0iu_Aml=k5n;Is#W-|{v zjIOZP2<1l74>K?FzAIE39vN<6oHOL^T`*)$guUJ6+Z-8YI+$|+e?We~-lvuPmUmy! zwC=9(uC?BHtxe}y^HT`&Ez`tllF6bgikjrnI%cm;myHanrm`~a6RT(SkT>S^h%0wy ztOCuhnT-RmP0(iyD*y%(mH1wIy5Q~qrjTlq`lujt$jP7qz5bVZct|gdZ(& zboSFFMw!-j0~KAMpnf9dZPs`83Rlt;??No`Ppgfl_Otmp&4F5LsC;RSwvGp zj6(Iw)?R&CNA_i-=iZ5>AzdY~9aEv&{DKIbPu~o1EMSSl^PB+!CT1aPniaV8RcDwdNaANP@MVq41Jx!!eOsx!Gi`j9XCX z-5(>%mN~RDG0^w;lLA?kI|z13oQ&;JN;6f1Zg?UnC|YeKL#N}!Azw#Fj=#T>y7a4$ zC%7FT#fbiif(xXfiD88tx9r^6Fb{E>j3JX{GgP8sk)U9!)(ub6jD_`xz-vHjF)pNF zxoXi2e{7c2Vy7ytXvQmgb{`c4tD4Xba(B&31YLW4e2ljT;NPQ_5j;^qeakX^gxz{e zOG}$<^9hywvXxfYdR5lS&I3W8Zbi2L0=fW30ATrOCqGda4!`k|(aH?YqN|8zlu8X! z|NQId^hBG*gG@{jz%Zs$a5?I)JSaR6kTgX?EgFkau*j*u3pR_eBoHvSnw}!>8Ds;S3Egn^P=PPFpG3p$cY6Yh3VA)*;ACAY#f@B2`(--shUE$n zTRlFDODc{vgP05_NGnH=gB)5rlW}Efs2dJo;>_MJ4z`;6gJ}ZF#MXmJmPv4UW0@t# zbpvQCECl@sq0N;{ms8H@OI0@Lb!#szg?b0pRaBv%J0u5-6okOmp)q*pA z-;bJcO#ZmJ+H6ZS#PRW(OcVcsj3znn+_;a=+;gUz7gl`QYc?$6P`4Y=c44FuaPKKH zqT7t)$y}JEdRIx!!}5R)wIi@o(awg&{0fQ^Cc}~;m%AUkyezAzsOaPe0eG{fraEiE z+A^Or+7S`&a*;jkzUP zj5r(S0#{dXmdN1d2-y`+Iegf$i;FH5eSP@HtJvcyMhJA6U)RPLFT-weMoc9(bM(rO ziX2N&88nYKz|BjzwlCZfNdO6tfcx`?&^$d=_>}rb8iON~7axckfr8xdf(SpS44F{D z$`gdTNT;fJ-AXx}sati=s9FO@!E6t!F9!+=H}~Q>-9PeA;jx_nNJ(NoY{C0z!E0oQ z86xYt0!&LwQ!k6_C7nZrhp#BVZuO8ayrr%m9b@BSaL>Sbs^4Zg0i-6vg6!{tg8^lf zxs&=@Ll_~mD!#)-Nm<0E_CIcwOtiyW%xCK3>--fIrlG0&z*cu@@ajidjPFO#`Ria5 z>RTX=y zCDTF*VK7pNCdwhB005lhj6#3-m{3{LKrTQAi{L*0Wy)5GhrNC zI`NEgsaL%sdjnJY1mA#SkLfTr*XD0lzFeNo-M|l6TS)gz0RDK3zbco%aelzNtEXp6 z*$1@%RmMq6OFsH%VYCdXEJAoI5vizZOf%40A;V##Iof;HuZY{h2Mr%|>W8y|a`kCD z9zH%VL}MSX|L<_w+Pb>$U+1CE&tCYSHK%5PCXhgl9l^`!o1V2y!=AD>?%h!upZhW- z@`cSRUecB-K-Wg^iD_2_+)Oq`PJh3AwS}>9e(}1=@K7=(^#Be`6rF&{**v_TJnv%5 z)OAnz$q5Ye_vbphzxTSBLg!w5vU$2)aqb@?_1u{AUIzD{v zSlM{#H@=srXS@-&KV)gG=|C%SjLZSkw83Zret*6YAapl*J|>zxcAg<&z{AR2i~4bY z#1+Rpoj14e7CtvO*I$-_ycG5H*GBT!25fXfoP2n6#Z%^fY3OE#=%x~u6|R* zrXsoGz*D*Ts+(JT1yaV;EMA-SV%v9ihi|CtVUv!T5}D`U#GG>{v{9z-gVKzOskMCJ zY_$hT!0BzNF4hdHzdH8GsSXyohr$=%HqTtg;-hGhAl0FEAbZ2v{CPu_LZA?srQ3s; zl@Qji)2jJAdnc=hi||n1s!3gKNOXDzOoaziw@4r0c0E(ltC5PqQtOSY*C2;}k8yoHX;)nBL zS#myyS(zF@!o7jWR`vv_ML*~cRojGu%W;?4^bFThWVGv5;P?=Uj@0{99Q$E0uib=_ z7_Qc~%&x1HxRqCbb%s%~(V8Ik3h=0ISFb%Og;Ef`Fk?$Gl>Ri*xPhHuM+i zj<#5Z$S#lz`8JNwdFJAANZ@Ji=&h6e4QC#bo}9%OW|rK?rhG*F{2TN?=mqjN83a3{ z=_#BV6yWr4#3JGr{23|YCgGQbqCTlBGJcHdS`e7xycxHq8DUGSh0N4e*I%4=FLaY( zC$hIc>~GmsRjaMEUm^-jube>kez-d-ozqLs&P{`K>}r|v?q$WhdaEBYSC#Ldww8RB zVqw`hd{Jj4m=X`NnNHKKQMm^KnT*YR(=z)NuK*0Qs^kHkKT6ryhT!?|4M&Uxt$3Wm zAd^mHjoiOD(Hl31slcoE=S1L%(9_w+cUxc@6u%wDQpqhZU3TY{oDYebYH(wK@0{(j zYcGGRjgMGu0>_C1|8`ARrOgm`vGrA^a>5aEsnooF0F7*4UJ;-oA2C$=CFXF0e^&cDYusz<0_g@aMFtP2^9Xj=scmV$~QX-;Sl2 zQhBu1=EBHbAvE6LIK>DL0$GL?P%{^7jL~k-rs(dDw;fyE<&FcCnSZ~-|0hDlJyGD0 zISgv$9!-O>G@t-g`%o5)@LlK+

lFrOKA_5>5E}a;q_b{>oTeJ_z>rNpcZQMB#J+UQVs=@hX?(W`F7Ze!i(eX z;y#R+z16TgAS)28hL^ZCNXosa$a$qovN2Q0;(XC9t7P)r{JnZ8(anI{S?qy^rS?Ve zG2f?ibQXa0n<*W-QBvT9CcXS>&j%;-g3NFepV!M?)D!Gb>UE#_wRuSRJkR{S*4~f1 zj9)N-lqmV=_ZgWpZdEZ|9i&~fqi@rY)9e(B=&CBc0eOXAG9+WUxOUs;l*j0t`eh5J z8?US52v6_uO__u-2nfjcH#mrjJSZ3=2nGlg2uzbz0u<=~3?{iI>VPfM0`F;wfftE% zU?}uJCVDEMKoT7o0|Ri|2?rRI!~sUe2oz1k0!}3{gSD{yS4B@|2D9V-ud4S?^%eZD zTA0iXS`M5~W+3?A@e)uF%zsbtzekZQuum2n$dW<_*5LT>4rIW<6cmF0ZY@DUK$O8j zKv4hJ_@6fI1guOE1eNx=Weo5JNC|}&|DUV>4-0Q6Pyhe` From dd856c857f3fe15a8ddd50057eeea82905887857 Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Tue, 30 Jun 2020 10:56:20 +0200 Subject: [PATCH 12/20] Changes for 'supportIncrementalProcessing' --- RFCs/0031-Multi-Test-Run-Finalization.md | 86 ++---------------------- 1 file changed, 7 insertions(+), 79 deletions(-) diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index 603cceca..dfdce6b9 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -28,9 +28,9 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection IEnumerable GetExtensionUris(); ///

- /// Indicates whether ProcessAttachmentSets is associative (e.g. f([a, b, c]) = f([f([a, b]), c]) = f([a, f([b, c])])) + /// Indicates whether attachment processor is supporting incremental processing of attachments /// - bool IsAssociative { get; } + bool SupportsIncrementalProcessing { get; } /// /// Reprocess attachments generated by independent test executions @@ -47,17 +47,17 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection Method `GetExtensionUris` should provide all Uris for data collector attachments which are handled by current processor. Test platform will provide to processor only data collector attachments with such Uris. Result of method `ProcessAttachmentSets` shouyld contain only data collector attachments with such Uris. -`IsAssociative` should indicate if `ProcessAttachmentSets` is [associative](https://en.wikipedia.org/wiki/Associative_property). +`SupportsIncrementalProcessing` should indicate if processor is supporting incremental processing of attachments. It means that `ProcessAttachmentSets` should be [associative](https://en.wikipedia.org/wiki/Associative_property). -If `IsAssociative` is `True` Test Platform may try to speed up whole process by reprocessing data collector attachments as soon as possible when any two test executions are done. For example let's assume we have 5 test executions which are generating 5 data collector attachments: `a1`, `a2`, `a3`, `a4` and `a5`. Test platform could perform invocations: +If `SupportsIncrementalProcessing` is `True` Test Platform may try to speed up whole process by reprocessing data collector attachments as soon as possible when any two test executions are done. For example let's assume we have 5 test executions which are generating 5 data collector attachments: `a1`, `a2`, `a3`, `a4` and `a5`. Test platform could perform invocations: * `var result1 = ProcessAttachmentSets([a1, a2, a3], ...);` when first 3 executions are done * `var result2 = ProcessAttachmentSets(result1.Concat([a4]), ...);` when 4th execution is done * `var finalResult = ProcessAttachmentSets(result2.Concat([a5]), ...);` when last test execution is done -If `IsAssociative` is `False` then Test Platform will wait for all test executions to finish and call `ProcessAttachmentSets` only once: +If `SupportsIncrementalProcessing` is `False` then Test Platform will wait for all test executions to finish and call `ProcessAttachmentSets` only once: * `var finalResult = ProcessAttachmentSets([a1, a2, a3, a4, a5], ...);` -By default `IsAssociative` should be `False`, unless processing can take longer time and it's beneficial to start the process as soon as possible. +By default `SupportsIncrementalProcessing` should be `False`, unless processing can take longer time and it's beneficial to start the process as soon as possible. @@ -120,7 +120,7 @@ Interface provides callbacks from Multi Test Run Finalization process. For every - Test results statistics back to `Orchestrator`. * In parallel with test executions `Orchestrator` will start `vstest.console` in Design Mode. - * Whenever at least 2 test executions are finished `Orchestrator` will invoke `FinalizeMultiTestRunAsync` and provide all attachments from those test executions that finished. Parameter `multiTestRunCompleted` will be set to `false`. Test platform will provide data collector attachments only to associative processors. + * Whenever at least 2 test executions are finished `Orchestrator` will invoke `FinalizeMultiTestRunAsync` and provide all attachments from those test executions that finished. Parameter `multiTestRunCompleted` will be set to `false`. Test platform will provide data collector attachments only to processors which supports incremental processing. * When all test exections are done `Orchestrator` will provide all attachments back through `FinalizeMultiTestRunAsync` with `multiTestRunCompleted` set to `true`. Test Platform will use all available processors to process data collector attachments. * When all attachments are merged `Orchestrator` will display information about data collector attachments to standard output. * Finally `Orchestator` will combine all tests results statistics and print it to standard output. @@ -229,76 +229,4 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client public long ProcessorsCount { get; private set; } } } -``` - -3. Class `MultiTestRunFinalizationPayload` defines message payload connected to message ID `"MultiTestRunFinalization.Start"` - -``` -namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client -{ - /// - /// Class used to define the MultiTestRunFinalizationPayload sent by the Vstest.console translation layers into design mode - /// - public class MultiTestRunFinalizationPayload - { - /// - /// Collection of attachments. - /// - [DataMember] - public IEnumerable Attachments { get; set; } - - /// - /// Gets or sets whether Metrics should be collected or not. - /// - [DataMember] - public bool CollectMetrics { get; set; } - - /// - /// Gets or sets whether all multi test runs are completed. - /// - [DataMember] - public bool MultiTestRunCompleted { get; set; } - } -} -``` - -4. Class `MultiTestRunFinalizationCompletePayload` defines message payload connected to message ID `"MultiTestRunFinalization.Complete"` - -``` -namespace Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel -{ - /// - /// Multi test run finalization complete payload. - /// - public class MultiTestRunFinalizationCompletePayload - { - /// - /// Gets or sets the multi test run finalization complete args. - /// - public MultiTestRunFinalizationCompleteEventArgs FinalizationCompleteEventArgs { get; set; } - - /// - /// Gets or sets the attachments. - /// - public IEnumerable Attachments { get; set; } - } -} -``` - -5. Class `MultiTestRunFinalizationProgressPayload` defines message payload connected to message ID `"MultiTestRunFinalization.Progress"` - -``` -namespace Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.ObjectModel -{ - /// - /// Multi test run finalization complete payload. - /// - public class MultiTestRunFinalizationProgressPayload - { - /// - /// Gets or sets the multi test run finalization complete args. - /// - public MultiTestRunFinalizationProgressEventArgs FinalizationProgressEventArgs { get; set; } - } -} ``` \ No newline at end of file From 7f70e95c757608fdf8a5fac0175a5bdd93430106 Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Tue, 30 Jun 2020 11:10:10 +0200 Subject: [PATCH 13/20] Added info about output redirection --- RFCs/Images/finalization.png | Bin 74635 -> 80175 bytes RFCs/Images/finalization.vsdx | Bin 37913 -> 38400 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/RFCs/Images/finalization.png b/RFCs/Images/finalization.png index 33b30952bc8a7089112d0529e19ee4f65821e6b8..08a3a0ffe3a0856a56bfde8c45ba66b345b975d5 100644 GIT binary patch literal 80175 zcmeFZXIN8fw>2Dl7o{r#DhkpC1e6w~D!qpmP!NzBsi6l&MY@XAPz0nmA=E$!D4^0i zNC*f>3r$KWfh6w=?7h$4&pGEi&%f`_<8^rWT)`!gUMswCj(HQ)9qF2>+Bwm{q9d6i!g5! z@+m<()2HhNB;}EGjZ)}iTtT@EA-S}@ z^t8)+ezf#pQkoHz(b!Sd;QGKJJ!@|1!dsGRA$bBe*{DQc%_N5NGrN;XRWmj+NxqW- z;H`V;^DYyLBS=ZEH40&Mnn&&^U^eZKzzOJFip;JX3UpkBN=d^USzp|G!B6+OYW3j{ z*ESlvgLVkcx~BRDN5%x562aQ1--+QrOQ3!OqL@0tE(1>86H1dOYI3>mDeXB z9P0I2a=Z6sN>1o(&%l;`WFLRZN8R|@*{AhDUXe0|qb_AwQSMx_s-k2EPt2*j4)w7d z%0A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 literal 74635 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 delta 14139 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 From 012755e07c32590b8ae0148da8fe326184715a0b Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Tue, 30 Jun 2020 11:44:58 +0200 Subject: [PATCH 14/20] Next review changes --- RFCs/0031-Multi-Test-Run-Finalization.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index dfdce6b9..1d02efb7 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -12,7 +12,7 @@ When `Run All Tests` is performed in VS, tests for projects can be executed sepa # Proposed Changes -Introduce a new `IDataCollectorAttachmentProcessor` interface which can be implemented by Test Platform extensions and provide custom logic to reporcess (combine/merge) data collector attachments. Below interface should be used only for providing logic to reprocess information from data collector attachments from independent test executions. In other words data collector attachment should be modified/created using data from other data collector attachments. This interface should **not be** used for modifying any single data collector attachment. Test Platform will invoke `ProcessAttachmentSets` only if at least 2 data collector attachments related to processor (through `GetExtensionUris`) are created by independent test executions. +Introduce a new `IDataCollectorAttachmentProcessor` interface which can be implemented by Test Platform extensions and provide custom logic to reporcess (combine/merge) data collector attachments. Below interface should be used only for providing logic to reprocess information from data collector attachments from independent test executions. In other words data collector attachment should be modified/created using data from other data collector attachments. This interface should **not be** used for modifying any single data collector attachment. Test Platform will invoke `ProcessAttachmentSetsAsync` only if at least 2 data collector attachments related to processor (through `GetExtensionUris`) are created by independent test executions. ``` namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection @@ -40,22 +40,22 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection /// Message logger /// Cancellation token /// Attachments after reprocessing - ICollection ProcessAttachmentSets(ICollection attachments, IProgress progressReporter, IMessageLogger logger, CancellationToken cancellationToken); + Task> ProcessAttachmentSetsAsyncAsync(ICollection attachments, IProgress progressReporter, IMessageLogger logger, CancellationToken cancellationToken); } } ``` -Method `GetExtensionUris` should provide all Uris for data collector attachments which are handled by current processor. Test platform will provide to processor only data collector attachments with such Uris. Result of method `ProcessAttachmentSets` shouyld contain only data collector attachments with such Uris. +Method `GetExtensionUris` should provide all Uris for data collector attachments which are handled by current processor. Test platform will provide to processor only data collector attachments with such Uris. Result of method `ProcessAttachmentSetsAsync` shouyld contain only data collector attachments with such Uris. -`SupportsIncrementalProcessing` should indicate if processor is supporting incremental processing of attachments. It means that `ProcessAttachmentSets` should be [associative](https://en.wikipedia.org/wiki/Associative_property). +`SupportsIncrementalProcessing` should indicate if processor is supporting incremental processing of attachments. It means that `ProcessAttachmentSetsAsync` should be [associative](https://en.wikipedia.org/wiki/Associative_property). If `SupportsIncrementalProcessing` is `True` Test Platform may try to speed up whole process by reprocessing data collector attachments as soon as possible when any two test executions are done. For example let's assume we have 5 test executions which are generating 5 data collector attachments: `a1`, `a2`, `a3`, `a4` and `a5`. Test platform could perform invocations: -* `var result1 = ProcessAttachmentSets([a1, a2, a3], ...);` when first 3 executions are done -* `var result2 = ProcessAttachmentSets(result1.Concat([a4]), ...);` when 4th execution is done -* `var finalResult = ProcessAttachmentSets(result2.Concat([a5]), ...);` when last test execution is done +* `var result1 = await ProcessAttachmentSetsAsync([a1, a2, a3], ...);` when first 3 executions are done +* `var result2 = await ProcessAttachmentSetsAsync(result1.Concat([a4]), ...);` when 4th execution is done +* `var finalResult = await ProcessAttachmentSetsAsync(result2.Concat([a5]), ...);` when last test execution is done -If `SupportsIncrementalProcessing` is `False` then Test Platform will wait for all test executions to finish and call `ProcessAttachmentSets` only once: -* `var finalResult = ProcessAttachmentSets([a1, a2, a3, a4, a5], ...);` +If `SupportsIncrementalProcessing` is `False` then Test Platform will wait for all test executions to finish and call `ProcessAttachmentSetsAsync` only once: +* `var finalResult = await ProcessAttachmentSetsAsync([a1, a2, a3, a4, a5], ...);` By default `SupportsIncrementalProcessing` should be `False`, unless processing can take longer time and it's beneficial to start the process as soon as possible. @@ -69,7 +69,7 @@ By default `SupportsIncrementalProcessing` should be `False`, unless processing ///

/// Collection of attachments /// Indicates that all test executions are done and all data is provided -/// Enables metrics collection +/// Enables metrics collection (used for telemetry) /// EventHandler to receive session complete event /// Cancellation token Task FinalizeMultiTestRunAsync(IEnumerable attachments, bool multiTestRunCompleted, bool collectMetrics, IMultiTestRunFinalizationEventsHandler eventsHandler, CancellationToken cancellationToken); @@ -173,7 +173,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client public Exception Error { get; private set; } /// - /// Get or Sets the Metrics + /// Get or Sets the Metrics (used for telemetry) /// [DataMember] public IDictionary Metrics { get; set; } From d5fba1829545345a646a535b8520bfe3fb8f9225 Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Tue, 30 Jun 2020 11:54:44 +0200 Subject: [PATCH 15/20] Using attachment processor everywhere --- RFCs/0031-Multi-Test-Run-Finalization.md | 48 ++++++++++++------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index 1d02efb7..4c25bb60 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -23,7 +23,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection public interface IDataCollectorAttachmentProcessor { /// - /// Gets the attachments Uris, which are handled by processor + /// Gets the attachments Uris, which are handled by attachment processor /// IEnumerable GetExtensionUris(); @@ -45,9 +45,9 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection } ``` -Method `GetExtensionUris` should provide all Uris for data collector attachments which are handled by current processor. Test platform will provide to processor only data collector attachments with such Uris. Result of method `ProcessAttachmentSetsAsync` shouyld contain only data collector attachments with such Uris. +Method `GetExtensionUris` should provide all Uris for data collector attachments which are handled by current attachment processor. Test platform will provide to attachment processor only data collector attachments with such Uris. Result of method `ProcessAttachmentSetsAsync` shouyld contain only data collector attachments with such Uris. -`SupportsIncrementalProcessing` should indicate if processor is supporting incremental processing of attachments. It means that `ProcessAttachmentSetsAsync` should be [associative](https://en.wikipedia.org/wiki/Associative_property). +`SupportsIncrementalProcessing` should indicate if attachment processor is supporting incremental processing of attachments. It means that `ProcessAttachmentSetsAsync` should be [associative](https://en.wikipedia.org/wiki/Associative_property). If `SupportsIncrementalProcessing` is `True` Test Platform may try to speed up whole process by reprocessing data collector attachments as soon as possible when any two test executions are done. For example let's assume we have 5 test executions which are generating 5 data collector attachments: `a1`, `a2`, `a3`, `a4` and `a5`. Test platform could perform invocations: * `var result1 = await ProcessAttachmentSetsAsync([a1, a2, a3], ...);` when first 3 executions are done @@ -75,7 +75,7 @@ By default `SupportsIncrementalProcessing` should be `False`, unless processing Task FinalizeMultiTestRunAsync(IEnumerable attachments, bool multiTestRunCompleted, bool collectMetrics, IMultiTestRunFinalizationEventsHandler eventsHandler, CancellationToken cancellationToken); ``` -Method can be used to start a new Multi Test Run Finalization process, which is reprocessing all data collector attachments passed as first argument using all available processors. +Method can be used to start a new Multi Test Run Finalization process, which is reprocessing all data collector attachments passed as first argument using all available attachment processors. 3. Introduce a new `IMultiTestRunFinalizationEventsHandler` interface: @@ -108,7 +108,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client } } ``` -Interface provides callbacks from Multi Test Run Finalization process. For every such process `HandleMultiTestRunFinalizationComplete` will be called once and will provide last chunk or all data collector attachments. During finalization process `HandleFinalisedAttachments` can be invoked several times providing data collector attachments that are already processed. Method `HandleMultiTestRunFinalizationProgress` will be invoked every time when `progressReporter` is used by `IDataCollectorAttachmentProcessor` implementation and will provide information about current collector: progress, uris and index of collector. Additionally event will contain also number of processors. +Interface provides callbacks from Multi Test Run Finalization process. For every such process `HandleMultiTestRunFinalizationComplete` will be called once and will provide last chunk or all data collector attachments. During finalization process `HandleFinalisedAttachments` can be invoked several times providing data collector attachments that are already processed. Method `HandleMultiTestRunFinalizationProgress` will be invoked every time when `progressReporter` is used by attachment processor and will provide information about current attachment processor: progress, uris and index of it. Additionally event will contain also number of attachment processors. 4. Use above logic to reprocess data collector attachments for parallel test executions and VS scenarios (e.g. `Run All Tests`, `Analyze Code Coverage for All Tests`). In case of `Analyze Code Coverage for All Tests` VS will use `vstest.console` in a variation of design mode and merge all code coverage reports. VS will show full code coverage report for all test projects. @@ -120,8 +120,8 @@ Interface provides callbacks from Multi Test Run Finalization process. For every - Test results statistics back to `Orchestrator`. * In parallel with test executions `Orchestrator` will start `vstest.console` in Design Mode. - * Whenever at least 2 test executions are finished `Orchestrator` will invoke `FinalizeMultiTestRunAsync` and provide all attachments from those test executions that finished. Parameter `multiTestRunCompleted` will be set to `false`. Test platform will provide data collector attachments only to processors which supports incremental processing. - * When all test exections are done `Orchestrator` will provide all attachments back through `FinalizeMultiTestRunAsync` with `multiTestRunCompleted` set to `true`. Test Platform will use all available processors to process data collector attachments. + * Whenever at least 2 test executions are finished `Orchestrator` will invoke `FinalizeMultiTestRunAsync` and provide all attachments from those test executions that finished. Parameter `multiTestRunCompleted` will be set to `false`. Test platform will provide data collector attachments only to attachments processors which supports incremental processing. + * When all test exections are done `Orchestrator` will provide all attachments back through `FinalizeMultiTestRunAsync` with `multiTestRunCompleted` set to `true`. Test Platform will use all available attachment processors to process data collector attachments. * When all attachments are merged `Orchestrator` will display information about data collector attachments to standard output. * Finally `Orchestator` will combine all tests results statistics and print it to standard output. @@ -192,41 +192,41 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client /// /// Default constructor. /// - /// Specifies current processor index. - /// Specifies current processor Uris. - /// Specifies current processor progress. - /// Specifies the overall number of processors. - public MultiTestRunFinalizationProgressEventArgs(long currentProcessorIndex, ICollection currentProcessorUris, long currentProcessorProgress, long processorsCount) + /// Specifies current attachment processor index. + /// Specifies current processor Uris. + /// Specifies current processor progress. + /// Specifies the overall number of processors. + public MultiTestRunFinalizationProgressEventArgs(long currentAttachmentProcessorIndex, ICollection currentAttachmentProcessorUris, long currentAttachmentProcessorProgress, long attachmentProcessorsCount) { - CurrentProcessorIndex = currentProcessorIndex; - CurrentProcessorUris = currentProcessorUris; - CurrentProcessorProgress = currentProcessorProgress; - ProcessorsCount = processorsCount; + CurrentAttachmentProcessorIndex = currentAttachmentProcessorIndex; + CurrentAttachmentProcessorUris = currentAttachmentProcessorUris; + CurrentAttachmentProcessorProgress = currentAttachmentProcessorProgress; + AttachmentProcessorsCount = attachmentProcessorsCount; } /// - /// Gets a current processor index. + /// Gets a current attachment processor index. /// [DataMember] - public long CurrentProcessorIndex { get; private set; } + public long CurrentAttachmentProcessorIndex { get; private set; } /// - /// Gets a current processor URI. + /// Gets a current attachment processor URI. /// [DataMember] - public ICollection CurrentProcessorUris { get; private set; } + public ICollection CurrentAttachmentProcessorUris { get; private set; } /// - /// Gets a current processor progress. + /// Gets a current attachment processor progress. /// [DataMember] - public long CurrentProcessorProgress { get; private set; } + public long CurrentAttachmentProcessorProgress { get; private set; } /// - /// Gets the overall number of processors. + /// Gets the overall number of attachment processors. /// [DataMember] - public long ProcessorsCount { get; private set; } + public long AttachmentProcessorsCount { get; private set; } } } ``` \ No newline at end of file From a0cd6ef504fb720e143874e65bdcd25bc7c4cf84 Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Tue, 30 Jun 2020 14:07:39 +0200 Subject: [PATCH 16/20] Final changes --- RFCs/0031-Multi-Test-Run-Finalization.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index 4c25bb60..05d6092e 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -75,7 +75,7 @@ By default `SupportsIncrementalProcessing` should be `False`, unless processing Task FinalizeMultiTestRunAsync(IEnumerable attachments, bool multiTestRunCompleted, bool collectMetrics, IMultiTestRunFinalizationEventsHandler eventsHandler, CancellationToken cancellationToken); ``` -Method can be used to start a new Multi Test Run Finalization process, which is reprocessing all data collector attachments passed as first argument using all available attachment processors. +Method can be used to start a new Multi Test Run Finalization process, which is reprocessing all data collector attachments passed as first argument using all available attachment processors. When `collectMetrics` is set to `true` Test Platform will provide information about initial number of attachments, final number of attachments, time taken in seconds to process all data collector attachments. 3. Introduce a new `IMultiTestRunFinalizationEventsHandler` interface: @@ -95,10 +95,10 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client void HandleMultiTestRunFinalizationComplete(MultiTestRunFinalizationCompleteEventArgs finalizationCompleteEventArgs, IEnumerable lastChunk); /// - /// Dispatch FinalisedAttachments event to listeners. + /// Dispatch ProcessedAttachmentsChunk event to listeners. /// - /// Finalised attachment sets. - void HandleFinalisedAttachments(IEnumerable attachments); + /// Processed attachment sets. + void HandleProcessedAttachmentsChunk(IEnumerable attachments); /// /// Dispatch MultiTestRunFinalizationProgress event to listeners. @@ -108,7 +108,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client } } ``` -Interface provides callbacks from Multi Test Run Finalization process. For every such process `HandleMultiTestRunFinalizationComplete` will be called once and will provide last chunk or all data collector attachments. During finalization process `HandleFinalisedAttachments` can be invoked several times providing data collector attachments that are already processed. Method `HandleMultiTestRunFinalizationProgress` will be invoked every time when `progressReporter` is used by attachment processor and will provide information about current attachment processor: progress, uris and index of it. Additionally event will contain also number of attachment processors. +Interface provides callbacks from Multi Test Run Finalization process. For every such process `HandleMultiTestRunFinalizationComplete` will be called once and will provide last chunk or all data collector attachments. During finalization process `HandleProcessedAttachmentsChunk` can be invoked several times providing data collector attachments that are already processed. Method `HandleMultiTestRunFinalizationProgress` will be invoked every time when `progressReporter` is used by attachment processor and will provide information about current attachment processor: progress, uris and index of it. Additionally event will contain also number of attachment processors. 4. Use above logic to reprocess data collector attachments for parallel test executions and VS scenarios (e.g. `Run All Tests`, `Analyze Code Coverage for All Tests`). In case of `Analyze Code Coverage for All Tests` VS will use `vstest.console` in a variation of design mode and merge all code coverage reports. VS will show full code coverage report for all test projects. From 38219c8e0c93843e638276629640ef99a8e7481f Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Tue, 30 Jun 2020 14:30:32 +0200 Subject: [PATCH 17/20] fix typo --- RFCs/0031-Multi-Test-Run-Finalization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Multi-Test-Run-Finalization.md index 05d6092e..488f7816 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Multi-Test-Run-Finalization.md @@ -40,7 +40,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection /// Message logger /// Cancellation token /// Attachments after reprocessing - Task> ProcessAttachmentSetsAsyncAsync(ICollection attachments, IProgress progressReporter, IMessageLogger logger, CancellationToken cancellationToken); + Task> ProcessAttachmentSetsAsync(ICollection attachments, IProgress progressReporter, IMessageLogger logger, CancellationToken cancellationToken); } } ``` From 29cfc2a5f2e133c9c683edf7376c133847864820 Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Wed, 1 Jul 2020 13:58:21 +0200 Subject: [PATCH 18/20] Separating dotnet to separated doc --- ...> 0031-Test-Run-Attachments-Processing.md} | 85 +++++++----------- RFCs/Images/finalization.png | Bin 80175 -> 0 bytes RFCs/Images/finalization.vsdx | Bin 38400 -> 0 bytes 3 files changed, 31 insertions(+), 54 deletions(-) rename RFCs/{0031-Multi-Test-Run-Finalization.md => 0031-Test-Run-Attachments-Processing.md} (52%) delete mode 100644 RFCs/Images/finalization.png delete mode 100644 RFCs/Images/finalization.vsdx diff --git a/RFCs/0031-Multi-Test-Run-Finalization.md b/RFCs/0031-Test-Run-Attachments-Processing.md similarity index 52% rename from RFCs/0031-Multi-Test-Run-Finalization.md rename to RFCs/0031-Test-Run-Attachments-Processing.md index 488f7816..6ee8e0a8 100644 --- a/RFCs/0031-Multi-Test-Run-Finalization.md +++ b/RFCs/0031-Test-Run-Attachments-Processing.md @@ -1,4 +1,4 @@ -# 0031 Multi Test Run Finalization +# 0031 Test Run Attachments Processing # Summary This document details a data collector extensibility point to reprocess (combine/merge) attachments obtained across test executions in both design mode and commandline scenarios. @@ -12,7 +12,7 @@ When `Run All Tests` is performed in VS, tests for projects can be executed sepa # Proposed Changes -Introduce a new `IDataCollectorAttachmentProcessor` interface which can be implemented by Test Platform extensions and provide custom logic to reporcess (combine/merge) data collector attachments. Below interface should be used only for providing logic to reprocess information from data collector attachments from independent test executions. In other words data collector attachment should be modified/created using data from other data collector attachments. This interface should **not be** used for modifying any single data collector attachment. Test Platform will invoke `ProcessAttachmentSetsAsync` only if at least 2 data collector attachments related to processor (through `GetExtensionUris`) are created by independent test executions. +Introduce a new `IDataCollectorAttachmentProcessor` interface which can be implemented by Test Platform extensions and provide custom logic to reporcess (combine/merge) data collector attachments. Test Platform will invoke `ProcessAttachmentSetsAsync` only if at least 1 data collector attachments related to processor (through `GetExtensionUris`) are created by test execution. ``` namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection @@ -45,7 +45,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection } ``` -Method `GetExtensionUris` should provide all Uris for data collector attachments which are handled by current attachment processor. Test platform will provide to attachment processor only data collector attachments with such Uris. Result of method `ProcessAttachmentSetsAsync` shouyld contain only data collector attachments with such Uris. +Method `GetExtensionUris` should provide all Uris for data collector attachments which are handled by current attachment processor. Test platform will provide to attachment processor only data collector attachments with such Uris. Result of method `ProcessAttachmentSetsAsync` should contain only data collector attachments with such Uris. `SupportsIncrementalProcessing` should indicate if attachment processor is supporting incremental processing of attachments. It means that `ProcessAttachmentSetsAsync` should be [associative](https://en.wikipedia.org/wiki/Associative_property). @@ -61,38 +61,38 @@ By default `SupportsIncrementalProcessing` should be `False`, unless processing -2. Introduce a new `FinalizeMultiTestRunAsync` method in [IVsTestConsoleWrapper](https://github.com/microsoft/vstest/blob/master/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Interfaces/IVsTestConsoleWrapper.cs) interface: +2. Introduce a new `ProcessTestRunAttachmentsAsync` method in [IVsTestConsoleWrapper](https://github.com/microsoft/vstest/blob/master/src/Microsoft.TestPlatform.VsTestConsole.TranslationLayer/Interfaces/IVsTestConsoleWrapper.cs) interface: ``` /// /// Provides back all attachments to TestPlatform for additional processing (for example merging) /// /// Collection of attachments -/// Indicates that all test executions are done and all data is provided +/// XML processing settings +/// Indicates that all test executions are done and all data is provided /// Enables metrics collection (used for telemetry) -/// EventHandler to receive session complete event +/// EventHandler to receive session complete event /// Cancellation token -Task FinalizeMultiTestRunAsync(IEnumerable attachments, bool multiTestRunCompleted, bool collectMetrics, IMultiTestRunFinalizationEventsHandler eventsHandler, CancellationToken cancellationToken); +Task ProcessTestRunAttachmentsAsync(IEnumerable attachments, string processingSettings, bool isLastBatch, bool collectMetrics, ITestRunAttachmentsProcessingEventsHandler eventsHandler, CancellationToken cancellationToken); ``` -Method can be used to start a new Multi Test Run Finalization process, which is reprocessing all data collector attachments passed as first argument using all available attachment processors. When `collectMetrics` is set to `true` Test Platform will provide information about initial number of attachments, final number of attachments, time taken in seconds to process all data collector attachments. +Method can be used to start a new test run attachments processing, which is reprocessing all data collector attachments passed as first argument using all available attachment processors. When `collectMetrics` is set to `true` Test Platform will provide information about initial number of attachments, final number of attachments, time taken in seconds to process all data collector attachments. - -3. Introduce a new `IMultiTestRunFinalizationEventsHandler` interface: +3. Introduce a new `ITestRunAttachmentsProcessingEventsHandler` interface: ``` namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client { /// - /// Interface contract for handling multi test run finalization complete events + /// Interface contract for handling test run attachments processing events /// - public interface IMultiTestRunFinalizationEventsHandler : ITestMessageEventHandler + public interface ITestRunAttachmentsProcessingEventsHandler : ITestMessageEventHandler { /// - /// Dispatch MultiTestRunFinalizationComplete event to listeners. + /// Dispatch TestRunAttachmentsProcessingComplete event to listeners. /// - /// Finalization Complete event args. + /// AttachmentsProcessing Complete event args. /// Last set of processed attachment sets. - void HandleMultiTestRunFinalizationComplete(MultiTestRunFinalizationCompleteEventArgs finalizationCompleteEventArgs, IEnumerable lastChunk); + void HandleTestRunAttachmentsProcessingComplete(TestRunAttachmentsProcessingCompleteEventArgs attachmentsProcessingCompleteEventArgs, IEnumerable lastChunk); /// /// Dispatch ProcessedAttachmentsChunk event to listeners. @@ -101,73 +101,49 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client void HandleProcessedAttachmentsChunk(IEnumerable attachments); /// - /// Dispatch MultiTestRunFinalizationProgress event to listeners. + /// Dispatch TestRunAttachmentsProcessingProgress event to listeners. /// - /// Finalization Progress event args. - void HandleMultiTestRunFinalizationProgress(MultiTestRunFinalizationProgressEventArgs finalizationProgressEventArgs); + /// AttachmentsProcessing Progress event args. + void HandleTestRunAttachmentsProcessingProgress(TestRunAttachmentsProcessingProgressEventArgs AttachmentsProcessingProgressEventArgs); } } ``` -Interface provides callbacks from Multi Test Run Finalization process. For every such process `HandleMultiTestRunFinalizationComplete` will be called once and will provide last chunk or all data collector attachments. During finalization process `HandleProcessedAttachmentsChunk` can be invoked several times providing data collector attachments that are already processed. Method `HandleMultiTestRunFinalizationProgress` will be invoked every time when `progressReporter` is used by attachment processor and will provide information about current attachment processor: progress, uris and index of it. Additionally event will contain also number of attachment processors. +Interface provides callbacks from test run attachments processing. For every such process `HandleTestRunAttachmentsProcessingComplete` will be called once and will provide last chunk or all data collector attachments. During attachments processing `HandleProcessedAttachmentsChunk` can be invoked several times providing data collector attachments that are already processed. Method `HandleTestRunAttachmentsProcessingProgress` will be invoked every time when `progressReporter` is used by attachment processor and will provide information about current attachment processor: progress, uris and index of it. Additionally event will contain also number of attachment processors. 4. Use above logic to reprocess data collector attachments for parallel test executions and VS scenarios (e.g. `Run All Tests`, `Analyze Code Coverage for All Tests`). In case of `Analyze Code Coverage for All Tests` VS will use `vstest.console` in a variation of design mode and merge all code coverage reports. VS will show full code coverage report for all test projects. -5. When [dotnet test](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test) command is used to execute unit tests in a given solution, new console app `Orchestrator` will be executed. - * `Orchestrator` for every project inside solution will start `dotnet test` command, using `Process` with output redirected. Output for every project will be printed to stdout with some mutex to not mix output from children. - * Additionally new test platform extension will be introduced and will propagate data about: - - Attachments - - Test results statistics - back to `Orchestrator`. - * In parallel with test executions `Orchestrator` will start `vstest.console` in Design Mode. - * Whenever at least 2 test executions are finished `Orchestrator` will invoke `FinalizeMultiTestRunAsync` and provide all attachments from those test executions that finished. Parameter `multiTestRunCompleted` will be set to `false`. Test platform will provide data collector attachments only to attachments processors which supports incremental processing. - * When all test exections are done `Orchestrator` will provide all attachments back through `FinalizeMultiTestRunAsync` with `multiTestRunCompleted` set to `true`. Test Platform will use all available attachment processors to process data collector attachments. - * When all attachments are merged `Orchestrator` will display information about data collector attachments to standard output. - * Finally `Orchestator` will combine all tests results statistics and print it to standard output. - -![dotnet-test finalization](Images/finalization.png) - - For example let's assume we have .NET Core solution with 4 test projects `A1`, `A2`, `A3` and `A4`. Let's assume running tests for `A1`, `A2`, `A3`, `A4` takes 3, 4, 5 and 11 seconds respectively. - Running `dotnet test` on solution level will result in: - * Second 0: `Orchestrator` will run all tests projects in parallel (by invoking `dotnet test` for each project) - * Second 0: `Orchestrator` starts `vstest.console` in Design Mode - * Second 3: Tests for `A1` are completed. Code coverage report is produced. Let's name it `CC1`. - * Second 4: Tests for `A2` are completed. Code coverage report is produced. Let's name it `CC2`. `Orchestator` starts merge of `CC1` and `CC2` by invoking `FinalizeMultiTestRunAsync([CC1, CC2], multiTestRunCompleted: false)`. Let's assume merging will take 3 seconds (will finish in second 8). - * Second 5: Tests for `A3` are completed. Code coverage report is produced. Let's name it `CC3`. As merging is already in progress nothing is done. - * Second 8: Merging of `CC1` and `CC2` is done. New Code coverage report is produced. Let's name it `CC1_2`. `Orchestator` starts merge of `CC1_2` and `CC3` by invoking `FinalizeMultiTestRunAsync([CC1_2, CC2], multiTestRunCompleted: false)`. Let's assume merging will take 2 seconds (will finish in second 10). - * Second 10: Merging of `CC1_2` and `CC3` is done. New Code coverage report is produced. Let's name it `CC1_2_3`. - * Second 11: Tests for `A4` are completed. Code coverage report is produced. Let's name it `CC4`. There is no merging in progress and all test executions are done. Orchestator` starts final merge of `CC1_2_3` and `CC4` by invoking `FinalizeMultiTestRunAsync([CC1_2_3, CC2], multiTestRunCompleted: true)`. Let's assume merging will take 2 seconds (will finish in second 13). - * Second 13: Merging of `CC1_2_3` and `CC4` is done. New Code coverage report is produced. Let's name it `CC1_2_3_4`. `Orchestator` prints information about data attachment `CC1_2_3_4`. `Orchestator` prints aggregated statistics about tests from all `A1`, `A2`, `A3` and `A4`. +5. When [dotnet test](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test) command is used to execute unit tests in a given solution, attachments will also be reprocessed. Details regarding this process will be provided in separate RFC. # Additional classes -1. `MultiTestRunFinalizationCompleteEventArgs` used by IMultiTestRunFinalizationEventsHandler: +1. `TestRunAttachmentsProcessingCompleteEventArgs` used by ITestRunAttachmentsProcessingEventsHandler: ``` namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client { [DataContract] - public class MultiTestRunFinalizationCompleteEventArgs : EventArgs + public class TestRunAttachmentsProcessingCompleteEventArgs : EventArgs { /// /// Default constructor. /// - /// Specifies whether the finalization is canceled. - /// Specifies the error encountered during the execution of the finalization. - public MultiTestRunFinalizationCompleteEventArgs(bool isCanceled, Exception error) + /// Specifies whether the attachments processing is canceled. + /// Specifies the error encountered during the execution of the attachments processing. + public TestRunAttachmentsProcessingCompleteEventArgs(bool isCanceled, Exception error) { this.IsCanceled = isCanceled; this.Error = error; } /// - /// Gets a value indicating whether the finalization is canceled or not. + /// Gets a value indicating whether the attachments processing is canceled or not. /// [DataMember] public bool IsCanceled { get; private set; } /// - /// Gets the error encountered during the finalization of the test runs. Null if there is no error. + /// Gets the error encountered during the attachments processing of the test runs. Null if there is no error. /// [DataMember] public Exception Error { get; private set; } @@ -181,13 +157,13 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client } ``` -2. `MultiTestRunFinalizationProgressEventArgs` used by IMultiTestRunFinalizationEventsHandler: +2. `TestRunAttachmentsProcessingProgressEventArgs` used by ITestRunAttachmentsProcessingEventsHandler: ``` namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client { [DataContract] - public class MultiTestRunFinalizationProgressEventArgs : EventArgs + public class TestRunAttachmentsProcessingProgressEventArgs : EventArgs { /// /// Default constructor. @@ -196,7 +172,7 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client /// Specifies current processor Uris. /// Specifies current processor progress. /// Specifies the overall number of processors. - public MultiTestRunFinalizationProgressEventArgs(long currentAttachmentProcessorIndex, ICollection currentAttachmentProcessorUris, long currentAttachmentProcessorProgress, long attachmentProcessorsCount) + public TestRunAttachmentsProcessingProgressEventArgs(long currentAttachmentProcessorIndex, ICollection currentAttachmentProcessorUris, long currentAttachmentProcessorProgress, long attachmentProcessorsCount) { CurrentAttachmentProcessorIndex = currentAttachmentProcessorIndex; CurrentAttachmentProcessorUris = currentAttachmentProcessorUris; @@ -229,4 +205,5 @@ namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.Client public long AttachmentProcessorsCount { get; private set; } } } + ``` \ No newline at end of file diff --git a/RFCs/Images/finalization.png b/RFCs/Images/finalization.png deleted file mode 100644 index 08a3a0ffe3a0856a56bfde8c45ba66b345b975d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80175 zcmeFZXIN8fw>2Dl7o{r#DhkpC1e6w~D!qpmP!NzBsi6l&MY@XAPz0nmA=E$!D4^0i zNC*f>3r$KWfh6w=?7h$4&pGEi&%f`_<8^rWT)`!gUMswCj(HQ)9qF2>+Bwm{q9d6i!g5! z@+m<()2HhNB;}EGjZ)}iTtT@EA-S}@ z^t8)+ezf#pQkoHz(b!Sd;QGKJJ!@|1!dsGRA$bBe*{DQc%_N5NGrN;XRWmj+NxqW- z;H`V;^DYyLBS=ZEH40&Mnn&&^U^eZKzzOJFip;JX3UpkBN=d^USzp|G!B6+OYW3j{ z*ESlvgLVkcx~BRDN5%x562aQ1--+QrOQ3!OqL@0tE(1>86H1dOYI3>mDeXB z9P0I2a=Z6sN>1o(&%l;`WFLRZN8R|@*{AhDUXe0|qb_AwQSMx_s-k2EPt2*j4)w7d z%0A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 diff --git a/RFCs/Images/finalization.vsdx b/RFCs/Images/finalization.vsdx deleted file mode 100644 index 46198614381ac5d4263eacdc4d194a15ba6c270c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38400 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 Date: Wed, 1 Jul 2020 23:43:12 +0200 Subject: [PATCH 19/20] Fix --- RFCs/0031-Test-Run-Attachments-Processing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFCs/0031-Test-Run-Attachments-Processing.md b/RFCs/0031-Test-Run-Attachments-Processing.md index 6ee8e0a8..3de3b952 100644 --- a/RFCs/0031-Test-Run-Attachments-Processing.md +++ b/RFCs/0031-Test-Run-Attachments-Processing.md @@ -12,7 +12,7 @@ When `Run All Tests` is performed in VS, tests for projects can be executed sepa # Proposed Changes -Introduce a new `IDataCollectorAttachmentProcessor` interface which can be implemented by Test Platform extensions and provide custom logic to reporcess (combine/merge) data collector attachments. Test Platform will invoke `ProcessAttachmentSetsAsync` only if at least 1 data collector attachments related to processor (through `GetExtensionUris`) are created by test execution. +Introduce a new `IDataCollectorAttachmentProcessor` interface which can be implemented by Test Platform extensions and provide custom logic to reporcess (combine/merge) data collector attachments. Test Platform will invoke `ProcessAttachmentSetsAsync` only if at least 1 data collector attachment related to processor (through `GetExtensionUris`) is created by test execution. ``` namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection From aee12b11e2a43b0e1eb37cb408c765a087369956 Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz Date: Wed, 1 Jul 2020 23:57:09 +0200 Subject: [PATCH 20/20] Fix spelling --- RFCs/0031-Test-Run-Attachments-Processing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RFCs/0031-Test-Run-Attachments-Processing.md b/RFCs/0031-Test-Run-Attachments-Processing.md index 3de3b952..87984c04 100644 --- a/RFCs/0031-Test-Run-Attachments-Processing.md +++ b/RFCs/0031-Test-Run-Attachments-Processing.md @@ -6,13 +6,13 @@ This document details a data collector extensibility point to reprocess (combine # Motivation Today when Test Platform executes tests in parallel only code coverage reports are merged (data collector attachments with uri: `datacollector://microsoft/CodeCoverage/2.0`). For other data collector attachments reprocessing is skipped and all of them are returned by Test Platform. -The [dotnet test](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test) command is used to execute unit tests in a given solution. The `dotnet test` command builds the solution and runs a test host application for each test project in the solution. However, currently there is no way to reporcess (combine/merge) data collector attachments associated with each project execution. Code coverage reports are not merged. +The [dotnet test](https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test) command is used to execute unit tests in a given solution. The `dotnet test` command builds the solution and runs a test host application for each test project in the solution. However, currently there is no way to reprocess(combine/merge) data collector attachments associated with each project execution. Code coverage reports are not merged. When `Run All Tests` is performed in VS, tests for projects can be executed separately based on target platform/target framework amongst other criteria. In this case also combining/merging of data collector attachments is not performed (e.g. code overage reports are not merged). `Analyze Code Coverage for All Tests` is showing coverage report for only some test projects in the run. # Proposed Changes -Introduce a new `IDataCollectorAttachmentProcessor` interface which can be implemented by Test Platform extensions and provide custom logic to reporcess (combine/merge) data collector attachments. Test Platform will invoke `ProcessAttachmentSetsAsync` only if at least 1 data collector attachment related to processor (through `GetExtensionUris`) is created by test execution. +Introduce a new `IDataCollectorAttachmentProcessor` interface which can be implemented by Test Platform extensions and provide custom logic to reprocess(combine/merge) data collector attachments. Test Platform will invoke `ProcessAttachmentSetsAsync` only if at least 1 data collector attachment related to processor (through `GetExtensionUris`) is created by test execution. ``` namespace Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection