Awesome Reviewers expert instructions

domains / / servo/servo

enhance testing interfaces

Design testing tool interfaces to be both flexible and discoverable. Support multiple keyword variations for test-related functionality and provide pass-through parameter options to enable advanced debugging scenarios.

raw .md Testing Python

Design testing tool interfaces to be both flexible and discoverable. Support multiple keyword variations for test-related functionality and provide pass-through parameter options to enable advanced debugging scenarios.

When implementing testing commands or parsers, consider:

  • Allow flexible parameter passing to underlying test tools for debugging purposes (e.g., --stress-count for reproducing flaky tests)
  • Support multiple keyword variations to make features easily discoverable (e.g., “cov”, “coverage”, “test-coverage” for the same functionality)
  • Design interfaces that accommodate both common use cases and advanced debugging needs

Example implementation:

# Support multiple keywords for discoverability
elif any(word in s for word in ["cov", "coverage", "test-coverage"]):
    return JobConfig("Coverage", Workflow.COVERAGE)

# Allow pass-through parameters for flexibility
@CommandArgument("params", nargs="...", help="Command-line arguments to be passed through to test runner")

This approach improves developer experience by making testing tools more accessible and providing the flexibility needed for complex debugging scenarios.