Skip to content

Commit 762f437

Browse files
authored
Merge pull request #90562 from carlossanlop/release/6.0-staging
[release/6.0][manual] Merge release/6.0-staging into release/6.0
2 parents e1ed4b0 + 9a0cc47 commit 762f437

File tree

18 files changed

+205
-124
lines changed

18 files changed

+205
-124
lines changed

eng/Version.Details.xml

+28-28
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<Dependencies>
22
<ProductDependencies>
3-
<Dependency Name="Microsoft.NETCore.Runtime.ICU.Transport" Version="6.0.0-rtm.23315.1">
3+
<Dependency Name="Microsoft.NETCore.Runtime.ICU.Transport" Version="6.0.0-rtm.23409.1">
44
<Uri>https://github.com/dotnet/icu</Uri>
5-
<Sha>18b103db239331f9b917e741b13c95eddf32f6df</Sha>
5+
<Sha>0397ca2c2ed47ae1c490edde1fac14ec7200eb71</Sha>
66
</Dependency>
77
<Dependency Name="System.Net.MsQuic.Transport" Version="6.0.0-servicing.22205.1">
88
<Uri>https://github.com/dotnet/msquic</Uri>
@@ -102,49 +102,49 @@
102102
<Uri>https://github.com/microsoft/vstest</Uri>
103103
<Sha>140434f7109d357d0158ade9e5164a4861513965</Sha>
104104
</Dependency>
105-
<Dependency Name="System.ComponentModel.TypeConverter.TestData" Version="6.0.0-beta.23316.2">
105+
<Dependency Name="System.ComponentModel.TypeConverter.TestData" Version="6.0.0-beta.23410.1">
106106
<Uri>https://github.com/dotnet/runtime-assets</Uri>
107-
<Sha>60b420e88cdd0ec0becb2115e14288adc1a1cb55</Sha>
107+
<Sha>b642300c07f64ba35fdf1e2d2c4476107519f8f4</Sha>
108108
</Dependency>
109-
<Dependency Name="System.Data.Common.TestData" Version="6.0.0-beta.23316.2">
109+
<Dependency Name="System.Data.Common.TestData" Version="6.0.0-beta.23410.1">
110110
<Uri>https://github.com/dotnet/runtime-assets</Uri>
111-
<Sha>60b420e88cdd0ec0becb2115e14288adc1a1cb55</Sha>
111+
<Sha>b642300c07f64ba35fdf1e2d2c4476107519f8f4</Sha>
112112
</Dependency>
113-
<Dependency Name="System.Drawing.Common.TestData" Version="6.0.0-beta.23316.2">
113+
<Dependency Name="System.Drawing.Common.TestData" Version="6.0.0-beta.23410.1">
114114
<Uri>https://github.com/dotnet/runtime-assets</Uri>
115-
<Sha>60b420e88cdd0ec0becb2115e14288adc1a1cb55</Sha>
115+
<Sha>b642300c07f64ba35fdf1e2d2c4476107519f8f4</Sha>
116116
</Dependency>
117-
<Dependency Name="System.IO.Compression.TestData" Version="6.0.0-beta.23316.2">
117+
<Dependency Name="System.IO.Compression.TestData" Version="6.0.0-beta.23410.1">
118118
<Uri>https://github.com/dotnet/runtime-assets</Uri>
119-
<Sha>60b420e88cdd0ec0becb2115e14288adc1a1cb55</Sha>
119+
<Sha>b642300c07f64ba35fdf1e2d2c4476107519f8f4</Sha>
120120
</Dependency>
121-
<Dependency Name="System.IO.Packaging.TestData" Version="6.0.0-beta.23316.2">
121+
<Dependency Name="System.IO.Packaging.TestData" Version="6.0.0-beta.23410.1">
122122
<Uri>https://github.com/dotnet/runtime-assets</Uri>
123-
<Sha>60b420e88cdd0ec0becb2115e14288adc1a1cb55</Sha>
123+
<Sha>b642300c07f64ba35fdf1e2d2c4476107519f8f4</Sha>
124124
</Dependency>
125-
<Dependency Name="System.Net.TestData" Version="6.0.0-beta.23316.2">
125+
<Dependency Name="System.Net.TestData" Version="6.0.0-beta.23410.1">
126126
<Uri>https://github.com/dotnet/runtime-assets</Uri>
127-
<Sha>60b420e88cdd0ec0becb2115e14288adc1a1cb55</Sha>
127+
<Sha>b642300c07f64ba35fdf1e2d2c4476107519f8f4</Sha>
128128
</Dependency>
129-
<Dependency Name="System.Private.Runtime.UnicodeData" Version="6.0.0-beta.23316.2">
129+
<Dependency Name="System.Private.Runtime.UnicodeData" Version="6.0.0-beta.23410.1">
130130
<Uri>https://github.com/dotnet/runtime-assets</Uri>
131-
<Sha>60b420e88cdd0ec0becb2115e14288adc1a1cb55</Sha>
131+
<Sha>b642300c07f64ba35fdf1e2d2c4476107519f8f4</Sha>
132132
</Dependency>
133-
<Dependency Name="System.Runtime.TimeZoneData" Version="6.0.0-beta.23316.2">
133+
<Dependency Name="System.Runtime.TimeZoneData" Version="6.0.0-beta.23410.1">
134134
<Uri>https://github.com/dotnet/runtime-assets</Uri>
135-
<Sha>60b420e88cdd0ec0becb2115e14288adc1a1cb55</Sha>
135+
<Sha>b642300c07f64ba35fdf1e2d2c4476107519f8f4</Sha>
136136
</Dependency>
137-
<Dependency Name="System.Security.Cryptography.X509Certificates.TestData" Version="6.0.0-beta.23316.2">
137+
<Dependency Name="System.Security.Cryptography.X509Certificates.TestData" Version="6.0.0-beta.23410.1">
138138
<Uri>https://github.com/dotnet/runtime-assets</Uri>
139-
<Sha>60b420e88cdd0ec0becb2115e14288adc1a1cb55</Sha>
139+
<Sha>b642300c07f64ba35fdf1e2d2c4476107519f8f4</Sha>
140140
</Dependency>
141-
<Dependency Name="System.Windows.Extensions.TestData" Version="6.0.0-beta.23316.2">
141+
<Dependency Name="System.Windows.Extensions.TestData" Version="6.0.0-beta.23410.1">
142142
<Uri>https://github.com/dotnet/runtime-assets</Uri>
143-
<Sha>60b420e88cdd0ec0becb2115e14288adc1a1cb55</Sha>
143+
<Sha>b642300c07f64ba35fdf1e2d2c4476107519f8f4</Sha>
144144
</Dependency>
145-
<Dependency Name="Microsoft.DotNet.CilStrip.Sources" Version="6.0.0-beta.23316.2">
145+
<Dependency Name="Microsoft.DotNet.CilStrip.Sources" Version="6.0.0-beta.23410.1">
146146
<Uri>https://github.com/dotnet/runtime-assets</Uri>
147-
<Sha>60b420e88cdd0ec0becb2115e14288adc1a1cb55</Sha>
147+
<Sha>b642300c07f64ba35fdf1e2d2c4476107519f8f4</Sha>
148148
</Dependency>
149149
<Dependency Name="runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk" Version="11.1.0-alpha.1.21416.1">
150150
<Uri>https://github.com/dotnet/llvm-project</Uri>
@@ -242,13 +242,13 @@
242242
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
243243
<Sha>d50065944d8b41d804448a7056351481d583ad3d</Sha>
244244
</Dependency>
245-
<Dependency Name="Microsoft.DotNet.HotReload.Utils.Generator.BuildTool" Version="6.0.0-alpha.0.23316.3">
245+
<Dependency Name="Microsoft.DotNet.HotReload.Utils.Generator.BuildTool" Version="6.0.0-alpha.0.23411.2">
246246
<Uri>https://github.com/dotnet/hotreload-utils</Uri>
247-
<Sha>2293d2ba069595f1c87f4e002c84cbab7201bfe7</Sha>
247+
<Sha>dd752be1a2fa9ea5c55fbbf1e28dc65902b3a476</Sha>
248248
</Dependency>
249-
<Dependency Name="System.Runtime.Numerics.TestData" Version="6.0.0-beta.23316.2">
249+
<Dependency Name="System.Runtime.Numerics.TestData" Version="6.0.0-beta.23410.1">
250250
<Uri>https://github.com/dotnet/runtime-assets</Uri>
251-
<Sha>60b420e88cdd0ec0becb2115e14288adc1a1cb55</Sha>
251+
<Sha>b642300c07f64ba35fdf1e2d2c4476107519f8f4</Sha>
252252
</Dependency>
253253
<Dependency Name="Microsoft.CodeAnalysis.NetAnalyzers" Version="6.0.0-rc1.21413.4">
254254
<Uri>https://github.com/dotnet/roslyn-analyzers</Uri>

