Skip to content

Clean up debugger attributes tests. - #89011

Merged
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup
Jul 19, 2023
Merged

Clean up debugger attributes tests.#89011
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup

Conversation

@mrvoorhe

Copy link
Copy Markdown
Contributor
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

@ghostghost added linkable-framework Issues associated with delivering a linker friendly framework area-Debugger-mono community-contribution Indicates that the PR has been added by a community member labels Jul 17, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'linkable-framework': @eerhardt, @vitek-karas, @LakshanF, @sbomer, @joperezr, @marek-safar
See info in area-owners.md if you want to be subscribed.

Issue Details
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

Author:mrvoorhe
Assignees:-
Labels:

area-Debugger-mono, linkable-framework

Milestone:-

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas Do I have to do something to get the tests to rerun? The failure about

src/coreclr/tools/aot/Mono.Linker.Tests/TestCasesRunner/TestCaseMetadataProvider.cs(30,57): error CS0103: (NETCORE_ENGINEERING_TELEMETRY=Build) The name 'SetupLinkerKeepDebugMembersAttribute' does not exist in the current context

Seems out of date. I deleted that line.

@sbomer

Copy link
Copy Markdown
Member

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

I did not see that coming! A copy of Mono.Linker.Tests\TestCasesRunner 🙈

* Remove `SetupLinkerKeepDebugMembersAttribute`. This isn't supported anymore by the linker.
* Remove NETCOREAPP behavior difference in debugger attribute removal tests
* Move `DebuggerDisplayAttributeOnTypeWithNonExistentMethod` to the `KeepDebugMembers` folder since that is the scenario this test is testing
@mrvoorhe
mrvoorheforce-pushed the linker-debug-attrs-test-cleanup branch from b356e61 to e38c157CompareJuly 18, 2023 18:52
@vitek-karas

Copy link
Copy Markdown
Member

A copy of Mono.Linker.Tests\TestCasesRunner

Yeah - it's good and bad. It's good since we share the tests between illink and NativeAOT. It's bad because it's the same mess as in illink, just slightly different.

When I get some time I want to:

  • Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes
  • See if we could refactor the runner to share code between the two in some easy way

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes

I think that's worth doing. If the file names had been different that might have been enough to get my brain to notice it was a different copy of TestCaseMetadataProvider.cs.

See if we could refactor the runner to share code between the two in some easy way

I didn't look it too closely but maybe you could share more following the pattern we do with UnityLinker's test suite. We inherit and override things.

C:\UnitySrc\dev>cd C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner\
C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner>dir
Volume in drive C is Windows
Volume Serial Number is CA0A-0107
Directory of C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner
06/02/2023 01:25 PM <DIR> .
06/22/2023 01:01 PM <DIR> ..
02/09/2023 05:11 PM 4,833 CoreUtils.cs
02/09/2023 05:11 PM 3,479 ILDumper.cs
10/25/2021 03:27 PM <DIR> Invoking
09/23/2021 12:29 PM 8,618 OutputChecker.cs
02/09/2023 05:11 PM 2,596 StubAssertionUtils.cs
06/02/2023 01:25 PM 5,725 UnityAssemblyChecker.cs
05/19/2021 08:52 AM 413 UnityCompilerOptions.cs
10/14/2021 10:22 AM 1,327 UnityILCompiler.cs
02/09/2023 05:11 PM 3,456 UnityLinker.cs
02/09/2023 05:11 PM 16,104 UnityLinkerArgumentBuilder.cs
05/19/2021 08:52 AM 947 UnityLinkerArgumentBuilderEditorMode.cs
03/03/2022 01:54 PM 5,013 UnityObjectFactory.cs
03/03/2022 01:54 PM 1,044 UnityObjectFactoryEditorMode.cs
02/09/2023 05:11 PM 4,710 UnityPeVerifier.cs
04/21/2023 09:19 AM 42,403 UnityResultChecker.cs
05/19/2021 08:52 AM 420 UnitySetupCompileInfo.cs
02/09/2023 05:11 PM 3,268 UnityTestCaseAssemblyResolver.cs
02/09/2023 05:11 PM 8,014 UnityTestCaseCompilationMetadataProvider.cs
02/09/2023 05:11 PM 14,233 UnityTestCaseCompiler.cs
02/09/2023 05:11 PM 12,209 UnityTestCaseMetadataProvider.cs
04/24/2023 11:53 AM 5,605 UnityTestCaseSandbox.cs
06/02/2023 01:25 PM 5,199 UnityTestRunner.cs
02/09/2023 05:11 PM 3,144 UnityTestRunnerEditorMode.cs

We have a lot of the same files. They just inherit and extend rather than copy whole sale from upstream.

Then again, maybe you're use case is different enough that trying to follow the same pattern would lead to more api breaks for us, in which case feel free to stick with copying whole sale 😄

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas I think these changes are good now?

@vitek-karas

Copy link
Copy Markdown
Member

In the product we went with source sharing and partial types typically. But it was mostly for performance reasons to avoid casting a virtual calls everywhere. I would need to look into this some more which approach would work best for the tests.

@vitek-karas
vitek-karas merged commit 4c356de into dotnet:mainJul 19, 2023
@ghostghost locked as resolved and limited conversation to collaborators Aug 19, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Debugger-monocommunity-contributionIndicates that the PR has been added by a community memberlinkable-frameworkIssues associated with delivering a linker friendly framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@mrvoorhe@sbomer@vitek-karas
, '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" + '
Clean up debugger attributes tests. by mrvoorhe · Pull Request #89011 · dotnet/runtime · GitHub
Skip to content

Clean up debugger attributes tests. - #89011

Merged
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup
Jul 19, 2023
Merged

