Back to Flutter

Dart Log Failure Parser

.agents/skills/dart-log-failure-parser/SKILL.md

3.47.02.1 KB
Original Source

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:

json
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>].