eng/Versions.props

+15-14
Original file line numberDiff line numberDiff line change
@@ -108,18 +108,18 @@
108108
<SystemValueTupleVersion>4.5.0</SystemValueTupleVersion>
109109
<runtimenativeSystemIOPortsVersion>6.0.0-rc.1.21415.6</runtimenativeSystemIOPortsVersion>
110110
<!-- Runtime-Assets dependencies -->
111-
<SystemRuntimeNumericsTestDataVersion>6.0.0-beta.23316.2</SystemRuntimeNumericsTestDataVersion>
112-
<SystemComponentModelTypeConverterTestDataVersion>6.0.0-beta.23316.2</SystemComponentModelTypeConverterTestDataVersion>
113-
<SystemDataCommonTestDataVersion>6.0.0-beta.23316.2</SystemDataCommonTestDataVersion>
114-
<SystemDrawingCommonTestDataVersion>6.0.0-beta.23316.2</SystemDrawingCommonTestDataVersion>
115-
<SystemIOCompressionTestDataVersion>6.0.0-beta.23316.2</SystemIOCompressionTestDataVersion>
116-
<SystemIOPackagingTestDataVersion>6.0.0-beta.23316.2</SystemIOPackagingTestDataVersion>
117-
<SystemNetTestDataVersion>6.0.0-beta.23316.2</SystemNetTestDataVersion>
118-
<SystemPrivateRuntimeUnicodeDataVersion>6.0.0-beta.23316.2</SystemPrivateRuntimeUnicodeDataVersion>
119-
<SystemRuntimeTimeZoneDataVersion>6.0.0-beta.23316.2</SystemRuntimeTimeZoneDataVersion>
120-
<SystemSecurityCryptographyX509CertificatesTestDataVersion>6.0.0-beta.23316.2</SystemSecurityCryptographyX509CertificatesTestDataVersion>
121-
<SystemWindowsExtensionsTestDataVersion>6.0.0-beta.23316.2</SystemWindowsExtensionsTestDataVersion>
122-
<MicrosoftDotNetCilStripSourcesVersion>6.0.0-beta.23316.2</MicrosoftDotNetCilStripSourcesVersion>
111+
<SystemRuntimeNumericsTestDataVersion>6.0.0-beta.23410.1</SystemRuntimeNumericsTestDataVersion>
112+
<SystemComponentModelTypeConverterTestDataVersion>6.0.0-beta.23410.1</SystemComponentModelTypeConverterTestDataVersion>
113+
<SystemDataCommonTestDataVersion>6.0.0-beta.23410.1</SystemDataCommonTestDataVersion>
114+
<SystemDrawingCommonTestDataVersion>6.0.0-beta.23410.1</SystemDrawingCommonTestDataVersion>
115+
<SystemIOCompressionTestDataVersion>6.0.0-beta.23410.1</SystemIOCompressionTestDataVersion>
116+
<SystemIOPackagingTestDataVersion>6.0.0-beta.23410.1</SystemIOPackagingTestDataVersion>
117+
<SystemNetTestDataVersion>6.0.0-beta.23410.1</SystemNetTestDataVersion>
118+
<SystemPrivateRuntimeUnicodeDataVersion>6.0.0-beta.23410.1</SystemPrivateRuntimeUnicodeDataVersion>
119+
<SystemRuntimeTimeZoneDataVersion>6.0.0-beta.23410.1</SystemRuntimeTimeZoneDataVersion>
120+
<SystemSecurityCryptographyX509CertificatesTestDataVersion>6.0.0-beta.23410.1</SystemSecurityCryptographyX509CertificatesTestDataVersion>
121+
<SystemWindowsExtensionsTestDataVersion>6.0.0-beta.23410.1</SystemWindowsExtensionsTestDataVersion>
122+
<MicrosoftDotNetCilStripSourcesVersion>6.0.0-beta.23410.1</MicrosoftDotNetCilStripSourcesVersion>
123123
<!-- dotnet-optimization dependencies -->
124124
<optimizationwindows_ntx64MIBCRuntimeVersion>1.0.0-prerelease.21416.5</optimizationwindows_ntx64MIBCRuntimeVersion>
125125
<optimizationwindows_ntx86MIBCRuntimeVersion>1.0.0-prerelease.21416.5</optimizationwindows_ntx86MIBCRuntimeVersion>
@@ -145,7 +145,8 @@
145145
<MicrosoftNETTestSdkVersion>17.4.0-preview-20220707-01</MicrosoftNETTestSdkVersion>
146146
<MicrosoftDotNetXHarnessTestRunnersXunitVersion>6.0.0-prerelease.23401.2</MicrosoftDotNetXHarnessTestRunnersXunitVersion>
147147
<MicrosoftDotNetXHarnessCLIVersion>6.0.0-prerelease.23401.2</MicrosoftDotNetXHarnessCLIVersion>
148-
<MicrosoftDotNetHotReloadUtilsGeneratorBuildToolVersion>6.0.0-alpha.0.23226.4</MicrosoftDotNetHotReloadUtilsGeneratorBuildToolVersion>
148+
<MicrosoftDotNetHotReloadUtilsGeneratorBuildToolVersion>6.0.0-alpha.0.23411.2</MicrosoftDotNetHotReloadUtilsGeneratorBuildToolVersion>
149+
<MicrosoftDotNetHotReloadUtilsGeneratorBuildToolVersion>6.0.0-alpha.0.23367.3</MicrosoftDotNetHotReloadUtilsGeneratorBuildToolVersion>
149150
<XUnitVersion>2.4.2-pre.9</XUnitVersion>
150151
<XUnitRunnerVisualStudioVersion>2.4.2</XUnitRunnerVisualStudioVersion>
151152
<CoverletCollectorVersion>1.3.0</CoverletCollectorVersion>
@@ -162,7 +163,7 @@
162163
<MicrosoftNETILLinkTasksVersion>6.0.100-1.21459.1</MicrosoftNETILLinkTasksVersion>
163164
<MicrosoftNETILLinkAnalyzerPackageVersion>$(MicrosoftNETILLinkTasksVersion)</MicrosoftNETILLinkAnalyzerPackageVersion>
164165
<!-- ICU -->
165-
<MicrosoftNETCoreRuntimeICUTransportVersion>6.0.0-rtm.23315.1</MicrosoftNETCoreRuntimeICUTransportVersion>
166+
<MicrosoftNETCoreRuntimeICUTransportVersion>6.0.0-rtm.23409.1</MicrosoftNETCoreRuntimeICUTransportVersion>
166167
<!-- MsQuic -->
167168
<SystemNetMsQuicTransportVersion>6.0.0-servicing.22205.1</SystemNetMsQuicTransportVersion>
168169
<!-- Mono LLVM -->