Clean up debugger attributes tests.#89011
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup

Conversation

@mrvoorhe

Copy link
Copy Markdown
Contributor
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

@ghostghost added linkable-framework Issues associated with delivering a linker friendly framework area-Debugger-mono community-contribution Indicates that the PR has been added by a community member labels Jul 17, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'linkable-framework': @eerhardt, @vitek-karas, @LakshanF, @sbomer, @joperezr, @marek-safar
See info in area-owners.md if you want to be subscribed.

Issue Details
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

Author:mrvoorhe
Assignees:-
Labels:

area-Debugger-mono, linkable-framework

Milestone:-

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas Do I have to do something to get the tests to rerun? The failure about

src/coreclr/tools/aot/Mono.Linker.Tests/TestCasesRunner/TestCaseMetadataProvider.cs(30,57): error CS0103: (NETCORE_ENGINEERING_TELEMETRY=Build) The name 'SetupLinkerKeepDebugMembersAttribute' does not exist in the current context

Seems out of date. I deleted that line.

@sbomer

Copy link
Copy Markdown
Member

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

I did not see that coming! A copy of Mono.Linker.Tests\TestCasesRunner 🙈

* Remove `SetupLinkerKeepDebugMembersAttribute`. This isn't supported anymore by the linker.
* Remove NETCOREAPP behavior difference in debugger attribute removal tests
* Move `DebuggerDisplayAttributeOnTypeWithNonExistentMethod` to the `KeepDebugMembers` folder since that is the scenario this test is testing
@mrvoorhe
mrvoorheforce-pushed the linker-debug-attrs-test-cleanup branch from b356e61 to e38c157CompareJuly 18, 2023 18:52
@vitek-karas

Copy link
Copy Markdown
Member

A copy of Mono.Linker.Tests\TestCasesRunner

Yeah - it's good and bad. It's good since we share the tests between illink and NativeAOT. It's bad because it's the same mess as in illink, just slightly different.

When I get some time I want to:

  • Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes
  • See if we could refactor the runner to share code between the two in some easy way

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes

I think that's worth doing. If the file names had been different that might have been enough to get my brain to notice it was a different copy of TestCaseMetadataProvider.cs.

See if we could refactor the runner to share code between the two in some easy way

I didn't look it too closely but maybe you could share more following the pattern we do with UnityLinker's test suite. We inherit and override things.

C:\UnitySrc\dev>cd C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner\
C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner>dir
Volume in drive C is Windows
Volume Serial Number is CA0A-0107
Directory of C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner
06/02/2023 01:25 PM <DIR> .
06/22/2023 01:01 PM <DIR> ..
02/09/2023 05:11 PM 4,833 CoreUtils.cs
02/09/2023 05:11 PM 3,479 ILDumper.cs
10/25/2021 03:27 PM <DIR> Invoking
09/23/2021 12:29 PM 8,618 OutputChecker.cs
02/09/2023 05:11 PM 2,596 StubAssertionUtils.cs
06/02/2023 01:25 PM 5,725 UnityAssemblyChecker.cs
05/19/2021 08:52 AM 413 UnityCompilerOptions.cs
10/14/2021 10:22 AM 1,327 UnityILCompiler.cs
02/09/2023 05:11 PM 3,456 UnityLinker.cs
02/09/2023 05:11 PM 16,104 UnityLinkerArgumentBuilder.cs
05/19/2021 08:52 AM 947 UnityLinkerArgumentBuilderEditorMode.cs
03/03/2022 01:54 PM 5,013 UnityObjectFactory.cs
03/03/2022 01:54 PM 1,044 UnityObjectFactoryEditorMode.cs
02/09/2023 05:11 PM 4,710 UnityPeVerifier.cs
04/21/2023 09:19 AM 42,403 UnityResultChecker.cs
05/19/2021 08:52 AM 420 UnitySetupCompileInfo.cs
02/09/2023 05:11 PM 3,268 UnityTestCaseAssemblyResolver.cs
02/09/2023 05:11 PM 8,014 UnityTestCaseCompilationMetadataProvider.cs
02/09/2023 05:11 PM 14,233 UnityTestCaseCompiler.cs
02/09/2023 05:11 PM 12,209 UnityTestCaseMetadataProvider.cs
04/24/2023 11:53 AM 5,605 UnityTestCaseSandbox.cs
06/02/2023 01:25 PM 5,199 UnityTestRunner.cs
02/09/2023 05:11 PM 3,144 UnityTestRunnerEditorMode.cs

We have a lot of the same files. They just inherit and extend rather than copy whole sale from upstream.

Then again, maybe you're use case is different enough that trying to follow the same pattern would lead to more api breaks for us, in which case feel free to stick with copying whole sale 😄

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas I think these changes are good now?

@vitek-karas

Copy link
Copy Markdown
Member

In the product we went with source sharing and partial types typically. But it was mostly for performance reasons to avoid casting a virtual calls everywhere. I would need to look into this some more which approach would work best for the tests.

@vitek-karas
vitek-karas merged commit 4c356de into dotnet:mainJul 19, 2023
@ghostghost locked as resolved and limited conversation to collaborators Aug 19, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Debugger-monocommunity-contributionIndicates that the PR has been added by a community memberlinkable-frameworkIssues associated with delivering a linker friendly framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@mrvoorhe@sbomer@vitek-karas
, '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('^' + ".*" + ' Clean up debugger attributes tests. by mrvoorhe · Pull Request #89011 · dotnet/runtime · GitHub
Skip to content

Clean up debugger attributes tests. - #89011

Merged
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup
Jul 19, 2023
Merged

Clean up debugger attributes tests.#89011
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup

Conversation

