Skip to content

infra: improve conformance runner #13991

@Boshen

Description

@Boshen

Problem Statement

The current tasks/coverage runner is slow because it performs redundant directory traversals. Each suite type (Test262Suite, BabelSuite, TypeScriptSuite, MiscSuite) independently walks the same directories using WalkDir::new(), leading to 28+ directory scans when only 4 are needed.

Current Architecture Issues

  1. Redundant Directory Traversals: Each tool (parser, semantic, codegen, formatter, transformer, minifier, estree) runs 4+ suites, each doing independent directory walks
  2. Complex Trait Hierarchy: Suite/Case traits mix file discovery with test execution
  3. Memory Inefficiency: Could potentially hold all files in memory
  4. Mixed Responsibilities: File filtering, discovery, execution, and reporting all mixed together

Target Architecture

Core Principles

  1. Single directory walk per test suite: Walk test262/, babel/, typescript/, misc/ once each
  2. Sequential processing: Complete one test suite before starting the next (memory efficiency)
  3. Separation of concerns: Separate file discovery, test execution, and reporting
  4. Maintain existing functionality: All current filtering and test logic preserved

The code is in https://github.com/oxc-project/oxc/tree/main/tasks/coverage/src

Metadata

Metadata

Assignees

No one assigned

    Labels

    E-Help WantedExperience level - For the experienced collaborators

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions