TofuPilotTofuPilot

Depends On

Define dependencies between test phases to control execution order and skip downstream phases when prerequisites fail in TofuPilot.

You can control execution order between phases using the depends_on parameter.

main:
  - name: Power On
    key: power_on
    python: phases.power_on

  - name: Test WiFi
    key: test_wifi
    python: phases.test_wifi
    depends_on: [power_on] 

  - name: Test Bluetooth
    key: test_bluetooth
    python: phases.test_bluetooth
    depends_on: [power_on] 

  - name: Final Check
    key: final_check
    python: phases.final_check
    depends_on: [test_wifi, test_bluetooth] 

TofuPilot waits for all dependencies to complete before executing a phase. Dependencies reference phase keys, not phase names.

Validation

TofuPilot validates dependencies to prevent execution errors:

  • Circular dependencies: Detects and prevents cycles (e.g., A waits for B, B waits for A)
  • Orphaned dependencies: Errors if a phase depends on a non-existent phase key
  • Maximum dependencies: Each phase can have up to 100 dependencies

How is this guide?

On this page