@mrvoorhe

Copy link
Copy Markdown
Contributor
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

@ghostghost added linkable-framework Issues associated with delivering a linker friendly framework area-Debugger-mono community-contribution Indicates that the PR has been added by a community member labels Jul 17, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'linkable-framework': @eerhardt, @vitek-karas, @LakshanF, @sbomer, @joperezr, @marek-safar
See info in area-owners.md if you want to be subscribed.

Issue Details
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

Author:mrvoorhe
Assignees:-
Labels:

area-Debugger-mono, linkable-framework

Milestone:-

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas Do I have to do something to get the tests to rerun? The failure about

src/coreclr/tools/aot/Mono.Linker.Tests/TestCasesRunner/TestCaseMetadataProvider.cs(30,57): error CS0103: (NETCORE_ENGINEERING_TELEMETRY=Build) The name 'SetupLinkerKeepDebugMembersAttribute' does not exist in the current context

Seems out of date. I deleted that line.

@sbomer

Copy link
Copy Markdown
Member

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

I did not see that coming! A copy of Mono.Linker.Tests\TestCasesRunner 🙈

* Remove `SetupLinkerKeepDebugMembersAttribute`. This isn't supported anymore by the linker.
* Remove NETCOREAPP behavior difference in debugger attribute removal tests
* Move `DebuggerDisplayAttributeOnTypeWithNonExistentMethod` to the `KeepDebugMembers` folder since that is the scenario this test is testing
@mrvoorhe
mrvoorheforce-pushed the linker-debug-attrs-test-cleanup branch from b356e61 to e38c157CompareJuly 18, 2023 18:52
@vitek-karas

Copy link
Copy Markdown
Member

A copy of Mono.Linker.Tests\TestCasesRunner

Yeah - it's good and bad. It's good since we share the tests between illink and NativeAOT. It's bad because it's the same mess as in illink, just slightly different.

When I get some time I want to:

  • Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes
  • See if we could refactor the runner to share code between the two in some easy way

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes

I think that's worth doing. If the file names had been different that might have been enough to get my brain to notice it was a different copy of TestCaseMetadataProvider.cs.

See if we could refactor the runner to share code between the two in some easy way

I didn't look it too closely but maybe you could share more following the pattern we do with UnityLinker's test suite. We inherit and override things.

C:\UnitySrc\dev>cd C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner\
C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner>dir
Volume in drive C is Windows
Volume Serial Number is CA0A-0107
Directory of C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner
06/02/2023 01:25 PM <DIR> .
06/22/2023 01:01 PM <DIR> ..
02/09/2023 05:11 PM 4,833 CoreUtils.cs
02/09/2023 05:11 PM 3,479 ILDumper.cs
10/25/2021 03:27 PM <DIR> Invoking
09/23/2021 12:29 PM 8,618 OutputChecker.cs
02/09/2023 05:11 PM 2,596 StubAssertionUtils.cs
06/02/2023 01:25 PM 5,725 UnityAssemblyChecker.cs
05/19/2021 08:52 AM 413 UnityCompilerOptions.cs
10/14/2021 10:22 AM 1,327 UnityILCompiler.cs
02/09/2023 05:11 PM 3,456 UnityLinker.cs
02/09/2023 05:11 PM 16,104 UnityLinkerArgumentBuilder.cs
05/19/2021 08:52 AM 947 UnityLinkerArgumentBuilderEditorMode.cs
03/03/2022 01:54 PM 5,013 UnityObjectFactory.cs
03/03/2022 01:54 PM 1,044 UnityObjectFactoryEditorMode.cs
02/09/2023 05:11 PM 4,710 UnityPeVerifier.cs
04/21/2023 09:19 AM 42,403 UnityResultChecker.cs
05/19/2021 08:52 AM 420 UnitySetupCompileInfo.cs
02/09/2023 05:11 PM 3,268 UnityTestCaseAssemblyResolver.cs
02/09/2023 05:11 PM 8,014 UnityTestCaseCompilationMetadataProvider.cs
02/09/2023 05:11 PM 14,233 UnityTestCaseCompiler.cs
02/09/2023 05:11 PM 12,209 UnityTestCaseMetadataProvider.cs
04/24/2023 11:53 AM 5,605 UnityTestCaseSandbox.cs
06/02/2023 01:25 PM 5,199 UnityTestRunner.cs
02/09/2023 05:11 PM 3,144 UnityTestRunnerEditorMode.cs

We have a lot of the same files. They just inherit and extend rather than copy whole sale from upstream.

Then again, maybe you're use case is different enough that trying to follow the same pattern would lead to more api breaks for us, in which case feel free to stick with copying whole sale 😄

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas I think these changes are good now?

@vitek-karas

Copy link
Copy Markdown
Member

In the product we went with source sharing and partial types typically. But it was mostly for performance reasons to avoid casting a virtual calls everywhere. I would need to look into this some more which approach would work best for the tests.

@vitek-karas
vitek-karas merged commit 4c356de into dotnet:mainJul 19, 2023
@ghostghost locked as resolved and limited conversation to collaborators Aug 19, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Debugger-monocommunity-contributionIndicates that the PR has been added by a community memberlinkable-frameworkIssues associated with delivering a linker friendly framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@mrvoorhe@sbomer@vitek-karas
, '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('^' + ".*" + ' Clean up debugger attributes tests. by mrvoorhe · Pull Request #89011 · dotnet/runtime · GitHub
Skip to content

Clean up debugger attributes tests. - #89011

Merged
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup
Jul 19, 2023
Merged

Clean up debugger attributes tests.#89011
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup

Conversation

@mrvoorhe

Copy link
Copy Markdown
Contributor
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

