> ## Documentation Index
> Fetch the complete documentation index at: https://ito.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Test Runs

> How Ito runs automated tests against your pull requests and what the results mean.

A test run is a collection of AI-executed [test cases](/concepts/test-cases) that Ito runs against a specific commit in a pull request. Each time you open a PR or push a new commit, Ito automatically starts a new test run for that commit.

<Note>
  Test runs only trigger on repositories with automation enabled. See [Settings → Automation](/settings/automation) to enable automatic testing for your repository.
</Note>

## How a test run is triggered

<Steps>
  <Step title="You open or update a PR">
    When a pull request is opened or a new commit is pushed to an open PR, GitHub notifies Ito via a webhook.
  </Step>

  <Step title="Ito creates a test run">
    Ito creates a test run tied to the current commit SHA. The run starts in **pending** status while the AI agent prepares the test environment.
  </Step>

  <Step title="The AI agent executes test cases">
    The agent runs each test case, capturing a video recording and collecting results as it goes.
  </Step>

  <Step title="Results are published">
    When all test cases finish, results appear in the dashboard, and if PR comments are enabled, Ito posts a summary to your GitHub PR.
  </Step>
</Steps>

<Tip>
  When you push a new commit while a run is still in progress, Ito automatically cancels the stale run and starts a fresh one. You always see results for your latest code.
</Tip>

## Test run statuses

<Tabs>
  <Tab title="In progress">
    | Status      | What it means                                  |
    | ----------- | ---------------------------------------------- |
    | **Pending** | The run was created and is waiting to start.   |
    | **Running** | The AI agent is actively executing test cases. |
  </Tab>

  <Tab title="Completed">
    | Status        | What it means                                                       |
    | ------------- | ------------------------------------------------------------------- |
    | **Passed**    | All test cases linked to this PR's changes passed.                  |
    | **Failed**    | One or more test cases related to this PR's changes failed.         |
    | **Cancelled** | The run was stopped — usually because a newer commit superseded it. |
  </Tab>
</Tabs>

<Info>
  A run is marked **passed** or **failed** based only on test cases attributed to the current PR's changes. Failures that appear to be pre-existing issues are surfaced as "additional findings" and do not affect the overall run status.
</Info>

## The PR list view

The dashboard home shows a table of all pull requests Ito has tested. Each row reflects the most recent test run for that PR.

| Column           | What it shows                                                            |
| ---------------- | ------------------------------------------------------------------------ |
| **Pull Request** | PR title, number, repository, and author login.                          |
| **Opened**       | How long ago the PR was created on GitHub. Hover for the exact date.     |
| **Tested**       | How long ago the latest test run last updated. Hover for the exact date. |
| **PR Status**    | Whether the PR is open, closed, or merged on GitHub.                     |
| **Test Results** | Pass and fail counts from the latest test run (see below).               |

### Reading test result badges

The **Test Results** column shows up to three icons/emojis:

* **✅**  — test cases that passed.
* ❌ — test cases that failed and are attributed to this PR's changes.
* ℹ️ — additional findings (pre-existing issues not related to your PR). The color of the icon/emoji is the color of the highest severity level among those findings.

If a run is still in progress, the column shows a **Running…** spinner instead.

<Tip>
  Click any PR row to open the detail view and see individual test case results, video recordings, and code analysis.
</Tip>

## Related

* [Test Cases](/concepts/test-cases) — what each test case inside a run contains
* [Severity Levels](/concepts/severity-levels) — how Ito classifies bugs by impact
* [PR Comments](/concepts/pr-comments) — the comment Ito posts to GitHub when a run completes
* [Settings → Automation](/settings/automation) — configure which PRs trigger automatic runs
