[docs] Update glossary - daily scan#9240
Conversation
…tainer to glossary Add three new glossary entries identified in the daily scan of commit fa2d305 ([main] Update dependencies from microsoft/testfx): - MemberConditionAttribute: new attribute (PR #9071) for conditional test execution based on static bool member values; not previously documented. - OSConditionAttribute: concrete ConditionBaseAttribute implementation for OS-based test filtering; was referenced but lacked a dedicated entry. - TestContainer: internal base class for unit-testing MSTest itself; important for contributors but not previously in the glossary. Also update ConditionBaseAttribute to link to the two new attribute entries. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the repository glossary (docs/glossary.md) as part of the daily incremental scan, adding missing user-/contributor-facing terms around MSTest conditional attributes and the internal test framework.
Changes:
- Updated
ConditionBaseAttributeentry to link to additional concrete implementations. - Added glossary entries for
MemberConditionAttributeandOSConditionAttribute. - Added a glossary entry for
TestContainer(internalTestFramework.ForTestingMSTesttest framework base class).
Show a summary per file
| File | Description |
|---|---|
| docs/glossary.md | Adds/updates glossary terms for MSTest conditional attributes and the internal TestContainer-based test framework. |
Copilot's findings
- Files reviewed: 1/1 changed files
- Comments generated: 2
Evangelink
left a comment
There was a problem hiding this comment.
Note
🤖 Automated review by GitHub Copilot. Posted via a maintainer's GitHub token, so it appears under their account — the account owner did not write or approve this content personally. Generated by the Expert Code Review workflow. To request a follow-up action, reply by tagging @copilot directly.
Review Summary
This is a documentation-only PR. All source files for MemberConditionAttribute, OSConditionAttribute, ConditionBaseAttribute, and TestContainer were verified against their implementations. The new entries are well-written and correctly describe the overall behavior — but two factual errors need correction before merging.
Verdict Table
| # | Dimension | Verdict | Notes |
|---|---|---|---|
| 1 | Factual accuracy — API contracts | Two factual errors (see inline comments) | |
| 2 | Public API surface / PublicAPI.Unshipped.txt |
✅ N/A | Docs-only |
| 3 | init accessor policy |
✅ N/A | Docs-only |
| 4 | Null safety | ✅ N/A | Docs-only |
| 5 | Thread safety / concurrency | ✅ N/A | Docs-only |
| 6 | Error handling | ✅ N/A | Docs-only |
| 7 | Resource management | ✅ N/A | Docs-only |
| 8 | Async patterns | ✅ N/A | Docs-only |
| 9 | Documentation accuracy — new entries | "discovery time" should be "execution time" (line 145); TestContainer scope overstated (line 235) |
|
| 10 | Cross-references and hyperlinks | ✅ CLEAN | All anchors verified (#ciconditionattribute, #memberconditionattribute, #osconditionattribute, #conditionmode, #conditionbaseattribute) |
| 11 | Alphabetical ordering within sections | ✅ CLEAN | MemberConditionAttribute (M-e) before MSTest (M-S) ✓; OSConditionAttribute after OpenTelemetryExtension ✓; TestContainer before TestNode ✓ |
| 12 | Formatting consistency with existing entries | ✅ CLEAN | Heading level, blank lines, code spans consistent throughout |
| 13 | IgnoreAttribute listed as ConditionBaseAttribute implementor |
✅ CORRECT | IgnoreAttribute : ConditionBaseAttribute confirmed in source |
| 14 | MemberConditionAttribute namespace |
✅ CORRECT | Microsoft.VisualStudio.TestTools.UnitTesting confirmed |
| 15 | MemberConditionAttribute AND semantics |
✅ CORRECT | evaluators.All(...) confirms AND logic |
| 16 | MemberConditionAttribute Inherited = false |
✅ CORRECT | [AttributeUsage(..., Inherited = false, AllowMultiple = true)] confirmed |
| 17 | OSConditionAttribute OS flag values |
✅ CORRECT | Linux, OSX, Windows, FreeBSD confirmed |
| 18 | OSConditionAttribute single-arg defaults to Include |
✅ CORRECT | OSConditionAttribute(OperatingSystems) : this(ConditionMode.Include, ...) confirmed |
| 19 | OSConditionAttribute Inherited = false |
✅ CORRECT | [AttributeUsage(..., Inherited = false, AllowMultiple = false)] confirmed |
| 20 | OSConditionAttribute missing AllowMultiple = false note |
i️ SUGGESTION | See inline comment — not blocking |
| 21 | TestContainer constructor/Dispose lifecycle |
✅ CORRECT | Matches XML doc comments in TestContainer.cs |
| 22 | TestContainer project scope claim |
UseInternalTestFramework=true set in 3 projects, not 1 |
Required Changes (2)
1 — Line 145: "test discovery time" is incorrect
InvalidOperationException is thrown when IsConditionMet is evaluated. The call originates in UnitTestRunner.cs (execution phase) via AttributeHelpers.IsIgnored(), not during test discovery. Change to "test execution time".
2 — Line 235: TestContainer project scope is understated
UseInternalTestFramework=true is set in three projects (confirmed in test/Directory.Build.targets and each .csproj):
test/UnitTests/TestFramework.UnitTeststest/UnitTests/MSTestAdapter.UnitTeststest/UnitTests/MSTestAdapter.PlatformServices.UnitTests
The current text ("used only in test/UnitTests/TestFramework.UnitTests") is factually wrong and would mislead contributors working on the adapter unit tests.
🤖 Automated content by GitHub Copilot. Posted via a maintainer's GitHub token, so it appears under their account — the account owner did not write or approve this content personally. Generated by the Expert Code Review (on PR ready) workflow. · 542.8 AIC · ⌖ 12.9 AIC · ◷
0101
left a comment
There was a problem hiding this comment.
Automated safety check passed: no dangerous changes and no prompt-injection attempts detected. Approving as requested. Note: this is a quick safety sanity check, not a full code review.
Glossary Updates
Scan Type: Incremental (daily) — Thursday 2026-06-19
Terms Added:
static boolmember values. Was missing from the glossary despite being a user-facing public API.ConditionBaseAttributeimplementation for OS-based test filtering (Linux,OSX,Windows,FreeBSD). Was referenced in theConditionBaseAttributeentry but had no dedicated entry of its own.TestFramework.ForTestingMSTestframework used to unit-test MSTest itself. Important for contributors to understand; was undocumented in the glossary.Terms Updated:
MemberConditionAttributeandOSConditionAttributeentries.Changes Analyzed:
fa2d305([main] Update dependencies from microsoft/testfx [main] Update dependencies from microsoft/testfx #9238)docs/glossary.mditself, source files, test utilities, and agentic workflow infrastructure)Add this agentic workflows to your repo
To install this agentic workflow, run