src/coreclr/inc/clrconfigvalues.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -526,7 +526,7 @@ RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_ProfAPI_ValidateNGENInstrumentation, W("Pro
526526

527527
#ifdef FEATURE_PERFMAP
528528
RETAIL_CONFIG_DWORD_INFO(EXTERNAL_PerfMapEnabled, W("PerfMapEnabled"), 0, "This flag is used on Linux to enable writing /tmp/perf-$pid.map. It is disabled by default")
529-
RETAIL_CONFIG_STRING_INFO(EXTERNAL_PerfMapJitDumpPath, W("PerfMapJitDumpPath"), "Specifies a path to write the perf jitdump file. Defaults to GetTempPathA()")
529+
RETAIL_CONFIG_STRING_INFO(EXTERNAL_PerfMapJitDumpPath, W("PerfMapJitDumpPath"), "Specifies a path to write the perf jitdump file. Defaults to /tmp")
530530
RETAIL_CONFIG_DWORD_INFO(EXTERNAL_PerfMapIgnoreSignal, W("PerfMapIgnoreSignal"), 0, "When perf map is enabled, this option will configure the specified signal to be accepted and ignored as a marker in the perf logs. It is disabled by default")
531531
RETAIL_CONFIG_DWORD_INFO(EXTERNAL_PerfMapShowOptimizationTiers, W("PerfMapShowOptimizationTiers"), 1, "Shows optimization tiers in the perf map for methods, as part of the symbol name. Useful for seeing separate stack frames for different optimization tiers of each method.")
532532
RETAIL_CONFIG_STRING_INFO(EXTERNAL_NativeImagePerfMapFormat, W("NativeImagePerfMapFormat"), "Specifies the format of native image perfmap files generated by crossgen. Valid options are RVA or OFFSET.")

src/coreclr/vm/perfinfo.cpp

+2-8
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,13 @@
1010
#include "perfinfo.h"
1111
#include "pal.h"
1212

13-
PerfInfo::PerfInfo(int pid)
13+
PerfInfo::PerfInfo(int pid, const char* basePath)
1414
: m_Stream(nullptr)
1515
{
1616
LIMITED_METHOD_CONTRACT;
1717

18-
SString tempPath;
19-
if (!WszGetTempPath(tempPath))
20-
{
21-
return;
22-
}
23-
2418
SString path;
25-
path.Printf("%Sperfinfo-%d.map", tempPath.GetUnicode(), pid);
19+
path.Printf("%s/perfinfo-%d.map", basePath, pid);
2620
OpenFile(path);
2721
}
2822

src/coreclr/vm/perfinfo.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
*/
2121
class PerfInfo {
2222
public:
23-
PerfInfo(int pid);
23+
PerfInfo(int pid, const char* basePath);
2424
~PerfInfo();
2525
void LogImage(PEFile* pFile, WCHAR* guid);
2626

src/coreclr/vm/perfmap.cpp

+51-38
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,14 @@
2222
#define FMT_CODE_ADDR "%p"
2323
#endif
2424

25+
#ifndef __ANDROID__
26+
#define TEMP_DIRECTORY_PATH "/tmp"
27+
#else
28+
// On Android, "/tmp/" doesn't exist; temporary files should go to
29+
// /data/local/tmp/
30+
#define TEMP_DIRECTORY_PATH "/data/local/tmp"
31+
#endif
32+
2533
Volatile<bool> PerfMap::s_enabled = false;
2634
PerfMap * PerfMap::s_Current = nullptr;
2735
bool PerfMap::s_ShowOptimizationTiers = false;
@@ -40,53 +48,64 @@ void PerfMap::Initialize()
4048
{
4149
LIMITED_METHOD_CONTRACT;
4250

51+
const DWORD perfMapEnabled = CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_PerfMapEnabled);
52+
if (perfMapEnabled == DISABLED)
53+
{
54+
return;
55+
}
56+
57+
// Build the path to the map file on disk.
58+
char tempPathBuffer[MAX_LONGPATH+1];
59+
const char* tempPath = InternalConstructPath(tempPathBuffer, sizeof(tempPathBuffer));
60+
4361
// Only enable the map if requested.
44-
if (CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_PerfMapEnabled) == ALL || CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_PerfMapEnabled) == PERFMAP)
62+
if (perfMapEnabled == ALL || perfMapEnabled == PERFMAP)
4563
{
4664
// Get the current process id.
4765
int currentPid = GetCurrentProcessId();
4866

4967
// Create the map.
50-
s_Current = new PerfMap(currentPid);
68+
s_Current = new PerfMap(currentPid, tempPath);
5169

5270
int signalNum = (int) CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_PerfMapIgnoreSignal);
5371