@ghostghost added linkable-framework Issues associated with delivering a linker friendly framework area-Debugger-mono community-contribution Indicates that the PR has been added by a community member labels Jul 17, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'linkable-framework': @eerhardt, @vitek-karas, @LakshanF, @sbomer, @joperezr, @marek-safar
See info in area-owners.md if you want to be subscribed.

Issue Details
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

Author:mrvoorhe
Assignees:-
Labels:

area-Debugger-mono, linkable-framework

Milestone:-

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas Do I have to do something to get the tests to rerun? The failure about

src/coreclr/tools/aot/Mono.Linker.Tests/TestCasesRunner/TestCaseMetadataProvider.cs(30,57): error CS0103: (NETCORE_ENGINEERING_TELEMETRY=Build) The name 'SetupLinkerKeepDebugMembersAttribute' does not exist in the current context

Seems out of date. I deleted that line.

@sbomer

Copy link
Copy Markdown
Member

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

I did not see that coming! A copy of Mono.Linker.Tests\TestCasesRunner 🙈

* Remove `SetupLinkerKeepDebugMembersAttribute`. This isn't supported anymore by the linker.
* Remove NETCOREAPP behavior difference in debugger attribute removal tests
* Move `DebuggerDisplayAttributeOnTypeWithNonExistentMethod` to the `KeepDebugMembers` folder since that is the scenario this test is testing
@mrvoorhe
mrvoorheforce-pushed the linker-debug-attrs-test-cleanup branch from b356e61 to e38c157CompareJuly 18, 2023 18:52
@vitek-karas

Copy link
Copy Markdown
Member

A copy of Mono.Linker.Tests\TestCasesRunner

Yeah - it's good and bad. It's good since we share the tests between illink and NativeAOT. It's bad because it's the same mess as in illink, just slightly different.

When I get some time I want to:

  • Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes
  • See if we could refactor the runner to share code between the two in some easy way

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes

I think that's worth doing. If the file names had been different that might have been enough to get my brain to notice it was a different copy of TestCaseMetadataProvider.cs.

See if we could refactor the runner to share code between the two in some easy way

I didn't look it too closely but maybe you could share more following the pattern we do with UnityLinker's test suite. We inherit and override things.

C:\UnitySrc\dev>cd C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner\
C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner>dir
Volume in drive C is Windows
Volume Serial Number is CA0A-0107
Directory of C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner
06/02/2023 01:25 PM <DIR> .
06/22/2023 01:01 PM <DIR> ..
02/09/2023 05:11 PM 4,833 CoreUtils.cs
02/09/2023 05:11 PM 3,479 ILDumper.cs
10/25/2021 03:27 PM <DIR> Invoking
09/23/2021 12:29 PM 8,618 OutputChecker.cs
02/09/2023 05:11 PM 2,596 StubAssertionUtils.cs
06/02/2023 01:25 PM 5,725 UnityAssemblyChecker.cs
05/19/2021 08:52 AM 413 UnityCompilerOptions.cs
10/14/2021 10:22 AM 1,327 UnityILCompiler.cs
02/09/2023 05:11 PM 3,456 UnityLinker.cs
02/09/2023 05:11 PM 16,104 UnityLinkerArgumentBuilder.cs
05/19/2021 08:52 AM 947 UnityLinkerArgumentBuilderEditorMode.cs
03/03/2022 01:54 PM 5,013 UnityObjectFactory.cs
03/03/2022 01:54 PM 1,044 UnityObjectFactoryEditorMode.cs
02/09/2023 05:11 PM 4,710 UnityPeVerifier.cs
04/21/2023 09:19 AM 42,403 UnityResultChecker.cs
05/19/2021 08:52 AM 420 UnitySetupCompileInfo.cs
02/09/2023 05:11 PM 3,268 UnityTestCaseAssemblyResolver.cs
02/09/2023 05:11 PM 8,014 UnityTestCaseCompilationMetadataProvider.cs
02/09/2023 05:11 PM 14,233 UnityTestCaseCompiler.cs
02/09/2023 05:11 PM 12,209 UnityTestCaseMetadataProvider.cs
04/24/2023 11:53 AM 5,605 UnityTestCaseSandbox.cs
06/02/2023 01:25 PM 5,199 UnityTestRunner.cs
02/09/2023 05:11 PM 3,144 UnityTestRunnerEditorMode.cs

We have a lot of the same files. They just inherit and extend rather than copy whole sale from upstream.

Then again, maybe you're use case is different enough that trying to follow the same pattern would lead to more api breaks for us, in which case feel free to stick with copying whole sale 😄

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas I think these changes are good now?

@vitek-karas

Copy link
Copy Markdown
Member

In the product we went with source sharing and partial types typically. But it was mostly for performance reasons to avoid casting a virtual calls everywhere. I would need to look into this some more which approach would work best for the tests.

@vitek-karas
vitek-karas merged commit 4c356de into dotnet:mainJul 19, 2023
@ghostghost locked as resolved and limited conversation to collaborators Aug 19, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Debugger-monocommunity-contributionIndicates that the PR has been added by a community memberlinkable-frameworkIssues associated with delivering a linker friendly framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@mrvoorhe@sbomer@vitek-karas
, '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" + ' Clean up debugger attributes tests. by mrvoorhe · Pull Request #89011 · dotnet/runtime · GitHub
Skip to content

Clean up debugger attributes tests. - #89011

Merged
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup
Jul 19, 2023
Merged

Clean up debugger attributes tests.#89011
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup

Conversation

@mrvoorhe

Copy link
Copy Markdown
Contributor
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

