From 27786c21f7f586214b5721d2aa6380e69079b072 Mon Sep 17 00:00:00 2001 From: Jakub Chocholowicz <59966772+jakubch1@users.noreply.github.com> Date: Tue, 16 Feb 2021 12:50:02 +0100 Subject: [PATCH] Generating cc attachments with correct uri (#2750) (#2754) * Generating cc attachments with correct uri * Remove constructor Co-authored-by: Jakub Chocholowicz Co-authored-by: Jakub Chocholowicz --- .../DataCollection/DataCollectionAttachmentManager.cs | 4 +--- src/Microsoft.TestPlatform.ObjectModel/AttachmentSet.cs | 6 ++++++ .../CodeCoverageDataAttachmentsHandler.cs | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/Microsoft.TestPlatform.Common/DataCollection/DataCollectionAttachmentManager.cs b/src/Microsoft.TestPlatform.Common/DataCollection/DataCollectionAttachmentManager.cs index 953c79974c..29e7325482 100644 --- a/src/Microsoft.TestPlatform.Common/DataCollection/DataCollectionAttachmentManager.cs +++ b/src/Microsoft.TestPlatform.Common/DataCollection/DataCollectionAttachmentManager.cs @@ -328,11 +328,9 @@ private void AddNewFileTransfer(FileTransferInformation fileTransferInfo, AsyncC { if (t.Exception == null) { - // Uri doesn't recognize file paths in unix. See https://github.com/dotnet/corefx/issues/1745 - var attachmentUri = new UriBuilder() { Scheme = "file", Host = "", Path = localFilePath }.Uri; lock (attachmentTaskLock) { - this.AttachmentSets[fileTransferInfo.Context][uri].Attachments.Add(new UriDataAttachment(attachmentUri, fileTransferInfo.Description)); + this.AttachmentSets[fileTransferInfo.Context][uri].Attachments.Add(UriDataAttachment.CreateFrom(localFilePath, fileTransferInfo.Description)); } } diff --git a/src/Microsoft.TestPlatform.ObjectModel/AttachmentSet.cs b/src/Microsoft.TestPlatform.ObjectModel/AttachmentSet.cs index 3f2b043b90..3cdd52665a 100644 --- a/src/Microsoft.TestPlatform.ObjectModel/AttachmentSet.cs +++ b/src/Microsoft.TestPlatform.ObjectModel/AttachmentSet.cs @@ -77,5 +77,11 @@ public override string ToString() { return $"{nameof(Uri)}: {Uri.AbsoluteUri}, {nameof(Description)}: {Description}"; } + + public static UriDataAttachment CreateFrom(string localFilePath, string description) + { + var uri = new UriBuilder() { Scheme = "file", Host = "", Path = localFilePath }.Uri; + return new UriDataAttachment(uri, description); + } } } diff --git a/src/Microsoft.TestPlatform.Utilities/CodeCoverageDataAttachmentsHandler.cs b/src/Microsoft.TestPlatform.Utilities/CodeCoverageDataAttachmentsHandler.cs index 9e9d559190..46cd936844 100644 --- a/src/Microsoft.TestPlatform.Utilities/CodeCoverageDataAttachmentsHandler.cs +++ b/src/Microsoft.TestPlatform.Utilities/CodeCoverageDataAttachmentsHandler.cs @@ -59,11 +59,11 @@ public async Task> ProcessAttachmentSetsAsync(ICollec if (!string.IsNullOrEmpty(mergedCoverageReportFilePath)) { var resultAttachmentSet = new AttachmentSet(CodeCoverageDataCollectorUri, CoverageFriendlyName); - resultAttachmentSet.Attachments.Add(new UriDataAttachment(new Uri(mergedCoverageReportFilePath), CoverageFriendlyName)); + resultAttachmentSet.Attachments.Add(UriDataAttachment.CreateFrom(mergedCoverageReportFilePath, CoverageFriendlyName)); foreach (var coverageOtherFilePath in coverageOtherFilePaths) { - resultAttachmentSet.Attachments.Add(new UriDataAttachment(new Uri(coverageOtherFilePath), string.Empty)); + resultAttachmentSet.Attachments.Add(UriDataAttachment.CreateFrom(coverageOtherFilePath, string.Empty)); } return new Collection { resultAttachmentSet };