원클릭으로
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.