Skip to content
ReferenceAlso known as: suite_name, pytest marker, fixtures

pytest integration ​

Install sf-m3[pytest] or run m3 setup. The plugin adds M3 fixtures, selection, storage integration, and feedback generation while leaving ordinary pytest selection after -- intact.

Marker ​

python
import pytest

pytestmark = pytest.mark.m3(suite_name="shipping")

The nearest marker can set suite_name, server definitions, agent selections, and ci. Persisted selected tests need a non-empty suite name. A module or class marker supplies defaults; a closer marker overrides them.

Fixtures ​

FixtureValue
m3_kitThe MCPTestKit bound to the current test and selected store.
agentOne selected agent case. Requesting it expands harness/model/trial selection.
serverOne selected server binding. Requesting it expands configured server cases.

CLI server groups replace marker server lists. CLI harness selections replace marker defaults. Ordinary pytest parametrization composes with these M3 axes. Each combination is a separate execution; --trials is not a retry count.

m3 ci test excludes tests whose nearest marker has ci=False. m3 test does not apply that exclusion.