i4h-catheter-navigation-smoke

Par nvidia · skills

Exécute les tests de fumée fluorosim en mode CPU uniquement (imports, prétraitement, parseurs CLI). À utiliser pour effectuer des smoke tests de navigation par cathéter en CI ou sans GPU.

npx skills add https://github.com/nvidia/skills --skill i4h-catheter-navigation-smoke

i4h Catheter Navigation - Tests de fumée

Objectif

Exécuter des tests unitaires de fumée CPU uniquement pour les composants fluorosim et les parseurs de point d'entrée, sûrs pour CI sans GPU. Exerce les imports, le prétraitement CT->mu, la validité du parser et les vérifications d'import de viewport conditionnel.

Code de base

ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"
if [ ! -d "$ROOT/workflows/catheter_navigation" ]; then
  ROOT="${I4H_WORKFLOWS:-$HOME/i4h-workflows}"
  [ -d "$ROOT/workflows/catheter_navigation" ] || git clone https://github.com/isaac-for-healthcare/i4h-workflows "$ROOT"
fi
export I4H_WORKFLOWS="$ROOT"; cd "$ROOT"

Exécution

Étape 1 - exécuter les tests

REPO_ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"; [ -d "$REPO_ROOT/workflows/catheter_navigation" ] || REPO_ROOT="$HOME/i4h-workflows"
WF_ROOT="${REPO_ROOT}/workflows/catheter_navigation"
RUN_DIR="${WF_ROOT}/runs/smoke_$(date +%Y%m%d_%H%M%S)"
mkdir -p "${RUN_DIR}/logs"
ln -sfn "${RUN_DIR}" "${WF_ROOT}/runs/.latest"

python3 -m unittest workflows/catheter_navigation/tests/test_fluorosim_smoke.py \
  2>&1 | tee "${RUN_DIR}/logs/smoke.log"

Résultat attendu

Ran N tests in ...s
OK

Les lignes d'erreur du parser sur stderr des tests CLI négatifs sont attendues - ce ne sont pas des échecs.

Vérification

grep -E "Ran [0-9]+ tests" "${RUN_DIR}/logs/smoke.log"
grep "OK" "${RUN_DIR}/logs/smoke.log"

Prérequis

  • Python 3 avec les dépendances du workflow installées (par exemple via workflows/catheter_navigation/requirements.txt).
  • Aucun GPU requis.

Limitations

  • N'exerce pas le rendu GPU Slang ni le viewport interactif.
  • Pour la validation GPU, utilisez [[i4h-catheter-navigation-render-drr]].

Dépannage

  • Erreur : échecs d'import - Correction : exécutez [[i4h-catheter-navigation-setup]] et vérifiez que le venv actif a les dépendances du workflow de cathéter installées.
  • Erreur : nombre de tests inattendu - Correction : inspectez le journal ; cela peut changer quand la couverture de fumée est ajoutée/supprimée sur une branche.

Réponse finale

Signalez succès/échec, nombre de tests et chemin du journal. Si réussi, notez que les étapes GPU nécessitent toujours une vérification séparée.

Skills similaires