Docker


I nostri Test Runner vengono distribuiti come immagini Docker.

Leggi le informazioni generali su Docker nel Tooling per familiarizzare con il loro funzionamento.

Integrazione

Quando eseguiamo un Test Runner per testare una soluzione, eseguiamo un comando Docker simile a questo:

docker run \
        --rm \
        --network none \
        --mount type=bind,src="${solution_dir}",dst=/solution \
        --mount type=bind,src="${output_dir}",dst=/output \
        --tmpfs /tmp:rw \
        "exercism/${track_slug}-test-runner" \
        "${exercise_slug}" "/solution" "/output"

Come puoi vedere, passiamo tre argomenti all'immagine Docker:

  1. Lo slug dell'esercizio
  2. Il percorso della directory della soluzione
  3. Il percorso della directory di output

Convenzioni

Tutti i nostri test runner usano le seguenti convenzioni nella loro implementazione:

  • Il Dockerfile si trova nella directory principale del repo.
  • La directory di lavoro deve essere /opt/test-runner.
  • L'entrypoint è /opt/test-runner/bin/run.sh
  • Lo script /opt/test-runner/bin/run.sh accetta 3 argomenti:
    1. Lo slug dell'esercizio
    2. Il percorso della directory della soluzione
    3. Il percorso della directory di output

Per maggiori informazioni, vedi L'interfaccia.

Note

I nuovi repo dei test runner useranno queste convenzioni per impostazione predefinita.