Ces 382 tests ne tournaient que lancés à la main, donc jamais. « make test » demande une base de données et plusieurs minutes ; ceux-ci lisent le code et exécutent les fragments de shell générés, sudo, pgrep et pkill bouchonnés, en une dizaine de secondes. Deux cibles : test_unit, et test_unit_file pour la boucle d'écriture. La dépendance à mobile/erplibre_home_mobile est DITE plutôt que supposée : le lanceur l'annonce présente ou absente, et les tests du vrai transfert se déclarent ignorés — avec la commande qui manque — au lieu de passer en silence. Vérifié dans les trois états : dépôt absent, présent non compilé, compilé. Au passage, compile_and_run.sh vérifie le transfert des dépôts, comme l'installation d'une VM et par le même script. --- EN --- These 382 tests only ran when invoked by hand, so never. "make test" wants a database and several minutes; these read the code and run the generated shell fragments with sudo, pgrep and pkill stubbed, in about ten seconds. Two targets: test_unit, and test_unit_file for the writing loop. The dependency on mobile/erplibre_home_mobile is STATED rather than assumed: the runner announces it present or absent, and the real-transfer tests declare themselves skipped — naming the missing command — instead of passing quietly. Checked in all three states: repo absent, present but unbuilt, built. Along the way, compile_and_run.sh verifies the repo transfer, like a VM install and through the same script. Assisted-by: Claude Opus 5
4 KiB
4 KiB
| name | description |
|---|---|
| erplibre-commands | Commandes ERPLibre — changer de version Odoo, lancer/tester une instance, opérations base de données, tester un module précis avec couverture, formatage, Docker, Google Repo, installation. À charger dès qu'une commande make ou un script du dépôt est nécessaire. |
Changement de version Odoo
make switch_odoo_18 # Passer à Odoo 18 (défaut)
make switch_odoo_17 # Passer à Odoo 17
make switch_odoo_16 # Passer à Odoo 16
make switch_odoo_15 # Passer à Odoo 15
make switch_odoo_14 # Passer à Odoo 14
make switch_odoo_13 # Passer à Odoo 13
make switch_odoo_12 # Passer à Odoo 12
make switch_odoo_16_update # Passer + mettre à jour les dépendances
Exécution
make run # Lancer Odoo (port 8069)
make run_test # Lancer avec la DB "test"
./run.sh -d ma_base # Lancer avec une DB spécifique
./odoo_bin.sh [args] # Exécuter odoo-bin directement
Base de données
make db_create_db_test # Créer la DB "test"
make db_clone_test_to_test2 # Cloner test -> test2
./script/database/db_restore.py --database NOM --image IMAGE
./script/addons/install_addons_dev.sh DB module1,module2
./script/addons/update_addons_all.sh DB
Tests
Unitaires python (rapides, sans base de données)
make test_unit # tout ce qui tourne sans DB ni Odoo
make test_unit_file F=test/test_qemu_motd.py # un seul fichier
Ils lisent le code et exécutent les fragments de shell générés par todo.py,
avec sudo, pgrep et pkill bouchonnés — quelques secondes. Le lanceur
annonce sa dépendance à mobile/erplibre_home_mobile : absent, les tests du
transfert mobile se déclarent ignorés au lieu de passer en silence.
Suite complète (base de données requise)
make test # Tests de base + format
make test_full_fast # Tests complets en parallèle
make test_full_fast_coverage # Avec couverture de code
make open_test_coverage # Ouvrir le rapport HTML de couverture
Tester un module spécifique
# 1. Supprimer la DB de test et lancer les tests du module
./odoo_bin.sh db --drop --database test_mon_module
./test.sh -d test_mon_module --db-filter test_mon_module -i mon_module
# 2. Lancer un fichier de test précis
./odoo_bin.sh db --drop --database test_mon_module
./script/addons/install_addons_dev.sh test_mon_module mon_module
./test.sh -d test_mon_module --db-filter test_mon_module -i mon_module \
--test-file=addons/MON_REPO/mon_module/tests/test_mon_fichier.py
# 3. Avec couverture de code
./.venv.erplibre/bin/coverage erase
./odoo_bin.sh db --drop --database test_mon_module
./test.sh -d test_mon_module --db-filter test_mon_module -i mon_module
./.venv.erplibre/bin/coverage combine -a
./.venv.erplibre/bin/coverage report -m
./.venv.erplibre/bin/coverage html
test.shest un alias derun.shavecODOO_MODE_TEST=true --workers 0.
Formatage du code
make format # Fichiers à commiter uniquement
make format_all # Tout formater (parallèle)
Docker
make docker_run_daemon # Lancer en production
make docker_build_odoo_18 # Builder l'image Odoo 18
Google Repo (gestion multi-dépôts)
make repo_show_status # Statut de tous les dépôts addons
make repo_configure_all # Configurer tous les dépôts
make repo_do_stash # Stash tous les dépôts
.venv.erplibre/bin/repo sync # Synchroniser les dépôts
Installation
make install_os # Dépendances système
make install_odoo_18 # Installer Odoo 18 complet
Tester un seul module Odoo
./run.sh -d test --log-level=test --test-enable --stop-after-init -i nom_module
Tester un fichier de test spécifique
./run.sh -d test --log-level=test --test-enable --stop-after-init --test-file chemin/vers/test.py