microsoft/glass-tests
Use when working with PTVS Glass tests: setup_glass.py, run_glass.py, Glass.TestAdapter, Newtonsoft.Json assembly mismatches, Azure Pipelines Glass cache, TestScript.xml, glass2.exe, and mixed-mode Python debugger tests.
npx skills add https://github.com/microsoft/PTVS --skill glass-tests
Use this skill when setting up, running, debugging, or investigating CI failures for PTVS Glass tests. Glass tests exercise Visual Studio debugger behavior, including mixed-mode Python/native scenarios, and require Microsoft-internal drops for the Glass runner.
Link to existing human-facing documentation instead of duplicating it. Start with Python/Tests/GlassTests/readme.txt, which links the internal Concord Glass docs and presentation.
drop.exe, Glass, NuGet tools, and vstest drops; extracts VSIX payloads; copies PTVS debugger bits; discovers installed Python versions; generates .GlassTestProps files; verifies the test listing.copy_ptvs_output(), verifies the runtime test root, and invokes vstest.console.exe with /Parallel and TRX logging.GlassTests cache, acquires the Azure DevOps token, runs setup, runs tests, and publishes TRX results.Python/Tests/GlassTests/PythonTests/**/TestScript.xml: individual debugger test scripts with commands, expected events, breakpoints, and source expectations.GlassTests/: generated/runtime directory for downloaded Glass bits and copied tests; do not treat it as the source of truth for test definitions.EnvironmentDiscover.exe, Microsoft.Python*, and DkmDebu* files. python Build\setup_glass.py --buildOutput BuildOutput\Debug18.0\raw\binaries
python Build\setup_glass.py --authTokenVariable SYSTEM_ACCESSTOKEN --buildOutput <path-to-raw-binaries>
python Build\setup_glass.py --verifyListing
python Build\run_glass.py --buildOutput BuildOutput\Debug18.0\raw\binaries
python Build\run_glass.py --buildOutput BuildOutput\Debug18.0\raw\binaries Repr_Bytes-311-64
TestResults/PythonTests.trx.vstest.console.exe starts.vstest.console.exe starts but before individual tests run.glass2.exe or TestScript.xml failure inside a specific test case.GlassTests came from cache. Cache hits skip setup_glass.py, but run_glass.py still calls copy_ptvs_output().Newtonsoft.Json.dll under GlassTests and compare assembly versions. Glass.TestAdapter.dll expects Newtonsoft.Json, Version=13.0.0.0; NuGet/vstest VSIX extraction can place older 9.x or 10.x copies in the runner tree. The compatible copy usually comes from GlassTests\Glass\Newtonsoft.Json.dll.packages/.python Build\run_glass.py --buildOutput <path> <test-name>.TestScript.xml and source files under Python/Tests/GlassTests/PythonTests/.GlassTests\PythonTests\...\obj\<configuration>\ and bin\<configuration>\ paths.GLASS_DEBUG=1, rerun one test, attach Visual Studio to glass2.exe, and check assertions or event handling.TestScript.xml breakpoints, and use launch.vs.json with the intended interpreter.drop.exe downloads from internal DevDiv artifact drops.run_glass.py without --buildOutput historically probes 17.0 build output paths; pass --buildOutput for local VS 18 builds.EnvironmentDiscover.exe not found usually means the build output path is wrong or stale.PythonConcord.GlassTestRoot or PythonEngine.regdef missing means the runtime test copy is incomplete or setup did not run successfully.GlassTests contents. Fixes that must run before test execution should be in the run_glass.py path, usually via copy_ptvs_output().GlassTests/ are generated and cacheable; source test changes belong under Python/Tests/GlassTests/.Take microsoft/glass-tests from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.