Skip to content

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only - #132277

Merged
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test
Aug 14, 2026
Merged

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only#132277
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test

Conversation

@rzikm

Copy link
Copy Markdown
Member

Alternative to #131929 and #132125 for #131922.

System.Net.Security.Unit.Tests crashes during runtime init on Apple-mobile CoreCLR (e.g. tvOS), before test discovery runs. The single test UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing the whole app at startup. Because the app crashes before test discovery, per-test [Fact]/attribute-based skipping can't help.

Approach

Rather than disabling the entire test project on non-desktop platforms (as the alternatives do), this keeps the rest of the suite running on mobile and only excludes the one problematic test from the mobile build:

  • Make SslAuthenticationOptionsTests a partial class.
  • Move UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext verbatim into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Register that file with an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). An MSBuild condition is used rather than a #if because the TARGET_* C# defines aren't reliably present in this test project.

TargetFrameworks and the existing IgnoreForCI line are untouched, so the app still builds and all other unit tests still run on mobile.

Comparison to alternatives

This PR is the most surgical option: it drops only the one test on mobile and preserves the remaining coverage.

Validation

Test-only change; no product code touched. Not built locally (test project requires the full libraries baseline build in this environment); the change is a mechanical move plus a build-condition addition. CI will exercise the desktop and mobile legs.

Note

This PR was generated with the assistance of GitHub Copilot.

…p only
The UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext test exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing System.Net.Security.Unit.Tests at startup before test discovery.
Move the single failing test into a new SslAuthenticationOptionsTests.Desktop.cs partial class file and register it via an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). The rest of the test suite keeps running on mobile.
Fixes#131922
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI lite review requested due to automatic review settings August 13, 2026 14:21
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 4 pipeline(s).
12 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the System.Net.Security.Unit.Tests unit test project to exclude a single SslAuthenticationOptionsTests test from non-desktop target frameworks by splitting it into a desktop-only source file and compiling that file conditionally.

Changes:

  • Made SslAuthenticationOptionsTests a partial class to allow splitting tests across platform-targeted source files.
  • Moved UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Added an MSBuild Compile include conditioned on TargetPlatformIdentifier (windows/unix/osx) so only desktop builds compile the moved test.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

FileDescription
src/libraries/System.Net.Security/tests/UnitTests/System.Net.Security.Unit.Tests.csprojConditionally compiles the new desktop-only test file for windows/unix/osx TFMs.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.Desktop.csIntroduces the desktop-only partial class file containing the moved [Fact] test.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.csConverts the test class to partial and removes the moved test from the shared file.

@rzikm
rzikm requested review from a team and BrzVladAugust 13, 2026 14:27
@rzikmrzikm added the os-tvos Apple tvOS label Aug 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-tvos': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@rzikm
rzikm merged commit 48fa6ef into mainAug 14, 2026
89 checks passed
@rzikm
rzikm deleted the rzikm-disable-net-security-tvos-test branch August 14, 2026 09:03
@dotnet-milestone-botdotnet-milestone-botBot added this to the 12.0-preview1 milestone Aug 17, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rzikm@matouskozak
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Compile UpdateOptions_ServerCertificateContextProvided test on desktop only by rzikm · Pull Request #132277 · dotnet/runtime · GitHub
Skip to content

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only - #132277

Merged
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test
Aug 14, 2026
Merged

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only#132277
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test

Conversation

@rzikm

Copy link
Copy Markdown
Member

Alternative to #131929 and #132125 for #131922.

System.Net.Security.Unit.Tests crashes during runtime init on Apple-mobile CoreCLR (e.g. tvOS), before test discovery runs. The single test UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing the whole app at startup. Because the app crashes before test discovery, per-test [Fact]/attribute-based skipping can't help.

Approach

Rather than disabling the entire test project on non-desktop platforms (as the alternatives do), this keeps the rest of the suite running on mobile and only excludes the one problematic test from the mobile build:

  • Make SslAuthenticationOptionsTests a partial class.
  • Move UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext verbatim into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Register that file with an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). An MSBuild condition is used rather than a #if because the TARGET_* C# defines aren't reliably present in this test project.

TargetFrameworks and the existing IgnoreForCI line are untouched, so the app still builds and all other unit tests still run on mobile.

Comparison to alternatives

This PR is the most surgical option: it drops only the one test on mobile and preserves the remaining coverage.

Validation

