Skip to Content

Skupna infrastruktura za testiranje

testkit/ je avtoritativni vir skupnih testnih, oblikovalnih, pre-commit, delovnih, podatkovnih in ogrodnih virov za repozitorije dodatkov Odoo. To je infrastruktura za druge repozitorije; lastni testi _pmiconfig ostajajo v ../tests/.

Porabniki pod nadzorom repozitorija uporabljajo /srv/pmiverse/_pmiconfig/testkit/. Ustvarjene ciljne mape .testing/ so izhodi namestitve oziroma ogrodja, ne avtoritativni vir. Prejšnja izvorna mapa namenoma ni ohranjena kot dvojnik, ovoj ali simbolna povezava.

Vsebina

  • pytest/: vtičnik izvajalnika, osnovna konfiguracija, pokritost, pripravljalni podatki in testne predloge dodatkov.
  • formatting/: edina kanonična politika oblikovanja in uvozov Ruff.
  • linting/: konfiguracija pylint-odoo.
  • pre-commit/ in workflows/: skupne predloge avtomatizacije.
  • requirements-dev.txt: odvisnosti razvojnih orodij.
  • changelog/: zgodovinske različice infrastrukture. To so arhivski dokazi, ne trenutna navigacija ali navodila; nekateri načrti, poti politike in instanc ter ukazi so opuščeni. Zgodovinska vsebina se je preselila skupaj z drevesom in je ne smemo prepisovati, kot da je aktualna.

Testi _pmiconfig so v ../tests/. Izvršljivi izvajalniki, sinhronizacija politike ter ustvarjanje ogrodij in objavljanje so v ../scripts/test/; podrobne reference povezuje portal dokumentacije.

Večina datotek so verzionirane predloge ali skupna konfiguracija. Predpomnilniki Pytest in Ruff so prezrto lokalno stanje in se ne potrjujejo v Git. Poročila ter značke se pišejo na poti izvajalnikov, običajno zunaj tega repozitorija.

sync_ruff_policy.py preveri ali uveljavi kanonične tabele Ruff v neposrednih ciljnih repozitorijih Git. Preverjanje brez pisanja primerja pomen politike in poroča o aktivnih konfliktih vgnezdenega Ruff ali samostojnega isort.

ruff_format_repo.py s potjo repozitorija preveri uvoze in oblikovanje; --fix uveljavi spremembe. Popravljanje izpiše urejen seznam absolutnih poti spremenjenih datotek, tudi pri spremembah samo uvozov. Nespremenjene izpusti; spremembe pred napako Ruff vseeno navede. --paths, --exclude in --extend-exclude omejijo izbor.

ruff_format_module.py enako poroča pri --fix za pot modula ali ime z --addons-root. Njegov --exclude omeji izbrane datoteke.

Izvajalniki Odoo lahko ustvarijo, inicializirajo in izbrišejo začasne baze PostgreSQL. Sledite kanonični politiki PMIVerse, izbirajte omejene dodatke in ohranite varnostno mejo imen test_. Predloga delovnega toka ni lokalni izvajalnik.

pytest/README.md opisuje posebnosti pripravljalnih podatkov, podrobne strani izvajalnikov pa preverjene vstopne točke.