bisect-aware-instrumentation

Solid

Instrument code to support efficient git bisect by producing deterministic pass/fail signals and concise runtime summaries for each tested commit. Use when debugging regressions with git bisect, automating bisect workflows, creating bisect test scripts, handling flaky tests during bisection, or needing clear exit codes and logging for automated bisect runs. Helps identify the exact commit that introduced a bug through automated testing.

Code & Development 160 stars 17 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 87/100

Stars 20%
73
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Bisect-Aware Instrumentation ## Overview Instrument code to support efficient git bisect operations by producing deterministic pass/fail signals and concise runtime summaries. This skill helps create robust test scripts that work reliably with `git bisect run`, handling edge cases like flaky tests, build failures, and non-deterministic behavior. ## Core Workflow ### 1. Understand the Regression Before instrumenting, clarify: - What behavior changed? (bug introduced, performance regression, test failure) - What is the "good" commit? (known working state) - What is the "bad" commit? (known broken state) - How to reproduce the issue? (test command, manual steps) ### 2. Create Bisect Test Script Generate a test script that returns proper exit codes for git bisect: **Exit Code Convention**: - `0`: Good commit (test passes) - `1-124, 126-127`: Bad commit (test fails) - `125`: Skip commit (cannot test - build failure, missing dependencies) **Template**: ```bash #!/bin/bash # bisect_test.sh - Test script for git bisect run set -e # Exit on error # Build/setup phase if ! make build 2>/dev/null; then echo "SKIP: Build failed" exit 125 fi # Run test with timeout timeout 30s ./run_test || TEST_RESULT=$? # Interpret results if [ $TEST_RESULT -eq 0 ]; then echo "GOOD: Test passed" exit 0 elif [ $TEST_RESULT -eq 124 ]; then echo "SKIP: Test timeout" exit 125 else echo "BAD: Test failed with code $TEST_RESULT" exit 1 fi ``` ### 3. Add Determin...

Details

Author
ArabelaTso
Repository
ArabelaTso/Skills-4-SE
Created
6 months ago
Last Updated
today
Language
Python
License
Apache-2.0

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Listed

bisect

Find the exact commit that introduced a bug or regression using automated git bisect. Use when something used to work and doesn't anymore, and the user wants the guilty commit — especially from a plain-English symptom like "scrolling got janky sometime last month."

1 Updated 1 months ago
tokyubevoxelverse
Code & Development Listed

bisect

This skill should be used when something broke and the cause is unknown — when the user says "it worked yesterday", "which commit broke this", "this started failing", "narrow down why", "find the minimal reproduction", "which config line causes this", "which dependency upgrade broke the build", "bisect this", or presents a large failing input, config, or test that needs to be reduced to its essential cause. Provides a unified method for locating a cause by binary search over commits, inputs, config, dependencies, or environment, plus working ddmin and predicate-validation tooling.

1 Updated 3 weeks ago
lkc-studio
Code & Development Listed

bisect

This skill should be used when something broke and the cause is unknown — when the user says "it worked yesterday", "which commit broke this", "this started failing", "narrow down why", "find the minimal reproduction", "which config line causes this", "which dependency upgrade broke the build", "bisect this", or presents a large failing input, config, or test that needs to be reduced to its essential cause. Provides a unified method for locating a cause by binary search over commits, inputs, config, dependencies, or environment, plus working ddmin and predicate-validation tooling.

1 Updated 3 weeks ago
lkc-studio