Test-only change; no product code touched. Not built locally (test project requires the full libraries baseline build in this environment); the change is a mechanical move plus a build-condition addition. CI will exercise the desktop and mobile legs.

Note

This PR was generated with the assistance of GitHub Copilot.

…p only
The UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext test exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing System.Net.Security.Unit.Tests at startup before test discovery.
Move the single failing test into a new SslAuthenticationOptionsTests.Desktop.cs partial class file and register it via an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). The rest of the test suite keeps running on mobile.
Fixes#131922
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI lite review requested due to automatic review settings August 13, 2026 14:21
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 4 pipeline(s).
12 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the System.Net.Security.Unit.Tests unit test project to exclude a single SslAuthenticationOptionsTests test from non-desktop target frameworks by splitting it into a desktop-only source file and compiling that file conditionally.

Changes:

  • Made SslAuthenticationOptionsTests a partial class to allow splitting tests across platform-targeted source files.
  • Moved UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Added an MSBuild Compile include conditioned on TargetPlatformIdentifier (windows/unix/osx) so only desktop builds compile the moved test.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

FileDescription
src/libraries/System.Net.Security/tests/UnitTests/System.Net.Security.Unit.Tests.csprojConditionally compiles the new desktop-only test file for windows/unix/osx TFMs.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.Desktop.csIntroduces the desktop-only partial class file containing the moved [Fact] test.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.csConverts the test class to partial and removes the moved test from the shared file.

@rzikm
rzikm requested review from a team and BrzVladAugust 13, 2026 14:27
@rzikmrzikm added the os-tvos Apple tvOS label Aug 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-tvos': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@rzikm
rzikm merged commit 48fa6ef into mainAug 14, 2026
89 checks passed
@rzikm
rzikm deleted the rzikm-disable-net-security-tvos-test branch August 14, 2026 09:03
@dotnet-milestone-botdotnet-milestone-botBot added this to the 12.0-preview1 milestone Aug 17, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rzikm@matouskozak
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Compile UpdateOptions_ServerCertificateContextProvided test on desktop only by rzikm · Pull Request #132277 · dotnet/runtime · GitHub
Skip to content

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only - #132277

Merged
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test
Aug 14, 2026
Merged

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only#132277
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test

Conversation

@rzikm

Copy link
Copy Markdown
Member

Alternative to #131929 and #132125 for #131922.

System.Net.Security.Unit.Tests crashes during runtime init on Apple-mobile CoreCLR (e.g. tvOS), before test discovery runs. The single test UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing the whole app at startup. Because the app crashes before test discovery, per-test [Fact]/attribute-based skipping can't help.

Approach

Rather than disabling the entire test project on non-desktop platforms (as the alternatives do), this keeps the rest of the suite running on mobile and only excludes the one problematic test from the mobile build:

  • Make SslAuthenticationOptionsTests a partial class.
  • Move UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext verbatim into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Register that file with an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). An MSBuild condition is used rather than a #if because the TARGET_* C# defines aren't reliably present in this test project.

TargetFrameworks and the existing IgnoreForCI line are untouched, so the app still builds and all other unit tests still run on mobile.

Comparison to alternatives

This PR is the most surgical option: it drops only the one test on mobile and preserves the remaining coverage.

Validation

Test-only change; no product code touched. Not built locally (test project requires the full libraries baseline build in this environment); the change is a mechanical move plus a build-condition addition. CI will exercise the desktop and mobile legs.

Note

This PR was generated with the assistance of GitHub Copilot.

…p only
The UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext test exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing System.Net.Security.Unit.Tests at startup before test discovery.
Move the single failing test into a new SslAuthenticationOptionsTests.Desktop.cs partial class file and register it via an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). The rest of the test suite keeps running on mobile.
Fixes#131922
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI lite review requested due to automatic review settings August 13, 2026 14:21
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 4 pipeline(s).
12 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the System.Net.Security.Unit.Tests unit test project to exclude a single SslAuthenticationOptionsTests test from non-desktop target frameworks by splitting it into a desktop-only source file and compiling that file conditionally.

Changes:

  • Made SslAuthenticationOptionsTests a partial class to allow splitting tests across platform-targeted source files.
  • Moved UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Added an MSBuild Compile include conditioned on TargetPlatformIdentifier (windows/unix/osx) so only desktop builds compile the moved test.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