@ghostghost added linkable-framework Issues associated with delivering a linker friendly framework area-Debugger-mono community-contribution Indicates that the PR has been added by a community member labels Jul 17, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'linkable-framework': @eerhardt, @vitek-karas, @LakshanF, @sbomer, @joperezr, @marek-safar
See info in area-owners.md if you want to be subscribed.

Issue Details
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

Author:mrvoorhe
Assignees:-
Labels:

area-Debugger-mono, linkable-framework

Milestone:-

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas Do I have to do something to get the tests to rerun? The failure about

src/coreclr/tools/aot/Mono.Linker.Tests/TestCasesRunner/TestCaseMetadataProvider.cs(30,57): error CS0103: (NETCORE_ENGINEERING_TELEMETRY=Build) The name 'SetupLinkerKeepDebugMembersAttribute' does not exist in the current context

Seems out of date. I deleted that line.

@sbomer

Copy link
Copy Markdown
Member

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

I did not see that coming! A copy of Mono.Linker.Tests\TestCasesRunner 🙈

* Remove `SetupLinkerKeepDebugMembersAttribute`. This isn't supported anymore by the linker.
* Remove NETCOREAPP behavior difference in debugger attribute removal tests
* Move `DebuggerDisplayAttributeOnTypeWithNonExistentMethod` to the `KeepDebugMembers` folder since that is the scenario this test is testing
@mrvoorhe
mrvoorheforce-pushed the linker-debug-attrs-test-cleanup branch from b356e61 to e38c157CompareJuly 18, 2023 18:52
@vitek-karas

Copy link
Copy Markdown
Member

A copy of Mono.Linker.Tests\TestCasesRunner

Yeah - it's good and bad. It's good since we share the tests between illink and NativeAOT. It's bad because it's the same mess as in illink, just slightly different.

When I get some time I want to:

  • Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes
  • See if we could refactor the runner to share code between the two in some easy way

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes

I think that's worth doing. If the file names had been different that might have been enough to get my brain to notice it was a different copy of TestCaseMetadataProvider.cs.

See if we could refactor the runner to share code between the two in some easy way

I didn't look it too closely but maybe you could share more following the pattern we do with UnityLinker's test suite. We inherit and override things.

C:\UnitySrc\dev>cd C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner\
C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner>dir
Volume in drive C is Windows
Volume Serial Number is CA0A-0107
Directory of C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner
06/02/2023 01:25 PM <DIR> .
06/22/2023 01:01 PM <DIR> ..
02/09/2023 05:11 PM 4,833 CoreUtils.cs
02/09/2023 05:11 PM 3,479 ILDumper.cs
10/25/2021 03:27 PM <DIR> Invoking
09/23/2021 12:29 PM 8,618 OutputChecker.cs
02/09/2023 05:11 PM 2,596 StubAssertionUtils.cs
06/02/2023 01:25 PM 5,725 UnityAssemblyChecker.cs
05/19/2021 08:52 AM 413 UnityCompilerOptions.cs
10/14/2021 10:22 AM 1,327 UnityILCompiler.cs
02/09/2023 05:11 PM 3,456 UnityLinker.cs
02/09/2023 05:11 PM 16,104 UnityLinkerArgumentBuilder.cs
05/19/2021 08:52 AM 947 UnityLinkerArgumentBuilderEditorMode.cs
03/03/2022 01:54 PM 5,013 UnityObjectFactory.cs
03/03/2022 01:54 PM 1,044 UnityObjectFactoryEditorMode.cs
02/09/2023 05:11 PM 4,710 UnityPeVerifier.cs
04/21/2023 09:19 AM 42,403 UnityResultChecker.cs
05/19/2021 08:52 AM 420 UnitySetupCompileInfo.cs
02/09/2023 05:11 PM 3,268 UnityTestCaseAssemblyResolver.cs
02/09/2023 05:11 PM 8,014 UnityTestCaseCompilationMetadataProvider.cs
02/09/2023 05:11 PM 14,233 UnityTestCaseCompiler.cs
02/09/2023 05:11 PM 12,209 UnityTestCaseMetadataProvider.cs
04/24/2023 11:53 AM 5,605 UnityTestCaseSandbox.cs
06/02/2023 01:25 PM 5,199 UnityTestRunner.cs
02/09/2023 05:11 PM 3,144 UnityTestRunnerEditorMode.cs

We have a lot of the same files. They just inherit and extend rather than copy whole sale from upstream.

Then again, maybe you're use case is different enough that trying to follow the same pattern would lead to more api breaks for us, in which case feel free to stick with copying whole sale 😄

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas I think these changes are good now?

@vitek-karas

Copy link
Copy Markdown
Member

In the product we went with source sharing and partial types typically. But it was mostly for performance reasons to avoid casting a virtual calls everywhere. I would need to look into this some more which approach would work best for the tests.

@vitek-karas
vitek-karas merged commit 4c356de into dotnet:mainJul 19, 2023
@ghostghost locked as resolved and limited conversation to collaborators Aug 19, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Debugger-monocommunity-contributionIndicates that the PR has been added by a community memberlinkable-frameworkIssues associated with delivering a linker friendly framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@mrvoorhe@sbomer@vitek-karas
, '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('^' + ".*" + ' Clean up debugger attributes tests. by mrvoorhe · Pull Request #89011 · dotnet/runtime · GitHub
Skip to content

Clean up debugger attributes tests. - #89011

Merged
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup
Jul 19, 2023
Merged

Clean up debugger attributes tests.#89011
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup

Conversation

@mrvoorhe

Copy link
Copy Markdown
Contributor
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

@ghostghost added linkable-framework Issues associated with delivering a linker friendly framework area-Debugger-mono community-contribution Indicates that the PR has been added by a community member labels Jul 17, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'linkable-framework': @eerhardt, @vitek-karas, @LakshanF, @sbomer, @joperezr, @marek-safar
See info in area-owners.md if you want to be subscribed.

