mcpField
D
dart-log-failure-parser

dart-log-failure-parser

github.com/flutterTesting & quality180.5k107 installsUpdated today
Repository

About dart-log-failure-parser

A workflow skill for inspecting Dart logs and identifying specific causes of failure, including tests, analysis errors, and build issues. It guides agents to examine the full log and report concrete findings rather than only the failed command.

Key features

  1. 01Inspect the complete log
  2. 02Find structured error blocks and task JSON
  3. 03Identify failing tests
  4. 04Detect compiler, linker, and build errors

Use cases

  1. 01Analyze a failed Dart test run
  2. 02Find specific failures in build logs
  3. 03Summarize errors from task output

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/flutter/flutter --skill dart-log-failure-parser

After installing, type/dart-log-failure-parserin Claude Code to confirm it loaded.

Details

From the project README

Dart Log Failure Parser

Workflow

1. Analyze Raw Log Output

Analyze the raw log output for failure details. Do not skim the output; check the entire log. The description of findings should include specific details for the failures (e.g., unformatted files, specific test names), not just the top-level command that failed.

2. Look for Failure Patterns
Pattern A: Error Blocks (e.g., Linux Analyze)

Search for blocks starting with ╡ERROR #. Example:

╔═╡ERROR #1╞════════════════════════════════════════════════════════════════════
║ Command: bin/cache/dart-sdk/bin/dart --enable-asserts /b/s/w/ir/x/w/flutter/dev/bots/analyze_snippet_code.dart --verbose
║ Command exited with exit code 255 but expected zero exit code.
║ Working directory: /b/s/w/ir/x/w/flutter
╚═══════════════════════════════════════════════════════════════════════════════
Pattern B: Task Result JSON

Search for "Task result:" followed by a JSON object. Example:

Task result:
{
  "success": false,
  "reason": "Task failed: PathNotFoundException: Cannot open file..."
}
Pattern C: Failing Tests List

For general Dart tests, look for a list at the end of the log starting with "Failing tests:". Example:

Failing tests:
  test/general.shard/cache_test.dart: FontSubset artifacts for all platforms on arm64 hosts
  test/general.shard/cache_test.dart: FontSubset artifacts on arm64 linux
Pattern D: Build Failures

For build failures (e.g., engine tests failing at compile time), look for the following indicators in the logs or API summaries:

  • Lines starting with FAILED: (indicates a Ninja target failed).
  • Compiler error messages (e.g., error:, fatal error:).
  • Linker error messages (e.g., undefined reference to).
  • Summary messages in the check-runs API output like 1 build failed: [<build_name>].

Comments

Markdown supported