FileDescription
src/libraries/System.Net.Security/tests/UnitTests/System.Net.Security.Unit.Tests.csprojConditionally compiles the new desktop-only test file for windows/unix/osx TFMs.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.Desktop.csIntroduces the desktop-only partial class file containing the moved [Fact] test.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.csConverts the test class to partial and removes the moved test from the shared file.

@rzikm
rzikm requested review from a team and BrzVladAugust 13, 2026 14:27
@rzikmrzikm added the os-tvos Apple tvOS label Aug 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-tvos': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@rzikm
rzikm merged commit 48fa6ef into mainAug 14, 2026
89 checks passed
@rzikm
rzikm deleted the rzikm-disable-net-security-tvos-test branch August 14, 2026 09:03
@dotnet-milestone-botdotnet-milestone-botBot added this to the 12.0-preview1 milestone Aug 17, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rzikm@matouskozak
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Compile UpdateOptions_ServerCertificateContextProvided test on desktop only by rzikm · Pull Request #132277 · dotnet/runtime · GitHub
Skip to content

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only - #132277

Merged
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test
Aug 14, 2026
Merged

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only#132277
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test

Conversation

@rzikm

Copy link
Copy Markdown
Member

Alternative to #131929 and #132125 for #131922.

System.Net.Security.Unit.Tests crashes during runtime init on Apple-mobile CoreCLR (e.g. tvOS), before test discovery runs. The single test UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing the whole app at startup. Because the app crashes before test discovery, per-test [Fact]/attribute-based skipping can't help.

Approach

Rather than disabling the entire test project on non-desktop platforms (as the alternatives do), this keeps the rest of the suite running on mobile and only excludes the one problematic test from the mobile build:

  • Make SslAuthenticationOptionsTests a partial class.
  • Move UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext verbatim into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Register that file with an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). An MSBuild condition is used rather than a #if because the TARGET_* C# defines aren't reliably present in this test project.

TargetFrameworks and the existing IgnoreForCI line are untouched, so the app still builds and all other unit tests still run on mobile.

Comparison to alternatives

This PR is the most surgical option: it drops only the one test on mobile and preserves the remaining coverage.

Validation

Test-only change; no product code touched. Not built locally (test project requires the full libraries baseline build in this environment); the change is a mechanical move plus a build-condition addition. CI will exercise the desktop and mobile legs.

Note

This PR was generated with the assistance of GitHub Copilot.

…p only
The UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext test exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing System.Net.Security.Unit.Tests at startup before test discovery.
Move the single failing test into a new SslAuthenticationOptionsTests.Desktop.cs partial class file and register it via an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). The rest of the test suite keeps running on mobile.
Fixes#131922
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI lite review requested due to automatic review settings August 13, 2026 14:21
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 4 pipeline(s).
12 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the System.Net.Security.Unit.Tests unit test project to exclude a single SslAuthenticationOptionsTests test from non-desktop target frameworks by splitting it into a desktop-only source file and compiling that file conditionally.

Changes:

  • Made SslAuthenticationOptionsTests a partial class to allow splitting tests across platform-targeted source files.
  • Moved UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Added an MSBuild Compile include conditioned on TargetPlatformIdentifier (windows/unix/osx) so only desktop builds compile the moved test.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

FileDescription
src/libraries/System.Net.Security/tests/UnitTests/System.Net.Security.Unit.Tests.csprojConditionally compiles the new desktop-only test file for windows/unix/osx TFMs.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.Desktop.csIntroduces the desktop-only partial class file containing the moved [Fact] test.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.csConverts the test class to partial and removes the moved test from the shared file.

@rzikm
rzikm requested review from a team and BrzVladAugust 13, 2026 14:27
@rzikmrzikm added the os-tvos Apple tvOS label Aug 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-tvos': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@rzikm
rzikm merged commit 48fa6ef into mainAug 14, 2026
89 checks passed
@rzikm
rzikm deleted the rzikm-disable-net-security-tvos-test branch August 14, 2026 09:03
@dotnet-milestone-botdotnet-milestone-botBot added this to the 12.0-preview1 milestone Aug 17, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rzikm@matouskozak
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Compile UpdateOptions_ServerCertificateContextProvided test on desktop only by rzikm · Pull Request #132277 · dotnet/runtime · GitHub
Skip to content

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only - #132277

Merged
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test
Aug 14, 2026
Merged

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only#132277
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test

Conversation

@rzikm

Copy link
Copy Markdown
Member

Alternative to #131929 and #132125 for #131922.