5472
if (signalNum > 0)
5573
{
5674
PAL_IgnoreProfileSignal(signalNum);
5775
}
76+
}
5877

59-
if (CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_PerfMapShowOptimizationTiers) != 0)
60-
{
61-
s_ShowOptimizationTiers = true;
62-
}
63-
64-
s_enabled = true;
78+
// only enable JitDumps if requested
79+
if (perfMapEnabled == ALL || perfMapEnabled == JITDUMP)
80+
{
81+
PAL_PerfJitDump_Start(tempPath);
6582
}
6683

67-
if (CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_PerfMapEnabled) == ALL || CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_PerfMapEnabled) == JITDUMP)
84+
if (CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_PerfMapShowOptimizationTiers) != 0)
6885
{
69-
char jitdumpPath[4096];
70-
71-
// CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_PerfMapJitDumpPath) returns a LPWSTR
72-
// Use GetEnvironmentVariableA because it is simpler.
73-
// Keep comment here to make it searchable.
74-
DWORD len = GetEnvironmentVariableA("COMPlus_PerfMapJitDumpPath", jitdumpPath, sizeof(jitdumpPath) - 1);
75-
76-
if (len == 0)
77-
{
78-
GetTempPathA(sizeof(jitdumpPath) - 1, jitdumpPath);
79-
}
86+
s_ShowOptimizationTiers = true;
87+
}
88+
89+
s_enabled = true;
90+
}
8091

