OCA / l10n-italy

Odoo Italian localization
https://www.odoo-italia.org
GNU Affero General Public License v3.0
142 stars 297 forks source link

Velocizzare i test automatici di currency_rate_update_boi #4195

Open SirAionTech opened 3 weeks ago

SirAionTech commented 3 weeks ago

Is your feature request related to a problem? No.

Describe the solution you'd like Poter eseguirei test del modulo in oggetto in un tempo ragionevole, massimo un minuto.

Describe alternatives you've considered Non so come mai ci mettano così tanto, forse scaricano qualcosa più volte? In questo caso si potrebbe scaricare tutti i dati necessari una sola volta e riutilizzarli.

Additional context Attualmente i test del modulo in oggetto prendono quasi la metà del tempo dei test di tutto il repository:

2024-06-05 12:56:10,890 504 INFO odoo odoo.tests.stats: account: 19 tests 8.80s 9615 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: account_vat_period_end_statement: 4 tests 6.52s 5494 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: currency_rate_update_boi: 11 tests 665.18s 10339 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: l10n_it_abicab: 3 tests 0.24s 63 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: l10n_it_account: 8 tests 7.72s 5649 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: l10n_it_account_stamp: 6 tests 6.67s 5384 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: l10n_it_account_tax_kind: 5 tests 0.20s 20 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: l10n_it_asset_management: 8 tests 3.00s 2228 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: l10n_it_bill_of_entry: 5 tests 23.68s 11925 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: l10n_it_central_journal_reportlab: 3 tests 0.38s 120 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: l10n_it_declaration_of_intent: 23 tests 26.46s 14775 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: l10n_it_delivery_note: 22 tests 23.82s 12606 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: l10n_it_fatturapa_import_zip: 3 tests 30.23s 9809 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: l10n_it_fatturapa_in: 71 tests 56.65s 23493 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: l10n_it_fatturapa_in_purchase: 3 tests 2.74s 2548 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: l10n_it_fatturapa_in_rc: 3 tests 3.55s 2934 queries 2024-06-05 12:56:10,891 504 INFO odoo odoo.tests.stats: l10n_it_fatturapa_out: 34 tests 59.94s 41642 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_fatturapa_out_di: 5 tests 10.30s 7713 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_fatturapa_out_oss: 4 tests 8.18s 6415 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_fatturapa_out_rc: 7 tests 16.98s 11551 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_fatturapa_out_sp: 3 tests 3.92s 4296 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_fatturapa_out_wt: 9 tests 12.09s 10600 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_fatturapa_pec: 17 tests 21.74s 19058 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_fatturapa_sale: 5 tests 1.60s 1285 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_financial_statements_report: 8 tests 7.48s 4374 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_fiscal_document_type: 6 tests 5.54s 4769 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_fiscal_payment_term: 4 tests 0.19s 10 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_fiscalcode: 6 tests 0.34s 251 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_intrastat: 4 tests 5.45s 4854 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_intrastat_statement: 17 tests 19.70s 16961 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_payment_reason: 4 tests 0.20s 26 queries 2024-06-05 12:56:10,892 504 INFO odoo odoo.tests.stats: l10n_it_rea: 5 tests 0.35s 286 queries 2024-06-05 12:56:10,893 504 INFO odoo odoo.tests.stats: l10n_it_reverse_charge: 19 tests 31.25s 20151 queries 2024-06-05 12:56:10,893 504 INFO odoo odoo.tests.stats: l10n_it_riba: 14 tests 9.85s 8200 queries 2024-06-05 12:56:10,893 504 INFO odoo odoo.tests.stats: l10n_it_split_payment: 18 tests 9.55s 10084 queries 2024-06-05 12:56:10,893 504 INFO odoo odoo.tests.stats: l10n_it_vat_registries: 4 tests 2.27s 311 queries 2024-06-05 12:56:10,893 504 INFO odoo odoo.tests.stats: l10n_it_vat_registries_split_payment: 3 tests 6.12s 4736 queries 2024-06-05 12:56:10,893 504 INFO odoo odoo.tests.stats: l10n_it_vat_settlement_date: 7 tests 13.13s 9241 queries 2024-06-05 12:56:10,893 504 INFO odoo odoo.tests.stats: l10n_it_vat_settlement_date_rc: 3 tests 4.87s 4670 queries 2024-06-05 12:56:10,893 504 INFO odoo odoo.tests.stats: l10n_it_vat_statement_communication: 7 tests 21.29s 12153 queries 2024-06-05 12:56:10,893 504 INFO odoo odoo.tests.stats: l10n_it_vat_statement_split_payment: 4 tests 3.70s 4294 queries 2024-06-05 12:56:10,893 504 INFO odoo odoo.tests.stats: l10n_it_withholding_tax: 9 tests 3.44s 2732 queries 2024-06-05 12:56:10,893 504 INFO odoo odoo.tests.stats: l10n_it_withholding_tax_payment: 3 tests 6.87s 5249 queries

(da https://github.com/OCA/l10n-italy/actions/runs/9384156777/job/25839350737#step:8:1407)

francesco-ooops commented 3 weeks ago

@eLBati che dici?

eLBati commented 3 weeks ago

@eLBati che dici?

:shrug:

sergiocorato commented 3 weeks ago

Vedo che https://github.com/OCA/l10n-italy/blob/8b1caa3e0fa02e2208e0131e3b7f268caeb56599/currency_rate_update_boi/tests/test_currency_rate_update_boi.py#L154 chiama diversi test che poi vengono eseguiti comunque di nuovo, è voluto?

sergiocorato commented 4 days ago

Riporto gli appunti usciti in chiamata:

  1. ci sono test eseguiti più volte senza apparente motivo, se si vogliono chiamare in una determinata sequenza rinominare i test chiamati da altro test con un nome che non inizi con test_ (magari _test_)
  2. ci sono test con codice duplicato, da riunire in un unico test aggiungendo un parametro alla chiamata della funzione (mese o anno o altro)
  3. i tassi di cambi vengono ri-scaricati più volte (forse 10?) di cui non si capisce la ragione, sarebbero quindi da scaricare nel setup e da riutilizzare (non è chiaro quale sia l'utilizzo inoltre, sembrano utilizzati solo i tassi di cambio in USD per verificare che siano stati scaricati, i tassi della GBP servono a qualcosa?)