Docker


A tesztfuttatóink Docker-image-ként vannak élesítve.

Olvasd el az általános tooling Docker-információkat, hogy megismerkedj a működésükkel.

Integráció

Amikor tesztfuttatót futtatunk egy megoldás teszteléséhez, egy olyan Docker-parancsot futtatunk, amely így néz ki:

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"

Láthatod, hogy három argumentumot adunk át a Docker-image-nek:

  1. A feladat slugja
  2. A megoldás könyvtárának elérési útja
  3. A kimeneti könyvtár elérési útja

Konvenciók

A tesztfuttatóink mindegyike a következő konvenciókat használja a megvalósításában:

  • A Dockerfile a repó gyökérkönyvtárában van.
  • A munkakönyvtár a /opt/test-runner legyen.
  • A belépési pont a /opt/test-runner/bin/run.sh
  • A /opt/test-runner/bin/run.sh szkript 3 argumentumot fogad:
    1. A feladat slugja
    2. A megoldás könyvtárának elérési útja
    3. A kimeneti könyvtár elérési útja

További információért lásd: A felület.

Note

Az új tesztfuttató-repók alapértelmezés szerint ezeket a konvenciókat fogják használni.