System.Net.Security.Unit.Tests crashes during runtime init on Apple-mobile CoreCLR (e.g. tvOS), before test discovery runs. The single test UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing the whole app at startup. Because the app crashes before test discovery, per-test [Fact]/attribute-based skipping can't help.

Approach

Rather than disabling the entire test project on non-desktop platforms (as the alternatives do), this keeps the rest of the suite running on mobile and only excludes the one problematic test from the mobile build:

  • Make SslAuthenticationOptionsTests a partial class.
  • Move UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext verbatim into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Register that file with an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). An MSBuild condition is used rather than a #if because the TARGET_* C# defines aren't reliably present in this test project.

TargetFrameworks and the existing IgnoreForCI line are untouched, so the app still builds and all other unit tests still run on mobile.

Comparison to alternatives

This PR is the most surgical option: it drops only the one test on mobile and preserves the remaining coverage.

Validation

Test-only change; no product code touched. Not built locally (test project requires the full libraries baseline build in this environment); the change is a mechanical move plus a build-condition addition. CI will exercise the desktop and mobile legs.

Note

This PR was generated with the assistance of GitHub Copilot.

…p only
The UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext test exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing System.Net.Security.Unit.Tests at startup before test discovery.
Move the single failing test into a new SslAuthenticationOptionsTests.Desktop.cs partial class file and register it via an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). The rest of the test suite keeps running on mobile.
Fixes#131922
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI lite review requested due to automatic review settings August 13, 2026 14:21
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 4 pipeline(s).
12 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the System.Net.Security.Unit.Tests unit test project to exclude a single SslAuthenticationOptionsTests test from non-desktop target frameworks by splitting it into a desktop-only source file and compiling that file conditionally.

Changes:

  • Made SslAuthenticationOptionsTests a partial class to allow splitting tests across platform-targeted source files.
  • Moved UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Added an MSBuild Compile include conditioned on TargetPlatformIdentifier (windows/unix/osx) so only desktop builds compile the moved test.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

FileDescription
src/libraries/System.Net.Security/tests/UnitTests/System.Net.Security.Unit.Tests.csprojConditionally compiles the new desktop-only test file for windows/unix/osx TFMs.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.Desktop.csIntroduces the desktop-only partial class file containing the moved [Fact] test.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.csConverts the test class to partial and removes the moved test from the shared file.

@rzikm
rzikm requested review from a team and BrzVladAugust 13, 2026 14:27
@rzikmrzikm added the os-tvos Apple tvOS label Aug 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-tvos': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@rzikm
rzikm merged commit 48fa6ef into mainAug 14, 2026
89 checks passed
@rzikm
rzikm deleted the rzikm-disable-net-security-tvos-test branch August 14, 2026 09:03
@dotnet-milestone-botdotnet-milestone-botBot added this to the 12.0-preview1 milestone Aug 17, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rzikm@matouskozak
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Compile UpdateOptions_ServerCertificateContextProvided test on desktop only by rzikm · Pull Request #132277 · dotnet/runtime · GitHub
Skip to content

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only - #132277

Merged
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test
Aug 14, 2026
Merged

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only#132277
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test

Conversation

@rzikm

Copy link
Copy Markdown
Member

Alternative to #131929 and #132125 for #131922.

System.Net.Security.Unit.Tests crashes during runtime init on Apple-mobile CoreCLR (e.g. tvOS), before test discovery runs. The single test UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing the whole app at startup. Because the app crashes before test discovery, per-test [Fact]/attribute-based skipping can't help.

Approach

Rather than disabling the entire test project on non-desktop platforms (as the alternatives do), this keeps the rest of the suite running on mobile and only excludes the one problematic test from the mobile build:

  • Make SslAuthenticationOptionsTests a partial class.
  • Move UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext verbatim into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Register that file with an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). An MSBuild condition is used rather than a #if because the TARGET_* C# defines aren't reliably present in this test project.

TargetFrameworks and the existing IgnoreForCI line are untouched, so the app still builds and all other unit tests still run on mobile.

Comparison to alternatives

This PR is the most surgical option: it drops only the one test on mobile and preserves the remaining coverage.

Validation

Test-only change; no product code touched. Not built locally (test project requires the full libraries baseline build in this environment); the change is a mechanical move plus a build-condition addition. CI will exercise the desktop and mobile legs.

Note

This PR was generated with the assistance of GitHub Copilot.