81-
PAL_PerfJitDump_Start(jitdumpPath);
92+
// InternalConstructPath is guaranteed to return a non-null path
93+
// the function uses the input buffer only whe PerfMapJitDumpPath environment variable is set
94+
const char * PerfMap::InternalConstructPath(char *tmpBuf, int lenBuf)
95+
{
96+
DWORD len = GetEnvironmentVariableA("DOTNET_PerfMapJitDumpPath", tmpBuf, lenBuf);
97+
if (len == 0)
98+
{
99+
len = GetEnvironmentVariableA("COMPlus_PerfMapJitDumpPath", tmpBuf, lenBuf);
100+
}
82101

83-
if (CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_PerfMapShowOptimizationTiers) != 0)
84-
{
85-
s_ShowOptimizationTiers = true;
86-
}
87-
88-
s_enabled = true;
102+
if (len == 0 || // GetEnvironmentVariableA returns 0 if the variable is not found,
103+
len >= lenBuf) // or the length of the string not including the null terminator on success.
104+
{
105+
return TEMP_DIRECTORY_PATH;
89106
}
107+
108+
return tmpBuf;
90109
}
91110

92111
// Destroy the map for the process - called from EEShutdownHelper.
@@ -103,27 +122,21 @@ void PerfMap::Destroy()
103122
}
104123

