بنقرة واحدة
conditional-testing
Documentation for conditional testing in V8 using gm.py.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Documentation for conditional testing in V8 using gm.py.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Managing and querying Perfetto traces using the trace_processor MCP server.
Guides the initial analysis and impact assessment of a V8 security report, strictly excluding implementation or fixing.
Executes and interprets V8 tests. Use when running unittests, cctest, or mjsunit, or when debugging test failures. Do not use for building.
Manages git task isolation and environment setup in V8. Use at the start of any new task or bug fix. Do not use for general C++ editing.
Workflow for issue-based debugging in V8. Use when tasked with debugging a specific issue, usually associated with a Buganizer ID or a specific reproduction script. Do not use for performance regressions.
Workflow for general debugging tasks without the overhead of issue tracking. Use when investigating crashes, hangs, or unexpected behavior where no specific issue ID is provided. Do not use when issue ID is provided.
| name | conditional_testing |
| description | Documentation for conditional testing in V8 using gm.py. |
This skill documents how to use conditional testing to optimize the testing workflow in V8.
Running the full V8 test suite can be time-consuming. Conditional testing saves time and resources by checking if tests are actually needed. It will build and/or run tests only if:
d8 executable is missing or out of date relative to modified source files
(detected via git diff and git ls-files).d8 executable is newer than the last successful test run.For regular users, conditional testing is enabled by default when executing
a full test suite (e.g. check).
gm.py x64.release.check
If nothing has changed, it will silently exit without rebuilding or re-running
tests. If only test files changed, it will re-run the tests without building. If
you explicitly request a subset of tests (e.g.,
gm.py x64.release mjsunit/foo), the tests will run unconditionally.
For automated agents, you can use the --ensure-tests-ran flag without
specifying a target configuration. This will automatically detect the most
recently built configuration in out/ and run the tests (if needed) for that
specific configuration.
tools/dev/gm.py --ensure-tests-ran
git diff origin/main and
git ls-files --others to efficiently find files modified in the worktree.test/ and
tools/ directories) are modified since d8 was last built, a build is
triggered.d8 with a cached
timestamp in <outdir>/last_test_run. If d8 is newer, tests are run.test/ directory is newer than
last_test_run, tests are run.<outdir>/last_test_run file timestamp.gm.py --ensure-tests-ran for background checking.d8 or remove the
last_test_run file.