Running tests
Campaigns: grouping test cases
Define reusable TTCN-3 campaigns in YAML — case selection, ordering, parallelism, retries, abort policy, and per-branch campaign variants.
6 min read
A campaign is a versioned, reviewable list of test cases plus execution policy. Campaigns live in your repository, which means test scope changes go through code review like everything else.
Campaign file
.aeon/campaigns/smoke.yamlyaml
name: smoke
release: 18
description: 12-case gate for every pull request
policy:
parallel: 4
retries: 1
abort_on_fail: false
max_duration: 20m
cases:
- TC_6_1_1_1 # initial registration
- TC_6_1_1_2 # registration, periodic
- TC_6_1_2_1 # de-registration, UE initiated
- TC_7_1_1_1 # PDU session establishment
- group: RRC_Idle_Mode
limit: 8Run it
bashbash
aeon exec run --campaign smoke --build "$GIT_SHA" --wait aeon exec run --campaign nightly --build main --lanes 8
Suggested campaign tiers
| Campaign | Cases | Trigger | Budget |
|---|---|---|---|
| smoke | ~12 | every pull request | under 20 min |
| regression | ~180 | merge to main | under 3 h |
| nightly | ~640 | scheduled 02:00 | overnight |
| certification | full suite | release candidate | 2-4 days |
Run this against a real SDR lane
The tester is a service, not a box. Push a build, reserve a lane, get a verdict.