1. 14 Apr, 2020 4 commits
    • Jérome Perrin's avatar
      testing/testcase: use realpath to compare paths · 92452d1d
      Jérome Perrin authored
      This supports the case where some paths used for shared parts are
      symlinks
      92452d1d
    • Jérome Perrin's avatar
      testing/testcase: ignore empty paths from $SLAPOS_TEST_SHARED_PART_LIST · 514ae032
      Jérome Perrin authored
      Empty paths confuse the ldd check, because empty prefix always look
      valid, so executables using system libraries will be considered as
      valid.
      514ae032
    • Jérome Perrin's avatar
      testing/testcase: don't destroy instance if it was not requested · abce5180
      Jérome Perrin authored
      This should prevent such confusing tracebacks when building software fail:
      
          INFO Finished software releases.
          ERROR:slapos.testing.testcase:Error during request destruction
          Traceback (most recent call last):
            File "parts/slapos.core-repository/slapos/testing/testcase.py", line 615, in _cleanup
      	cls.requestDefaultInstance(state='destroyed')
            File "parts/slapos.core-repository/slapos/testing/testcase.py", line 680, in requestDefaultInstance
      	cls._instance_parameter_dict)
          AttributeError: type object 'SlapOSInstanceTestCase for ...' has no attribute '_instance_parameter_dict'
      abce5180
    • Jérome Perrin's avatar
      Revert "testing/testcase: use realpath to compare paths" · fa0ebacf
      Jérome Perrin authored
      This reverts commit 49ec3ece.
      
      That commit revealed that all the rpath check was not effective and that
      we have in fact lots of components which use system libraries.
      
      We'll fix rpath on slapos profiles and only then we'll fix this check,
      to prevent test failures (even if the test failures show a real problem)
      fa0ebacf
  2. 13 Apr, 2020 3 commits
    • Rafael Monnerat's avatar
      collect: small optimization on garbage collect · 86b03edf
      Rafael Monnerat authored
      This changes a query like:
      
          SELECT date FROM user WHERE reported = 1 AND date != '2020-04-13' AND date != '2020-04-12'  AND date != '2020-04-11'  AND date != '2020-04-10'  AND date != '2020-04-09'  AND date != '2020-04-08'  AND date != '2020-04-07'  AND date != '2020-04-06'  AND date != '2020-04-05' AND date != '2020-04-04'  AND date != '2020-04-03'  AND date != '2020-04-02'  AND date != '2020-04-01'  AND date != '2020-03-31'  AND date != '2020-03-30'  LIMIT 1
      
          EXPLAIN QUERY PLAN ...
          0|0|0|SCAN TABLE user USING COVERING INDEX user_date_reported_index
      
      which took ~3 seconds on a 1.5Go collector.db into:
      
          SELECT date FROM user WHERE reported = 1 AND (date < '2020-03-30'  OR  date > '2020-04-13')  LIMIT 1
      
          EXPLAIN QUERY PLAN ...
          0|0|0|SEARCH TABLE user USING COVERING INDEX user_date_reported_index (date<?)
          0|0|0|SEARCH TABLE user USING COVERING INDEX user_date_reported_index (date>?)
      
      which is instant.
      
      See merge request !201
      86b03edf
    • Jérome Perrin's avatar
      collect: small optimization on garbage collect · 686289b8
      Jérome Perrin authored
      This changes a query like:
      
          SELECT date FROM user WHERE reported = 1 AND date != '2020-04-13' AND date != '2020-04-12'  AND date != '2020-04-11'  AND date != '2020-04-10'  AND date != '2020-04-09'  AND date != '2020-04-08'  AND date != '2020-04-07'  AND date != '2020-04-06'  AND date != '2020-04-05' AND date != '2020-04-04'  AND date != '2020-04-03'  AND date != '2020-04-02'  AND date != '2020-04-01'  AND date != '2020-03-31'  AND date != '2020-03-30'  LIMIT 1
      
          EXPLAIN QUERY PLAN ...
          0|0|0|SCAN TABLE user USING COVERING INDEX user_date_reported_index
      
      which took ~3 seconds on a 1.5Go collector.db into:
      
          SELECT date FROM user WHERE reported = 1 AND (date < '2020-03-30'  OR  date > '2020-04-13')  LIMIT 1
      
          EXPLAIN QUERY PLAN ...
          0|0|0|SEARCH TABLE user USING COVERING INDEX user_date_reported_index (date<?)
          0|0|0|SEARCH TABLE user USING COVERING INDEX user_date_reported_index (date>?)
      
      which is instant.
      686289b8
    • Jérome Perrin's avatar
      testing/testcase: use realpath to compare paths · 49ec3ece
      Jérome Perrin authored
      This supports the case where some paths used for shared parts are
      symlinks
      49ec3ece
  3. 10 Apr, 2020 1 commit
  4. 09 Apr, 2020 1 commit
    • Jérome Perrin's avatar
      testing/testcase: ignore puppeteer in ldd check · a92b5dc5
      Jérome Perrin authored
      
      for nexedi/slapos!725
      
      ```
      RuntimeError: /srv/slapgrid/slappart9/srv/testnode/cxm/inst/test0-0/tmp/soft/503f3967022ee2febfbb1f4cb30c3a0f/parts/theia/node_modules/puppeteer/.local-chromium/linux-722234/chrome-linux/chrome has some not found libraries:
      	libX11-xcb.so.1 => not found
      	libXcomposite.so.1 => not found
      	libXcursor.so.1 => not found
      	libXdamage.so.1 => not found
      	libXfixes.so.3 => not found
      	libXi.so.6 => not found
      	libXrender.so.1 => not found
      	libXtst.so.6 => not found
      	libnss3.so => not found
      	libnssutil3.so => not found
      	libsmime3.so => not found
      	libnspr4.so => not found
      	libcups.so.2 => not found
      	libXss.so.1 => not found
      	libXrandr.so.2 => not found
      	libasound.so.2 => not found
      	libatk-1.0.so.0 => not found
      	libatk-bridge-2.0.so.0 => not found
      	libpangocairo-1.0.so.0 => not found
      	libpango-1.0.so.0 => not found
      	libcairo.so.2 => not found
      	libatspi.so.0 => not found
      	libgtk-3.so.0 => not found
      	libgdk-3.so.0 => not found
      	libgdk_pixbuf-2.0.so.0 => not found
      ```
      
      
      See merge request !200
      a92b5dc5
  5. 08 Apr, 2020 1 commit
  6. 07 Apr, 2020 5 commits
  7. 06 Apr, 2020 2 commits
  8. 03 Apr, 2020 3 commits
  9. 02 Apr, 2020 7 commits
  10. 30 Mar, 2020 2 commits
  11. 26 Mar, 2020 2 commits
    • Jérome Perrin's avatar
      testcase/checkExecutableLink: tolerate binary components used in cloudooo · 13eaacb5
      Jérome Perrin authored
      In cloudooo software release we are installing libreoffice and wkhtmltopdf as binary.
      These parts contain executables that seem to have missing dependencies, but there are wrapper setting library path, so they can be ignored.
      
      See merge request !195
      13eaacb5
    • Jérome Perrin's avatar
      prune: fix detection of parts used in scripts · af87827a
      Jérome Perrin authored
      python interpreter is sometimes referenced only in bin/buildout's
      shebang, even if not used anymore in any software, if it was used to
      initially created the buildout. In that case, the part should still be
      considered as used and not pruned.
      
      See merge request !194
      af87827a
  12. 23 Mar, 2020 2 commits
  13. 18 Mar, 2020 2 commits
  14. 11 Mar, 2020 1 commit
  15. 10 Mar, 2020 1 commit
    • Jérome Perrin's avatar
      testcase/checkExecutableLink: tolerate rpath with double slashes · 49db2b63
      Jérome Perrin authored
      When running with shared parts from slaprunner, we'll have path with
      double slashes like:
      
          /srv/slapgrid/slappart3/srv//runner//shared/libexpat/468993ea3777c1a342102bc1c4b43425/lib/libexpat.so.1
      
      because slaprunner has some paths with double slash.
      
      See merge request !191
      49db2b63
  16. 05 Mar, 2020 3 commits