Skip to content
Snippets Groups Projects
  1. Jul 03, 2023
  2. Feb 28, 2023
    • Xavier-Do's avatar
      [IMP] tests: refactor unittest classes · 9a5d1ea5
      Xavier-Do authored
      Odoo Test environments requires to modify many parts of the unittest
      TestCase, Suite and Result.
      
      The main initial reason is to **avoid to postpone result at the end of
      the test suite**, because even if it is convenient to have all errors
      visible after the tests in some case, odoo logs adds information during
      the execution that can be useful to debug when a test fail, to have
      context for an error. (see **OdooTestResult**)
      
      We are also fixing the stack trace comming from a unittest and since
      there is no proper way to hook inside the TestPartExecutor, a dirty hack
      injects anoter result on the outcome to manage the error and complete
      the stack trace. This was also a way to avoid to postpone subtest logs
      at the end of the test case (see _ErrorCatcher)
      
      `_feedErrorsToResult` was used to test the test suite behavior since
      there are many customization and this is quite fragile, especially if
      unittest changes behavior in other python version.
      
      **Python 3.11** introduced python/cpython#664448d8 That, in a way, goes
      in the same direction of the changed introduced with _ErrorCatcher:
      immediately feed errors to resut instead of postponing it. But this also
      removes `_feedErrorsToResult` that was used to test this behaviors, as
      well as other ones.
      
      Since odoo should remain multi-version, this amount of changes on the
      initial behavior become to complicate to keep cross-version and the
      (already in our mind for a while) solution to **vendor unittest** will
      help to simplify most of our test code base.
      
      This commit modified the vendored unittest files to simplify them as
      much as possible to suite our needs.
      
      Since the runner is still the unittest one, we need to inherit from
      unittest.Testcase in order to have the right type.
      
      This also means that we still have access to all TestCase methods
      without overriding them all. This is convenient for assertion methods as
      an example but the initial idea is to vendor our own version of TestCase
      to avoid having trouble to adapte our miscommunications to future python
      versions. A trade-off must be done to chose what should remain in our
      code base. The idea is to keep logic closely linked to our changes in
      our code base, mainly around the run method, but also addClassCleanup
      wich need to be vendored for python 3.7, but assertions methods are
      independent. Any logic can be moved fom unittest to our
      vendored version in the future if needed.
      
      Part-of: odoo/odoo#112294
      9a5d1ea5
  3. Feb 03, 2023
  4. Jan 24, 2023
  5. Sep 23, 2022
  6. Jul 27, 2022
  7. May 24, 2022
  8. Jan 12, 2022
    • Thibault Delavallée's avatar
      [REF] various: remove usage and dependency on html2text library · 37db926f
      Thibault Delavallée authored
      
      We have our own html2plaintext, already used in lot of use cases instead of
      just a few for the html2txt library.
      
      Notably for emails: most emails going through Odoo stack use our simple
      html2plaintext to format the body alternative. When no body alternative
      is given to ``build_email`` an alternative is built using the library to
      remove. Using our own parser allows to have the same results compared to
      using ``MailMail.send()``. Difference lies in spaces and new lines as well
      as markdown. Our html2plaintext is a bit simple and does not try to generate
      Markdown but generates a simple plaintext version.
      
      This also helps solving some issues with depending on that library.
      
      Task-2702034
      
      closes odoo/odoo#82486
      
      X-original-commit: b3b9627b
      Related: odoo/enterprise#23364
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      37db926f
  9. Dec 22, 2021
  10. Oct 21, 2021
  11. Oct 09, 2021
    • Christophe Monniez's avatar
      [FIX] packaging: add missing dependencies · f78b6d00
      Christophe Monniez authored
      A dependency on python pyopenssl package was added in #61853 and flew
      under the radar. As this package is pure python, it should not cause any
      arm.
      
      Also, it seems that the gsfonts package is needed on Debian to print
      things like barcode badges. Previously, the gsfonts package was a
      dependency of python3-renderm package which is itself a dependency of
      odoo. The gsfonts dependency was removed in the python3-renderpm Bullseye package.
      
      With this commit the gsfonts dependency is set on the odoo Debian
      package directly.
      
      X-original-commit: 248762c8
      Part-of: odoo/odoo#78097
      f78b6d00
  12. Sep 15, 2021
  13. May 11, 2021
  14. Apr 29, 2021
  15. Apr 01, 2021
  16. Mar 06, 2021
  17. Feb 26, 2021
  18. Feb 25, 2021
  19. Jan 29, 2021
    • Christophe Monniez's avatar
      [FIX] packaging: update rpm packaging for fedora 32 · 2d4c3834
      Christophe Monniez authored
      
      As Fedora 32 was the current release when Odoo 14.0 was released, this
      should be the supported version.
      
      Also, a few  old libs were still in mentioned in the packaging files.
      They flew under the radar because they never broke the packaging.
      This is not the case anymore, those libs disappeared from the Fedora
      repos.
      
      It seems that pyparsing is not used anymore since 5a1c06a1 and thus can
      be safely removed from `requirements.txt` too.
      
      pychart is not used anymore since 3425752e.
      
      While at it, remove mix of tabs and spaces in package.dffedora, also add
      missing packages to avoid installation at test time.
      
      Now that I started down the slippery slope, also removed some `-dev`
      packages in package.dfsrc as wheel's are available.
      
      Finally, the rpm install script now detects the python ABI version in
      order to avoid update this file at each ABI change in Fedora.
      
      Fixes #63719
      
      closes odoo/odoo#65288
      
      X-original-commit: a8deb1dd
      Signed-off-by: default avatarChristophe Monniez (moc) <moc@odoo.com>
      2d4c3834
  20. Jan 04, 2021
  21. Oct 23, 2020
  22. Oct 14, 2020
  23. Jul 10, 2020
  24. Apr 01, 2020
    • Adrian Torres's avatar
      [REM] *: remove various unused import shims · 5952928b
      Adrian Torres authored
      
      Before this commit, a lot of leftover import shims existed in the
      codebase for py2-py3 compatibility, these are no longer needed since
      Odoo 13.0+ doesn't support Python 2 anymore and is (finally) in EOL.
      
      With this commit, these shims are dropped, making the code cleaner,
      easier to read and with one less dependency.
      
      Queue -> queue -> py2-py3 compatibility
      xmlrpclib -> xmlrpc.client -> py2-py3 compatibility
      ConfigParser -> configparser -> py2-py3 compatibility
      itertools.izip_longest -> itertools.zip_longest -> py2-py3 compatibility
      urllib -> urllib.request -> py2-py3 compatibility
      __builtins__ -> builtins -> py2-py3 compatibility
      _winreg -> winreg -> py2-py3 compatibility
      
      mock -> unittest.mock -> merged into CPython
      
      The debian/fedora packages and requirements.txt have been updated accordingly
      
      closes odoo/odoo#44601
      
      Related: odoo/enterprise#8141
      Signed-off-by: default avatarXavier Morel (xmo) <xmo@odoo.com>
      5952928b
  25. Feb 05, 2020
  26. Jan 22, 2020
    • Martin Trigaux's avatar
      [FIX] auth_ldap: replace the deprecated library by one up to date · 9aef423d
      Martin Trigaux authored
      At 795c7b0a the external dependencies was changed from trying
      to import 'ldap' to checking than 'pyldap' package was installed.
      The problem is that pyldap is a unmaintained library that should no
      longer be used, as explained on the package page:
      https://pypi.org/project/pyldap/
      
      
      "The pyldap fork was merged back into python-ldap, and released as
       python-ldap 3.0.0."
      
      Having pyldap version >= 3.0 installs python-ldap automatically and
      will not cause any issue.
      
      The Debian control file package name is adapted to use the latest.
      
      The "ldap" externalm dependency defined in __manifest__.py will cause
      pkg_resources.get_distribution() to fail in both case ("python-lap" or
      "pyldap"), but the "import" fallback will succeed. For that reason, the
      log warning is turned into a log info.
      
      closes odoo/odoo#43769
      
      Note: This library should be replaced by the pure python "ldap3" library.
      X-original-commit: 1afd0ccf
      Signed-off-by: default avatarChristophe Monniez (moc) <moc@odoo.com>
      9aef423d
  27. Oct 14, 2019
  28. Sep 10, 2019
  29. Jun 05, 2019
  30. Nov 19, 2018
    • Christophe Monniez's avatar
      [FIX] packaging: add qrcode package to docker file · 51ee0c3c
      Christophe Monniez authored
      After the Odoo package is built, the package.py script uses a Docker
      image to test the package. After that python3-qrcode was added as a
      dependency for the package in 2ff49c5f , it revealed some issues.
      
      A missing cli parameter and a forgotten '&&' in the Dockerfile prevented
      the installation of the depending packages.
      
      Also, the script shebang was wrong by launching python2.
      
      Finally, the fact that python3-xlwt is missing in Debian stretch was
      highlighted. With this commit, the python3-xlwt is explicitly removed
      from the dependencies and the documentation is updated accordingly.
      
      closes odoo/odoo#28807
      51ee0c3c
  31. Nov 13, 2018
    • Christophe Monniez's avatar
      [FIX] packaging: make Debian package depends on qrcode and vobject · 2ff49c5f
      Christophe Monniez authored
      As stated in issue #27752, some Debian packages are only recommended.
      As a consequence, these packages are not installed on the Official
      Docker image. In that case, if the user wants to install an Odoo module
      that needs one of these package, the Docker container has to be
      modified.
      
      python3-qrcode and python3-vobject are now part of the latest Debian
      stable (stretch) and the latest Ubuntu LTS (Bionic Beaver).
      Also, they are pure python, and very small.
      
      Thus, the Debian package can depends on them.
      
      co-author: @sbidoul
      Fixes #27752
      Closes #28588
      Closes #28371
      Closes #28372
      2ff49c5f
  32. Oct 09, 2018
    • Adrian Torres's avatar
      [REM] packaging: drop PyYAML dependency · a277bfb4
      Adrian Torres authored
      Commit cf853a78 removed all yml tests
      and the yml import engine from Odoo forever, however PyYAML remains a
      dependency even though it's not used anymore.
      
      This commit removes any reference to this lib that could be found.
      
      closes odoo/odoo#27563
      a277bfb4
  33. Jul 27, 2018
    • qsm-odoo's avatar
      [REF] web, *: update bootstrap-datetimepicker to tempusdominus · 6692919d
      qsm-odoo authored
      * website_form, debian
      
      Our old library for datetimepicker for bootstrap 3 is deprecated and
      an updated version is developed by the same team under the new name
      "tempusdominus", for bootstrap 4.
      
      The lib is imported by taking the *unminified build* JS and the *src*
      scss. Odoo is also bundling the lib better by putting the scss file
      in both backend and frontend assets instead of only in common (so that
      the scss is compiled differently for the frontend and the backend).
      
      Note: the lib also needed to be patched inline to solve a bug at one
      line.
      6692919d
  34. Jul 18, 2018
  35. Jun 15, 2018
    • Christophe Monniez's avatar
      [FIX] packaging: stop removing Odoo lib dir · 27e7d242
      Christophe Monniez authored
      When removing Odoo Debian package, the directory /var/lib/odoo is also
      removed. This directory could contain important data like filestore or
      custom modules.
      
      With this commit, this directory is preserved on removal and deleted
      when the purge command is issued with a Debian package manager.
      
      Fixes #22138
      27e7d242
  36. Apr 24, 2018
  37. Apr 18, 2018
  38. Jan 16, 2018
  39. Oct 12, 2017
    • Christophe Monniez's avatar
      [IMP] packaging: remove some packages dependencies · 347acbb4
      Christophe Monniez authored
      On Ubuntu Xenian, the Odoo package was difficult to install because
      three Debian packages were required but could not be found in Ubuntu
      repositories. As those packages are not really crucial, they are
      now only suggegsted by the Debian package which is therefore
      installable on Ubuntu Xenial. One can manually install them as
      explained in the documentation.
      
      Closes #20000
      347acbb4
    • Christophe Monniez's avatar
      [REM] remove any openid reference · fc76b1d5
      Christophe Monniez authored
      Purpose: openid is not used anymore in Odoo, therefore it can be
      safely removed.
      fc76b1d5
Loading