Ir al contenido

Cobertura e2e

Lo que la batería end-to-end en vivo ejercitó en su última ejecución completa registrada: cada acción del catálogo en cada una de las tres superficies de herramientas, contra instancias reales de Arcane v2.17.2 en el entorno Docker-in-Docker. Las cifras salen de test/e2e/coverage-record.json, que make e2e-coverage-record genera a partir del registro que la batería escribe mientras se ejecuta; make check-e2e-coverage contrasta ese registro, esta página y el código de la batería con el catálogo sin necesidad del entorno. En Pruebas se explica cómo funciona la batería.

Fecha2026-11-02
Commit245296129b6a
Árbol de trabajolimpio
Arcanev2.17.2
Go1.27.3
Duración18 min 13 s
Subtests de escenarios186: 186 correctos, 0 fallidos, 0 omitidos

455 de 461 acciones de 52 dominios funcionaron en las tres superficies. Cada acción tiene exactamente un estado:

EstadoAccionesSignificado
cubierta455Una llamada funcionó en las superficies dinámica, meta e individual, dentro de un test que pasó.
parcial0Funcionó solo en algunas superficies.
solo en limpiezas0Solo funcionó como limpieza al final de un escenario, cuyo resultado ningún escenario comprueba.
solo rutas de error0Se llamó, pero todas las llamadas fallaron.
depende del entorno0Solo falló con un error declarado como propio de la red del equipo y no de la acción (por ejemplo, un registro público al que este equipo no llega).
no comprobable6Figura en test/e2e/untested.yaml: el entorno no puede ejercitarla, por el motivo que se indica más abajo.
sin ejercitar0Ninguna llamada de los escenarios llegó a ella.

Además de funcionar, 89 acciones tienen también comprobada una ruta de error: una llamada MustFail que debía fallar falló (un recurso inexistente, una petición rechazada, una salvaguarda).

DominioAccionesCubiertaParcialSolo en limpiezasSolo rutas de errorDepende del entornoNo comprobableSin ejercitar
activity44––––––
api_key88––––––
app_image44––––––
auth99––––––
backup1716––––1–
build66––––––
container2323––––––
customize22––––––
dashboard11––––––
diagnostics1212––––––
environment1515––––––
event44––––––
federated_credential66––––––
git_repository99––––––
gitops1313––––––
image1817––––1–
image_update77––––––
job1110––––1–
mobile_push66––––––
network99––––––
notification66––––––
oidc1010––––––
passkey2121––––––
podman66––––––
podman_pod88––––––
podman_quadlet77––––––
podman_secret55––––––
port11––––––
project2626––––––
registry1111––––––
role88––––––
s3_destination1010––––––
server33––––––
settings55––––––
stream11––––––
swarm1313––––––
swarm_config55––––––
swarm_node1212––––––
swarm_secret55––––––
swarm_service99––––––
swarm_stack99––––––
swarm_task11––––––
system118––––3–
template1515––––––
updater55––––––
upload44––––––
user66––––––
variable66––––––
volume1313––––––
volume_backup1414––––––
vulnerability1616––––––
webhook55––––––
Total461455000060

Cada acción en cada superficie es una celda, que se juzga por las llamadas que los escenarios hicieron a través de esa superficie:

Estadodynamicmetaindividual
Correcta: una llamada que no era de limpieza funcionó en un test que no falló455455455
Test fallido: una llamada así funcionó, pero solo en tests que fallaron000
Solo limpieza: solo funcionaron las limpiezas del final del escenario000
Solo fallos: todas las llamadas fallaron444
Sin llamadas: ninguna llamada222

Acciones que no están cubiertas en todas las superficies

Sección titulada «Acciones que no están cubiertas en todas las superficies»

Los motivos se citan tal cual, en inglés, de test/e2e/untested.yaml y de las declaraciones de dependencia del entorno de cmd/audit_e2e_coverage.

AcciónEstadoSuperficiesMotivo
backup.restoreno comprobabledynamic: solo fallos
meta: solo fallos
individual: solo fallos
Arcane finds its own container through its cgroup before restoring. The estate managers do not run in the daemon they manage, and an Arcane run inside the estate’s Docker-in-Docker resolves the outer dind container, which the inner daemon does not know (‘inspect Arcane container: No such container’). TestPlatform_PrivateManager covers everything up to it and calls restore, checking the result if it ever succeeds.
image.patchno comprobabledynamic: solo fallos (fallo esperado)
meta: solo fallos (fallo esperado)
individual: solo fallos (fallo esperado)
Needs a daemon on the containerd image store (Copacetic uses BuildKit’s docker exporter); the estate’s docker:dind daemons use overlay2, so Arcane refuses before patching. The core suite asserts that refusal.
job.resolve_runno comprobabledynamic: solo fallos (fallo esperado)
meta: solo fallos (fallo esperado)
individual: solo fallos (fallo esperado)
Deprecated mixed-version compatibility route (removed in Arcane v3): only needs_attention runs can be resolved, and Arcane (v2.16.1 to v2.17.2) records every such outcome as failed (pkg/scheduler/runs/actors.go), so it only succeeds for a run of an agent older than v2.16 (verified against a v2.14.0 agent, plan/upstream-bugs/job-resolve-run-unreachable). The estate runs v2.17.1 agents only; the suite asserts the refusal.
system.update_allno comprobabledynamic: sin llamadas
meta: sin llamadas
individual: sin llamadas
Same as system.upgrade, for every environment starting with the manager.
system.update_all_statusno comprobabledynamic: solo fallos
meta: solo fallos
individual: solo fallos
Answers 404 ‘no update-all job found’ until system.update_all has run, which the estate cannot do (see system.update_all). The core suite accepts the 404.
system.upgradeno comprobabledynamic: sin llamadas
meta: sin llamadas
individual: sin llamadas
Upgrades the Arcane server itself by replacing its own container, which it must find on the daemon it manages; the estate managers run outside the daemons they manage, and replacing the server under test would end the run.

Ninguno.