Issue Details
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

Author:mrvoorhe
Assignees:-
Labels:

area-Debugger-mono, linkable-framework

Milestone:-

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas Do I have to do something to get the tests to rerun? The failure about

src/coreclr/tools/aot/Mono.Linker.Tests/TestCasesRunner/TestCaseMetadataProvider.cs(30,57): error CS0103: (NETCORE_ENGINEERING_TELEMETRY=Build) The name 'SetupLinkerKeepDebugMembersAttribute' does not exist in the current context

Seems out of date. I deleted that line.

@sbomer

Copy link
Copy Markdown
Member

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

I did not see that coming! A copy of Mono.Linker.Tests\TestCasesRunner 🙈

* Remove `SetupLinkerKeepDebugMembersAttribute`. This isn't supported anymore by the linker.
* Remove NETCOREAPP behavior difference in debugger attribute removal tests
* Move `DebuggerDisplayAttributeOnTypeWithNonExistentMethod` to the `KeepDebugMembers` folder since that is the scenario this test is testing
@mrvoorhe
mrvoorheforce-pushed the linker-debug-attrs-test-cleanup branch from b356e61 to e38c157CompareJuly 18, 2023 18:52
@vitek-karas

Copy link
Copy Markdown
Member

A copy of Mono.Linker.Tests\TestCasesRunner

Yeah - it's good and bad. It's good since we share the tests between illink and NativeAOT. It's bad because it's the same mess as in illink, just slightly different.

When I get some time I want to:

  • Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes
  • See if we could refactor the runner to share code between the two in some easy way

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes

I think that's worth doing. If the file names had been different that might have been enough to get my brain to notice it was a different copy of TestCaseMetadataProvider.cs.

See if we could refactor the runner to share code between the two in some easy way

I didn't look it too closely but maybe you could share more following the pattern we do with UnityLinker's test suite. We inherit and override things.

C:\UnitySrc\dev>cd C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner\
C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner>dir
Volume in drive C is Windows
Volume Serial Number is CA0A-0107
Directory of C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner
06/02/2023 01:25 PM <DIR> .
06/22/2023 01:01 PM <DIR> ..
02/09/2023 05:11 PM 4,833 CoreUtils.cs
02/09/2023 05:11 PM 3,479 ILDumper.cs
10/25/2021 03:27 PM <DIR> Invoking
09/23/2021 12:29 PM 8,618 OutputChecker.cs
02/09/2023 05:11 PM 2,596 StubAssertionUtils.cs
06/02/2023 01:25 PM 5,725 UnityAssemblyChecker.cs
05/19/2021 08:52 AM 413 UnityCompilerOptions.cs
10/14/2021 10:22 AM 1,327 UnityILCompiler.cs
02/09/2023 05:11 PM 3,456 UnityLinker.cs
02/09/2023 05:11 PM 16,104 UnityLinkerArgumentBuilder.cs
05/19/2021 08:52 AM 947 UnityLinkerArgumentBuilderEditorMode.cs
03/03/2022 01:54 PM 5,013 UnityObjectFactory.cs
03/03/2022 01:54 PM 1,044 UnityObjectFactoryEditorMode.cs
02/09/2023 05:11 PM 4,710 UnityPeVerifier.cs
04/21/2023 09:19 AM 42,403 UnityResultChecker.cs
05/19/2021 08:52 AM 420 UnitySetupCompileInfo.cs
02/09/2023 05:11 PM 3,268 UnityTestCaseAssemblyResolver.cs
02/09/2023 05:11 PM 8,014 UnityTestCaseCompilationMetadataProvider.cs
02/09/2023 05:11 PM 14,233 UnityTestCaseCompiler.cs
02/09/2023 05:11 PM 12,209 UnityTestCaseMetadataProvider.cs
04/24/2023 11:53 AM 5,605 UnityTestCaseSandbox.cs
06/02/2023 01:25 PM 5,199 UnityTestRunner.cs
02/09/2023 05:11 PM 3,144 UnityTestRunnerEditorMode.cs

We have a lot of the same files. They just inherit and extend rather than copy whole sale from upstream.

Then again, maybe you're use case is different enough that trying to follow the same pattern would lead to more api breaks for us, in which case feel free to stick with copying whole sale 😄

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas I think these changes are good now?

@vitek-karas

Copy link
Copy Markdown
Member

In the product we went with source sharing and partial types typically. But it was mostly for performance reasons to avoid casting a virtual calls everywhere. I would need to look into this some more which approach would work best for the tests.

@vitek-karas
vitek-karas merged commit 4c356de into dotnet:mainJul 19, 2023
@ghostghost locked as resolved and limited conversation to collaborators Aug 19, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Debugger-monocommunity-contributionIndicates that the PR has been added by a community memberlinkable-frameworkIssues associated with delivering a linker friendly framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@mrvoorhe@sbomer@vitek-karas
, '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('^' + ".*" + ' Clean up debugger attributes tests. by mrvoorhe · Pull Request #89011 · dotnet/runtime · GitHub
Skip to content

Clean up debugger attributes tests. - #89011

Merged
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup
Jul 19, 2023
Merged

Clean up debugger attributes tests.#89011
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup

Conversation

@mrvoorhe

Copy link
Copy Markdown
Contributor
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

@ghostghost added linkable-framework Issues associated with delivering a linker friendly framework area-Debugger-mono community-contribution Indicates that the PR has been added by a community member labels Jul 17, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'linkable-framework': @eerhardt, @vitek-karas, @LakshanF, @sbomer, @joperezr, @marek-safar
See info in area-owners.md if you want to be subscribed.