…p only
The UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext test exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing System.Net.Security.Unit.Tests at startup before test discovery.
Move the single failing test into a new SslAuthenticationOptionsTests.Desktop.cs partial class file and register it via an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). The rest of the test suite keeps running on mobile.
Fixes#131922
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI lite review requested due to automatic review settings August 13, 2026 14:21
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 4 pipeline(s).
12 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the System.Net.Security.Unit.Tests unit test project to exclude a single SslAuthenticationOptionsTests test from non-desktop target frameworks by splitting it into a desktop-only source file and compiling that file conditionally.

Changes:

  • Made SslAuthenticationOptionsTests a partial class to allow splitting tests across platform-targeted source files.
  • Moved UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Added an MSBuild Compile include conditioned on TargetPlatformIdentifier (windows/unix/osx) so only desktop builds compile the moved test.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

FileDescription
src/libraries/System.Net.Security/tests/UnitTests/System.Net.Security.Unit.Tests.csprojConditionally compiles the new desktop-only test file for windows/unix/osx TFMs.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.Desktop.csIntroduces the desktop-only partial class file containing the moved [Fact] test.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.csConverts the test class to partial and removes the moved test from the shared file.

@rzikm
rzikm requested review from a team and BrzVladAugust 13, 2026 14:27
@rzikmrzikm added the os-tvos Apple tvOS label Aug 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-tvos': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@rzikm
rzikm merged commit 48fa6ef into mainAug 14, 2026
89 checks passed
@rzikm
rzikm deleted the rzikm-disable-net-security-tvos-test branch August 14, 2026 09:03
@dotnet-milestone-botdotnet-milestone-botBot added this to the 12.0-preview1 milestone Aug 17, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rzikm@matouskozak
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Compile UpdateOptions_ServerCertificateContextProvided test on desktop only by rzikm · Pull Request #132277 · dotnet/runtime · GitHub
Skip to content

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only - #132277

Merged
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test
Aug 14, 2026
Merged

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only#132277
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test

Conversation

@rzikm

Copy link
Copy Markdown
Member

Alternative to #131929 and #132125 for #131922.

System.Net.Security.Unit.Tests crashes during runtime init on Apple-mobile CoreCLR (e.g. tvOS), before test discovery runs. The single test UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing the whole app at startup. Because the app crashes before test discovery, per-test [Fact]/attribute-based skipping can't help.

Approach

Rather than disabling the entire test project on non-desktop platforms (as the alternatives do), this keeps the rest of the suite running on mobile and only excludes the one problematic test from the mobile build:

  • Make SslAuthenticationOptionsTests a partial class.
  • Move UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext verbatim into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Register that file with an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). An MSBuild condition is used rather than a #if because the TARGET_* C# defines aren't reliably present in this test project.

TargetFrameworks and the existing IgnoreForCI line are untouched, so the app still builds and all other unit tests still run on mobile.

Comparison to alternatives

This PR is the most surgical option: it drops only the one test on mobile and preserves the remaining coverage.

Validation

Test-only change; no product code touched. Not built locally (test project requires the full libraries baseline build in this environment); the change is a mechanical move plus a build-condition addition. CI will exercise the desktop and mobile legs.

Note

This PR was generated with the assistance of GitHub Copilot.

…p only
The UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext test exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing System.Net.Security.Unit.Tests at startup before test discovery.
Move the single failing test into a new SslAuthenticationOptionsTests.Desktop.cs partial class file and register it via an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). The rest of the test suite keeps running on mobile.
Fixes#131922
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI lite review requested due to automatic review settings August 13, 2026 14:21
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 4 pipeline(s).
12 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the System.Net.Security.Unit.Tests unit test project to exclude a single SslAuthenticationOptionsTests test from non-desktop target frameworks by splitting it into a desktop-only source file and compiling that file conditionally.

Changes:

  • Made SslAuthenticationOptionsTests a partial class to allow splitting tests across platform-targeted source files.
  • Moved UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Added an MSBuild Compile include conditioned on TargetPlatformIdentifier (windows/unix/osx) so only desktop builds compile the moved test.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

FileDescription
src/libraries/System.Net.Security/tests/UnitTests/System.Net.Security.Unit.Tests.csprojConditionally compiles the new desktop-only test file for windows/unix/osx TFMs.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.Desktop.csIntroduces the desktop-only partial class file containing the moved [Fact] test.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.csConverts the test class to partial and removes the moved test from the shared file.

