Files
gps-denied-onboard/_docs/02_document/tests/resource-limit-tests.md
T
Oleksandr Bezdieniezhnykh cab7b5d020 [AZ-233] Update Docker Compose and enhance test documentation
- Modified the Docker Compose configuration to include an input root for replay tests and added an environment variable for enabling SITL.
- Enhanced documentation for various testing processes, including the addition of a Runtime Completeness Decomposition Gate and clarifications on internal module testing requirements.
- Updated the implementation completeness report to reflect the current state and added new test cases for performance and resilience scenarios.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-06 05:03:48 +03:00

3.4 KiB

Resource Limit Tests

NFT-RES-LIM-01: Jetson Memory Budget

Summary: Validate that runtime memory stays below the 8 GB shared LPDDR5 limit.

Traces to: AC-4.2, Restrictions Onboard Hardware

Preconditions:

  • Jetson Orin Nano Super in production power/thermal mode.
  • BASALT + wrapper, cache index, FAISS CPU index, and FDR enabled.

Monitoring:

  • CPU/GPU shared memory, process RSS, CUDA allocations, FAISS index memory.

Duration: Minimum 60 minutes steady-state replay plus relocalization triggers.

Pass criteria: Peak memory <8 GB shared; no OOM kill; no silent descriptor/index eviction.


NFT-RES-LIM-02: Thermal And Power Envelope

Summary: Validate sustained 25 W operation without thermal throttling across the environmental envelope.

Traces to: AC-NEW-5

Preconditions:

  • Jetson cooling solution installed.
  • Hot-soak chamber or production thermal test setup at +50 °C.

Monitoring:

  • Power mode, temperature sensors, throttle flags, CPU/GPU clocks, per-frame latency.

Duration: 8 hours at sustained representative workload.

Pass criteria: No thermal throttle event; p95 latency remains <400 ms; QGC receives thermal warning if any threshold is approached.


NFT-RES-LIM-03: Satellite Cache Storage Budget

Summary: Validate persistent satellite cache footprint for up to 400 km² operational area.

Traces to: AC-8.3, Restrictions Satellite Imagery

Monitoring:

  • Cache imagery, overviews, manifests, sidecars, FAISS descriptors/indexes.

Duration: Full cache build/load test.

Pass criteria: Persistent cache is <=10 GB unless the implementation explicitly defines and gets approval for a separate descriptor/index budget.


NFT-RES-LIM-04: Flight Data Recorder Rollover

Summary: Validate FDR storage cap and rollover behavior under an 8-hour synthetic mission.

Traces to: AC-NEW-3, AC-8.5

Preconditions:

  • Synthetic 8-hour load with 3 fps navigation frames, full-rate IMU, emitted GPS_INPUT, health telemetry, tile writes, and failure thumbnails.

Monitoring:

  • FDR segment sizes, rollover events, retained payload classes.

Duration: 8 hours.

Pass criteria: FDR remains <=64 GB per flight; rollover is logged; no raw nav/AI frames are retained; no payload class is silently dropped.


NFT-RES-LIM-05: Cold Start Resource Spike

Summary: Validate that CUDA/TensorRT/ONNX/FAISS initialization does not violate boot or memory budgets.

Traces to: AC-NEW-1, AC-4.2

Monitoring:

  • Initialization time, peak memory, engine/index load time.

Duration: 50 cold-start trials.

Pass criteria: First valid GPS_INPUT <30 s p95; peak memory <8 GB; no first-run engine build occurs at runtime.


NFT-RES-LIM-INFRA: Jetson Hardware Prerequisite Smoke

Summary: Validate that local replay reports Jetson-only resource gates as blocked unless target hardware is explicitly enabled.

Traces to: AZ-239 AC-1, AZ-239 AC-2, AZ-239 AC-4, AZ-233 Reliability NFR

Monitoring:

  • Replay report status, blocked reason, and run-scoped artifact path.

Duration: One Docker replay smoke run.

Pass criteria: On non-Jetson local runners, the scenario reports blocked with Jetson prerequisite blocked: set GPSD_ENABLE_JETSON=1 on target hardware; on Jetson release-gate runners, it must collect the metrics required by NFT-RES-LIM-01, NFT-RES-LIM-02, and NFT-RES-LIM-05.