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/inworkflows/: 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.