@rzikm
rzikm requested review from a team and BrzVladAugust 13, 2026 14:27
@rzikmrzikm added the os-tvos Apple tvOS label Aug 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-tvos': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@rzikm
rzikm merged commit 48fa6ef into mainAug 14, 2026
89 checks passed
@rzikm
rzikm deleted the rzikm-disable-net-security-tvos-test branch August 14, 2026 09:03
@dotnet-milestone-botdotnet-milestone-botBot added this to the 12.0-preview1 milestone Aug 17, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rzikm@matouskozak
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Compile UpdateOptions_ServerCertificateContextProvided test on desktop only by rzikm · Pull Request #132277 · dotnet/runtime · GitHub
Skip to content

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only - #132277

Merged
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test
Aug 14, 2026
Merged

Compile UpdateOptions_ServerCertificateContextProvided test on desktop only#132277
rzikm merged 1 commit into
mainfrom
rzikm-disable-net-security-tvos-test

Conversation

@rzikm

Copy link
Copy Markdown
Member

Alternative to #131929 and #132125 for #131922.

System.Net.Security.Unit.Tests crashes during runtime init on Apple-mobile CoreCLR (e.g. tvOS), before test discovery runs. The single test UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing the whole app at startup. Because the app crashes before test discovery, per-test [Fact]/attribute-based skipping can't help.

Approach

Rather than disabling the entire test project on non-desktop platforms (as the alternatives do), this keeps the rest of the suite running on mobile and only excludes the one problematic test from the mobile build:

  • Make SslAuthenticationOptionsTests a partial class.
  • Move UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext verbatim into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Register that file with an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). An MSBuild condition is used rather than a #if because the TARGET_* C# defines aren't reliably present in this test project.

TargetFrameworks and the existing IgnoreForCI line are untouched, so the app still builds and all other unit tests still run on mobile.

Comparison to alternatives

This PR is the most surgical option: it drops only the one test on mobile and preserves the remaining coverage.

Validation

Test-only change; no product code touched. Not built locally (test project requires the full libraries baseline build in this environment); the change is a mechanical move plus a build-condition addition. CI will exercise the desktop and mobile legs.

Note

This PR was generated with the assistance of GitHub Copilot.

…p only
The UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext test exercises SslStreamCertificateContext.Create with intermediate certificates, which pulls in a generic Dictionary instantiation whose IL body is stripped from the Apple-mobile CoreCLR ReadyToRun composite image, crashing System.Net.Security.Unit.Tests at startup before test discovery.
Move the single failing test into a new SslAuthenticationOptionsTests.Desktop.cs partial class file and register it via an MSBuild Compile condition limited to desktop platforms (windows/unix/osx). The rest of the test suite keeps running on mobile.
Fixes#131922
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI lite review requested due to automatic review settings August 13, 2026 14:21
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 4 pipeline(s).
12 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the System.Net.Security.Unit.Tests unit test project to exclude a single SslAuthenticationOptionsTests test from non-desktop target frameworks by splitting it into a desktop-only source file and compiling that file conditionally.

Changes:

  • Made SslAuthenticationOptionsTests a partial class to allow splitting tests across platform-targeted source files.
  • Moved UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContext into a new SslAuthenticationOptionsTests.Desktop.cs.
  • Added an MSBuild Compile include conditioned on TargetPlatformIdentifier (windows/unix/osx) so only desktop builds compile the moved test.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

FileDescription
src/libraries/System.Net.Security/tests/UnitTests/System.Net.Security.Unit.Tests.csprojConditionally compiles the new desktop-only test file for windows/unix/osx TFMs.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.Desktop.csIntroduces the desktop-only partial class file containing the moved [Fact] test.
src/libraries/System.Net.Security/tests/UnitTests/SslAuthenticationOptionsTests.csConverts the test class to partial and removes the moved test from the shared file.

@rzikm
rzikm requested review from a team and BrzVladAugust 13, 2026 14:27
@rzikmrzikm added the os-tvos Apple tvOS label Aug 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-tvos': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

@rzikm
rzikm merged commit 48fa6ef into mainAug 14, 2026
89 checks passed
@rzikm
rzikm deleted the rzikm-disable-net-security-tvos-test branch August 14, 2026 09:03
@dotnet-milestone-botdotnet-milestone-botBot added this to the 12.0-preview1 milestone Aug 17, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rzikm@matouskozak