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: 8

Run it

bashbash
aeon exec run --campaign smoke --build "$GIT_SHA" --wait
aeon exec run --campaign nightly --build main --lanes 8

Suggested campaign tiers

CampaignCasesTriggerBudget
smoke~12every pull requestunder 20 min
regression~180merge to mainunder 3 h
nightly~640scheduled 02:00overnight
certificationfull suiterelease candidate2-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.