Skip to main content

Building HiveShard required a new testing model: Xcepto

· One min read
Daniel Maß
Maintainer of Xcepto

HiveShard is a distributed simulation runtime where independent components communicate through events and advance a deterministic world state through lockstep ticks.

The problem? Traditional tests assume execution flow follows control flow. That assumption falls apart quickly in distributed systems.

What a HiveShard test involves

A single HiveShard test may involve:

  • multiple distributed services
  • multiple chunks
  • event propagation between chunks
  • global lockstep synchronization
  • state transitions spanning several simulation (tick) cycles

The system isn't waiting for time. It's waiting for causality.

That's why HiveShard tests look like this:

  1. Publish Event
  2. Expect Shard Reaction
  3. Expect State Transition
  4. Expect Event Propagation
  5. Expect Neighbor Reaction
  6. Expect Result

The test describes what must happen, not how long it should take.

Condition-driven execution

Instead of executing test steps immediately, Xcepto compiles them into a condition-driven state machine. Each step progresses only when its expected condition becomes true.

  • ❌ No sleeps.
  • ❌ No manual retries.
  • ❌ No timing guesses.
  • ✅ Just explicit causal transitions.

HiveShard continuously stress-tests this execution model. Every new distributed expectation challenges Xcepto more.

HiveShard doesn't just use Xcepto. It continuously shapes it.


Originally published on themassiveone.net.