1. 21 Nov, 2022 3 commits
    • Jérome Perrin's avatar
      stack/erp5: support coverage when running tests · 3d8deba0
      Jérome Perrin authored
      This replaces the broken --coverage argument from runUnitTest, coverage
      needs to be started earlier and also introduces a coverage plugin to
      collect coverage data for code in ZODB; python scripts and components
      are supported.
      
      To use on test nodes, set up a web dav server somewhere, configure the
      instance parameters of the test suite on ERP5 to enable coverage and
      upload individual results to this webdav server and then combine the
      coverage data and produce a report, using the bin/coverage script from
      the software release.
      
      For the steps below, it is necessary to change working directory to the
      root of the software folder.
      
      Step 1: combine the coverage data:
      
          ./bin/coverage combine \
            --keep \
            /path/to/all/coverage/files/*coverage.sqlite3
      
      ( using --keep is optional, but it helps in case of mistakes )
      
      Step 2: build an html report:
      
         ./bin/coverage html \
           --skip-covered \
           --omit parts/erp5/product/ERP5/Document/UnitTest.py \
           --directory /path/for/html/report/
      
      Note that we want to omit UnitTest.py that is created during test
      (see testBusinessTemplate.TestDocumentTemplateItem) and get coverage
      result because it is executed in the test, but it does not exist as a
      source file in the repository, so we skip it.
      
      Of course, to produce a correct html report from a test that have been
      running on test nodes, it's necessary that the software release used to
      produce the html report has exactly the same version ans the one that
      has been running on test nodes.
      
      Another simpler, but slower approach is to run all the tests on the same
      machine, then only running step 2 is necessary.
      3d8deba0
    • Jérome Perrin's avatar
      neoppod-common: version up coverage 5.5 · 3ea53a6c
      Jérome Perrin authored
      3ea53a6c
    • Ivan Tyagov's avatar
  2. 18 Nov, 2022 4 commits
  3. 17 Nov, 2022 13 commits
  4. 16 Nov, 2022 3 commits
  5. 15 Nov, 2022 1 commit
  6. 14 Nov, 2022 4 commits
  7. 11 Nov, 2022 7 commits
    • Jérome Perrin's avatar
    • Jérome Perrin's avatar
      fixup! component/proxysql: add a missing checksum to download patch · d69e8f9a
      Jérome Perrin authored
      Probably I made a mistake when getting adding this md5sum in
      70070a61 . This is not a case where the
      checksum changed, we did not have checksum before anyway
      d69e8f9a
    • Jérome Perrin's avatar
      Theia 1.31.1 · e61a927a
      Jérome Perrin authored
      See merge request !1282
      e61a927a
    • Jérome Perrin's avatar
      2127c79e
    • Jérome Perrin's avatar
      stack/slapos.cfg: version up slapos.recipe.build 0.56 · b529fe91
      Jérome Perrin authored
      to support git 2.38.1
      b529fe91
    • Jérome Perrin's avatar
      software/theia: don't set a python in $PATH · f4c67207
      Jérome Perrin authored
      This is a big changes for users, now typing "python" on the command line
      will use system python if it exists or fail with "command not found".
      
      `python3` is set to the SlapOS python from Theia software release.
      Recommended approach for python users is either to get used to type
      `python3` or to create a virtualenv and use it. With the virtualenv,
      they can also install pylint or other linters, so this might be the
      best thing to do.
      
      This solves two problems:
      
      First problem is that it makes the embedded SlapOS always have a python
      interpreter as `python` in $PATH, which is not always the case in other
      SlapOS usage and can hide problems that would cause a software to build
      successfully in Theia but not in "bare metal" SlapOS.
      
      Second problem problem is that on python was a interpreter from pygolang
      and it is not perfect regarding line edition at least on python 3.8, as
      we can observe in this session:
      
      run python and type "something":
      
      ```
      Python 3.8.13 (default, Sep  6 2022, 10:45:07)
      [GCC 8.5.0] on linux
      Type "help", "copyright", "credits" or "license" for more information.
      (InteractiveConsole)
      >>> something
                   ^ cursor is here, as expected
      ```
      
      type Ctrl+A to go to beginning of line:
      
      ```
      Python 3.8.13 (default, Sep  6 2022, 10:45:07)
      [GCC 8.5.0] on linux
      Type "help", "copyright", "credits" or "license" for more information.
      (InteractiveConsole)
      >>> something
          ^ expected cursor position
      ^ actual cursor position
      ```
      
      likewise, type Ctrl+E to go to end of line:
      
      ```
      Python 3.8.13 (default, Sep  6 2022, 10:45:07)
      [GCC 8.5.0] on linux
      Type "help", "copyright", "credits" or "license" for more information.
      (InteractiveConsole)
      >>> something
                   ^ expected cursor position
               ^ actual cursor position
      ```
      f4c67207
    • Jérome Perrin's avatar
      software/theia: parameter to disable forwarded frontend requests · 2c594b7d
      Jérome Perrin authored
      In some cases, for example when the instance does not have internet
      access, or to speed up slapos node instance, it's better not to have
      frontend requests in the embedded slapos. In this case, the default
      slapos proxy behavior of returning a "fake frontend" [1] will apply
      and promises checking frontend status will pass anyway.
      
      [1]: see slapos.core commit 2a53efca2 (proxy: bypass simple fronten
      requests by returning URL, 2019-03-25)
      2c594b7d
  8. 10 Nov, 2022 5 commits