Issue Details
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

Author:mrvoorhe
Assignees:-
Labels:

area-Debugger-mono, linkable-framework

Milestone:-

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas Do I have to do something to get the tests to rerun? The failure about

src/coreclr/tools/aot/Mono.Linker.Tests/TestCasesRunner/TestCaseMetadataProvider.cs(30,57): error CS0103: (NETCORE_ENGINEERING_TELEMETRY=Build) The name 'SetupLinkerKeepDebugMembersAttribute' does not exist in the current context

Seems out of date. I deleted that line.

@sbomer

Copy link
Copy Markdown
Member

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

I did not see that coming! A copy of Mono.Linker.Tests\TestCasesRunner 🙈

* Remove `SetupLinkerKeepDebugMembersAttribute`. This isn't supported anymore by the linker.
* Remove NETCOREAPP behavior difference in debugger attribute removal tests
* Move `DebuggerDisplayAttributeOnTypeWithNonExistentMethod` to the `KeepDebugMembers` folder since that is the scenario this test is testing
@mrvoorhe
mrvoorheforce-pushed the linker-debug-attrs-test-cleanup branch from b356e61 to e38c157CompareJuly 18, 2023 18:52
@vitek-karas

Copy link
Copy Markdown
Member

A copy of Mono.Linker.Tests\TestCasesRunner

Yeah - it's good and bad. It's good since we share the tests between illink and NativeAOT. It's bad because it's the same mess as in illink, just slightly different.

When I get some time I want to:

  • Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes
  • See if we could refactor the runner to share code between the two in some easy way

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes

I think that's worth doing. If the file names had been different that might have been enough to get my brain to notice it was a different copy of TestCaseMetadataProvider.cs.

See if we could refactor the runner to share code between the two in some easy way

I didn't look it too closely but maybe you could share more following the pattern we do with UnityLinker's test suite. We inherit and override things.

C:\UnitySrc\dev>cd C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner\
C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner>dir
Volume in drive C is Windows
Volume Serial Number is CA0A-0107
Directory of C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner
06/02/2023 01:25 PM <DIR> .
06/22/2023 01:01 PM <DIR> ..
02/09/2023 05:11 PM 4,833 CoreUtils.cs
02/09/2023 05:11 PM 3,479 ILDumper.cs
10/25/2021 03:27 PM <DIR> Invoking
09/23/2021 12:29 PM 8,618 OutputChecker.cs
02/09/2023 05:11 PM 2,596 StubAssertionUtils.cs
06/02/2023 01:25 PM 5,725 UnityAssemblyChecker.cs
05/19/2021 08:52 AM 413 UnityCompilerOptions.cs
10/14/2021 10:22 AM 1,327 UnityILCompiler.cs
02/09/2023 05:11 PM 3,456 UnityLinker.cs
02/09/2023 05:11 PM 16,104 UnityLinkerArgumentBuilder.cs
05/19/2021 08:52 AM 947 UnityLinkerArgumentBuilderEditorMode.cs
03/03/2022 01:54 PM 5,013 UnityObjectFactory.cs
03/03/2022 01:54 PM 1,044 UnityObjectFactoryEditorMode.cs
02/09/2023 05:11 PM 4,710 UnityPeVerifier.cs
04/21/2023 09:19 AM 42,403 UnityResultChecker.cs
05/19/2021 08:52 AM 420 UnitySetupCompileInfo.cs
02/09/2023 05:11 PM 3,268 UnityTestCaseAssemblyResolver.cs
02/09/2023 05:11 PM 8,014 UnityTestCaseCompilationMetadataProvider.cs
02/09/2023 05:11 PM 14,233 UnityTestCaseCompiler.cs
02/09/2023 05:11 PM 12,209 UnityTestCaseMetadataProvider.cs
04/24/2023 11:53 AM 5,605 UnityTestCaseSandbox.cs
06/02/2023 01:25 PM 5,199 UnityTestRunner.cs
02/09/2023 05:11 PM 3,144 UnityTestRunnerEditorMode.cs

We have a lot of the same files. They just inherit and extend rather than copy whole sale from upstream.

Then again, maybe you're use case is different enough that trying to follow the same pattern would lead to more api breaks for us, in which case feel free to stick with copying whole sale 😄

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas I think these changes are good now?

@vitek-karas

Copy link
Copy Markdown
Member

In the product we went with source sharing and partial types typically. But it was mostly for performance reasons to avoid casting a virtual calls everywhere. I would need to look into this some more which approach would work best for the tests.

@vitek-karas
vitek-karas merged commit 4c356de into dotnet:mainJul 19, 2023
@ghostghost locked as resolved and limited conversation to collaborators Aug 19, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Debugger-monocommunity-contributionIndicates that the PR has been added by a community memberlinkable-frameworkIssues associated with delivering a linker friendly framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@mrvoorhe@sbomer@vitek-karas
, '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); } })(); })(); Clean up debugger attributes tests. by mrvoorhe · Pull Request #89011 · dotnet/runtime · GitHub
Skip to content

Clean up debugger attributes tests. - #89011

Merged
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup
Jul 19, 2023
Merged

Clean up debugger attributes tests.#89011
vitek-karas merged 1 commit into
dotnet:mainfrom
Unity-Technologies:linker-debug-attrs-test-cleanup

Conversation

@mrvoorhe

Copy link
Copy Markdown
Contributor
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

@ghostghost added linkable-framework Issues associated with delivering a linker friendly framework area-Debugger-mono community-contribution Indicates that the PR has been added by a community member labels Jul 17, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to 'linkable-framework': @eerhardt, @vitek-karas, @LakshanF, @sbomer, @joperezr, @marek-safar
See info in area-owners.md if you want to be subscribed.

