Skip to content

TEST · Runner

One flow. Conformance or load.

5G/4G procedures an agent can dispatch, or a team can run. Gate the pipeline on the result, or attach agents for a continuous lab.

452
ready-to-run flows
36
test suites
5
wire protocols + GTP-U
0
runtime dependencies

The problem

Testing the core is fragmented.

Most teams arrive with scripts, a load tool, and an appliance — each covering a slice, none living where the code does.

Hand-rolled scripts drift

Socket scripts give control but no structure. Reporting is reinvented per test, and NGAP and Diameter suites slowly stop agreeing.

Load vs conformance tools disagree

A conformance harness proves one UE took the right path; a load tool proves the AMF survives a thousand. Different tools mean different code paths.

Vendor appliances stay lab-only

Appliances cover what they ship, live behind a GUI, and never land in a PR or CI runner. Gaps need authoring you cannot do.

What it does

One model for every test.

A declarative state machine drives the wire. Conformance and load come from the same definition.

01

Declarative YAML flows

Each flow is a protocol FSM — states wait, transitions check, extract, then send. Six action types, fourteen check operators, schema-enforced at load.

02

One flow, conformance or load

Same YAML for a single-UE check or a high-rate burst. Workload knobs are orthogonal; each UE gets its own isolated context.

03

Five protocols, one catalog

NGAP, Diameter, SBI, REST, PFCP plus GTP-U — one engine and dispatcher. Multi-protocol flows on a single UE are first-class.

04

Suites for composed tests

Ordered flow steps as one cycle: provision, load, tear down. stop_on_failure gates the cycle; always_run cleans up even on failure.

05

CI-shaped output

run-flow and run-suite exit 0 on pass, non-zero otherwise. Gate on exit code, or capture JSON/JUnit with -output.

06

GTP-U user plane

After PDU session setup, uplane_start arms N3 traffic and measures packets, bytes, RTT, jitter, and drop. Userspace or embedded DPDK.

Wire protocols

Five protocols, plus user plane.

Real 3GPP and IETF stacks, driven by the same FSM dispatcher. One flow can drive more than one at once.

NGAPDiameterSBIRESTPFCPGTP-U

Next step

Put dflux Runner in your pipeline

Tell us what you're testing — or read the docs and run your first flow in about ten minutes.