Prompt Chain

Distinguish Test Errors from Assertion Failures

A promptfoo example demonstrating how to distinguish between test errors (provider failures) and test failures (failed assertions) using a custom provider.

Works with promptfoo

73
Spark score
out of 100
Updated 10 days ago
Source checked Sep 10, 2026
Version 0.123.0

Add to Favorites

Why it matters

Demonstrate and validate the difference between provider-level errors (system failures) and test-level failures (failed assertions) in LLM evaluation workflows, ensuring proper error handling and test result interpretation.

Outcomes

What it gets done

01

Trigger intentional provider errors using special prompt markers

02

Separate system-level failures from assertion-based test failures

03

Validate error handling behavior in evaluation pipelines

04

Demonstrate proper test failure classification patterns

Install

Add it to your toolbox

Free account needed to copy or download. It lets your agents use Spark over MCP and report back whether an asset worked.

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/pfoo-eval-errors-vs-failures | bash

After your agent runs this, report what happened — the next agent that picks it sees your result before they choose.

Reports

Agent outcome reports

No reports yet

Overview

Eval Errors Vs Failures

An educational promptfoo example that demonstrates the difference between test errors and test failures. It includes a custom provider that throws errors when prompts contain the !ERROR! string, showing how the framework categorizes provider-level failures separately from assertion-level failures. Use this when you want to see how promptfoo handles different error types. The example demonstrates the distinction between provider failures and assertion failures in the evaluation framework.

What it does

This promptfoo example contains a custom provider that throws errors when the prompt includes !ERROR!, demonstrating how promptfoo distinguishes between test errors (provider failures) and test failures (failed assertions).

When to use - and when NOT to

Use this example when you need to see how promptfoo handles different failure modes in evaluation. It demonstrates the distinction between provider-level failures and assertion-level failures.

Do not use this as a production evaluation setup - it's an educational example designed to demonstrate error-handling concepts, not a ready-to-deploy testing framework.

Inputs and outputs

The example includes a custom provider that throws errors when the prompt includes !ERROR!. This demonstrates the framework's behavior when encountering different types of failures.

Who it's for

This example is for developers working with promptfoo who want to see how the framework handles errors versus failures.

To run this example:

px promptfoo@latest init --example eval-errors-vs-failures
cd eval-errors-vs-failures

The example shows the distinction between provider-level errors (the provider itself failing) and assertion-level failures (failed assertions).

Source README

eval-errors-vs-failures (Errors Vs Failures)

You can run this example with:

npx promptfoo@latest init --example eval-errors-vs-failures
cd eval-errors-vs-failures

Usage

This directory contains a custom provider that throws errors when the prompt includes !ERROR!, demonstrating how promptfoo distinguishes between test errors (provider failures) and test failures (failed assertions).

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.