105124
// Construct a new map for the process.
106-
PerfMap::PerfMap(int pid)
125+
PerfMap::PerfMap(int pid, const char* path)
107126
{
108127
LIMITED_METHOD_CONTRACT;
109128

110129
// Initialize with no failures.
111130
m_ErrorEncountered = false;
112131

113132
// Build the path to the map file on disk.
114-
WCHAR tempPath[MAX_LONGPATH+1];
115-
if(!GetTempPathW(MAX_LONGPATH, tempPath))
116-
{
117-
return;
118-
}
119-
120-
SString path;
121-
path.Printf("%Sperf-%d.map", &tempPath, pid);
133+
SString pathFile;
134+
pathFile.Printf("%s/perf-%d.map", path, pid);
122135

123136
// Open the map file for writing.
124-
OpenFile(path);
137+
OpenFile(pathFile);
125138

126-
m_PerfInfo = new PerfInfo(pid);
139+
m_PerfInfo = new PerfInfo(pid, path);
127140
}
128141

129142
// Construct a new map without a specified file name.

src/coreclr/vm/perfmap.h

+4-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@ class PerfMap
3131
bool m_ErrorEncountered;
3232

3333
// Construct a new map for the specified pid.
34-
PerfMap(int pid);
34+
PerfMap(int pid, const char* path);
35+
36+
// Default to /tmp or use DOTNET_PerfMapJitDumpPath if set
37+
static const char* InternalConstructPath(char *tmpBuf, int lenBuf);
3538

3639
protected:
3740
// Indicates whether optimization tiers should be shown for methods in perf maps

src/installer/tests/HostActivation.Tests/PortableAppActivation.cs

+4-2
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,8 @@ public void AppHost_FrameworkDependent_GlobalLocation_Succeeds(bool useRegistere
322322
.Execute()
323323
.Should().Pass()
324324
.And.HaveStdOutContaining("Hello World")
325-
.And.HaveStdOutContaining(sharedTestState.RepoDirectories.MicrosoftNETCoreAppVersion);
325+
.And.HaveStdOutContaining(sharedTestState.RepoDirectories.MicrosoftNETCoreAppVersion)
326+
.And.NotHaveStdErr();
326327

327328
// Verify running from within the working directory
328329
Command.Create(appExe)
@@ -336,7 +337,8 @@ public void AppHost_FrameworkDependent_GlobalLocation_Succeeds(bool useRegistere
336337
.Execute()
337338
.Should().Pass()
338339
.And.HaveStdOutContaining("Hello World")
339-
.And.HaveStdOutContaining(sharedTestState.RepoDirectories.MicrosoftNETCoreAppVersion);
340+
.And.HaveStdOutContaining(sharedTestState.RepoDirectories.MicrosoftNETCoreAppVersion)
341+
.And.NotHaveStdErr();
340342
}
341343
}
342344

src/installer/tests/HostActivation.Tests/StartupHooks.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,8 @@ public void Muxer_activation_of_Empty_StartupHook_Variable_Succeeds()
179179
.CaptureStdErr()
180180
.Execute()
181181
.Should().Pass()
182-
.And.HaveStdOutContaining("Hello World");
182+
.And.HaveStdOutContaining("Hello World")
183+
.And.NotHaveStdErr();
183184
}
184185

185186
// Run the app with a startup hook assembly that depends on assemblies not on the TPA list

0 commit comments

Comments
 (0)