Referencia · 02

Un runner para cada pipeline.

El proceso host prepara el código, ejecuta uno o varios scans y convierte el protocolo STUnit en un resultado legible.

Ejecución básica

python3 runner/run.py

El runner ensambla las fuentes, ejecuta iec2c, compila con GCC, ejecuta el binario y escribe los reportes en build/reports/. Las suites que usan REAL enlazan automáticamente la biblioteca matemática del runtime.

Seleccionar casos

--filter acepta una expresión regular sobre el id, el nombre o los tags. Los casos restantes aparecen como SKIP y no se ejecutan:

python3 runner/run.py --filter 'smoke|ordering'
python3 runner/run.py --filter 'dint'

Ejecutar varios scans

Para bloques temporizados o con estado puedes ejecutar varios ciclos con un reloj simulado:

python3 runner/run.py \
  --filter 'timer' \
  --cycles 20 \
  --cycle-time-ms 10

El contexto conserva sus contadores entre scans. Las aserciones normales se evalúan en cada scan; FB_AssertEventually es stateful y cuenta una sola aserción hasta que la condición se cumple o vence TimeoutScans.

OpciónPor defectoFunción
--manifesttests/test_manifest.jsonManifiesto de casos.
--report-dirbuild/reportsDestino JSON/JUnit.
--filtersin filtroSelecciona id, nombre o tag.
--cycles1Scans PLC deterministas.
--cycle-time-ms10Tiempo simulado entre scans.

Código de salida

0 significa que los casos seleccionados no tienen fallos. Un código distinto de cero indica un fallo de aserción, un error de compilación o un problema del protocolo.

¿Quieres integrarlo?
Consulta el formato de salida y los ejemplos de CI.

Ver reportes →