Issue Details
  • Remove SetupLinkerKeepDebugMembersAttribute. This isn't supported anymore by the linker.

  • Remove NETCOREAPP behavior difference in debugger attribute removal tests

  • Move DebuggerDisplayAttributeOnTypeWithNonExistentMethod to the KeepDebugMembers folder since that is the scenario this test is testing

Author:mrvoorhe
Assignees:-
Labels:

area-Debugger-mono, linkable-framework

Milestone:-

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas Do I have to do something to get the tests to rerun? The failure about

src/coreclr/tools/aot/Mono.Linker.Tests/TestCasesRunner/TestCaseMetadataProvider.cs(30,57): error CS0103: (NETCORE_ENGINEERING_TELEMETRY=Build) The name 'SetupLinkerKeepDebugMembersAttribute' does not exist in the current context

Seems out of date. I deleted that line.

@sbomer

Copy link
Copy Markdown
Member

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Note the error is for a file in src/coreclr/tools/aot, not src/tools/illink.

I did not see that coming! A copy of Mono.Linker.Tests\TestCasesRunner 🙈

* Remove `SetupLinkerKeepDebugMembersAttribute`. This isn't supported anymore by the linker.
* Remove NETCOREAPP behavior difference in debugger attribute removal tests
* Move `DebuggerDisplayAttributeOnTypeWithNonExistentMethod` to the `KeepDebugMembers` folder since that is the scenario this test is testing
@mrvoorhe
mrvoorheforce-pushed the linker-debug-attrs-test-cleanup branch from b356e61 to e38c157CompareJuly 18, 2023 18:52
@vitek-karas

Copy link
Copy Markdown
Member

A copy of Mono.Linker.Tests\TestCasesRunner

Yeah - it's good and bad. It's good since we share the tests between illink and NativeAOT. It's bad because it's the same mess as in illink, just slightly different.

When I get some time I want to:

  • Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes
  • See if we could refactor the runner to share code between the two in some easy way

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

Rename the assembly for NativeAOT - currently it's the same name between illink/NativeAOT and it can do bad things to CI/local builds sometimes

I think that's worth doing. If the file names had been different that might have been enough to get my brain to notice it was a different copy of TestCaseMetadataProvider.cs.

See if we could refactor the runner to share code between the two in some easy way

I didn't look it too closely but maybe you could share more following the pattern we do with UnityLinker's test suite. We inherit and override things.

C:\UnitySrc\dev>cd C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner\
C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner>dir
Volume in drive C is Windows
Volume Serial Number is CA0A-0107
Directory of C:\UnitySrc\dev\il2cpp-12\Unity.Linker.Tests\TestCaseRunner
06/02/2023 01:25 PM <DIR> .
06/22/2023 01:01 PM <DIR> ..
02/09/2023 05:11 PM 4,833 CoreUtils.cs
02/09/2023 05:11 PM 3,479 ILDumper.cs
10/25/2021 03:27 PM <DIR> Invoking
09/23/2021 12:29 PM 8,618 OutputChecker.cs
02/09/2023 05:11 PM 2,596 StubAssertionUtils.cs
06/02/2023 01:25 PM 5,725 UnityAssemblyChecker.cs
05/19/2021 08:52 AM 413 UnityCompilerOptions.cs
10/14/2021 10:22 AM 1,327 UnityILCompiler.cs
02/09/2023 05:11 PM 3,456 UnityLinker.cs
02/09/2023 05:11 PM 16,104 UnityLinkerArgumentBuilder.cs
05/19/2021 08:52 AM 947 UnityLinkerArgumentBuilderEditorMode.cs
03/03/2022 01:54 PM 5,013 UnityObjectFactory.cs
03/03/2022 01:54 PM 1,044 UnityObjectFactoryEditorMode.cs
02/09/2023 05:11 PM 4,710 UnityPeVerifier.cs
04/21/2023 09:19 AM 42,403 UnityResultChecker.cs
05/19/2021 08:52 AM 420 UnitySetupCompileInfo.cs
02/09/2023 05:11 PM 3,268 UnityTestCaseAssemblyResolver.cs
02/09/2023 05:11 PM 8,014 UnityTestCaseCompilationMetadataProvider.cs
02/09/2023 05:11 PM 14,233 UnityTestCaseCompiler.cs
02/09/2023 05:11 PM 12,209 UnityTestCaseMetadataProvider.cs
04/24/2023 11:53 AM 5,605 UnityTestCaseSandbox.cs
06/02/2023 01:25 PM 5,199 UnityTestRunner.cs
02/09/2023 05:11 PM 3,144 UnityTestRunnerEditorMode.cs

We have a lot of the same files. They just inherit and extend rather than copy whole sale from upstream.

Then again, maybe you're use case is different enough that trying to follow the same pattern would lead to more api breaks for us, in which case feel free to stick with copying whole sale 😄

@mrvoorhe

Copy link
Copy Markdown
ContributorAuthor

@vitek-karas I think these changes are good now?

@vitek-karas

Copy link
Copy Markdown
Member

In the product we went with source sharing and partial types typically. But it was mostly for performance reasons to avoid casting a virtual calls everywhere. I would need to look into this some more which approach would work best for the tests.

@vitek-karas
vitek-karas merged commit 4c356de into dotnet:mainJul 19, 2023
@ghostghost locked as resolved and limited conversation to collaborators Aug 19, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Debugger-monocommunity-contributionIndicates that the PR has been added by a community memberlinkable-frameworkIssues associated with delivering a linker friendly framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@mrvoorhe@sbomer@vitek-karas