1. 15 Oct, 2020 13 commits
    • Kirill Smelkov's avatar
      stack/nxdtest · 15bf01ed
      Kirill Smelkov authored
      Currently Nexedi takes mostly a copy-paste approach when it comes to
      organizing bin/runTestSuite and an instance to run this inside testnode:
      
          kirr@deco:~/src/wendelin/slapos/slapos-master$ git ls-files |grep runTestSuite
          software/build-rina/runTestSuite.in
          software/buildout-testing/runTestSuite.in
          software/cython-test/runTestSuite.in
          software/erp5testnode/testsuite/deploy-test/runTestSuite.py
          software/jstestnode/runTestSuite.in
          software/neoppod/runTestSuite.in
          software/neoppod/stress-testing/runTestSuite.in
          software/unstable/pyodide/runTestSuite.in
      
      and adding new tests to be run this way will only increase the entropy.
      
      Let's stop this, at least for new tests, and use a uniform approach without copying:
      
      1) I've created nxdtest tool[1] which allows a project to specify in
         declarative way how to test itself: given such declaration nxdtest
         takes on itself the responsibility to communicate with testnode
         master, to drive test commands spawning etc, and leaves to the
         project only semantic part that is specific to the particular
         project.
      
         Nxdtest is based on my go/neo/t/nxd/runTestSuite[2,3] and on the code
         I've seen elsewhere scattered in other runTestSuite.in files.
      
      2) Let's add stack/nxdtest.cfg to SlapOS that provides easy way for a
         software or component to organize testing of itself.
      
      This patch adds stack/nxdtest and migrates software/neotest to use it
      (because stack/nxdtest is based on it and this way it helps to track the
      changes).
      
      In the following patches we will add testing support for pygolang,
      zodbtools and wendelin.core .
      
      [1] https://lab.nexedi.com/kirr/nxdtest/blob/master/nxdtest
      [2] neo@51b18490
      [3] neo@f67c147d
      15bf01ed
    • Kirill Smelkov's avatar
      golang: Provide ${go:exe} · 134b6eb7
      Kirill Smelkov authored
      ${go:exe} is standalone executable that runs go in activated gowork environment.
      It is handy to use in recipes where one cannot source ${gowork:env} -
      in particular parts with recipe=zc.recipe.egg
      
      Wendelin.core 2 will use `GO=${go:exe}` in its build environment.
      134b6eb7
    • Kirill Smelkov's avatar
      86b1315f
    • Kirill Smelkov's avatar
      wendelin.core: Add pygolang · 03a50093
      Kirill Smelkov authored
      Starting from 0.14 (aka 2) wendelin.core requires pygolang to be present
      both at runtime and at build time.
      03a50093
    • Kirill Smelkov's avatar
      neotest: v↑ everything *.go · 2321b6cd
      Kirill Smelkov authored
      Update lab.nexedi.com/kirr/neo.git and lab.nexedi.com/kirr/go123 to latest.
      Update all other go packages.
      
      The update puls in the following new dependencies:
      
          github.com/shamaton/msgpack
          github.com/tinylib/msgp
            github.com/philhofer/fwd
            github.com/ttacon/chalk
            golang.org/x/mod
            golang.org/x/xerrors
      
          github.com/davecgh/go-spew
          github.com/pmezard/go-difflib
          gopkg.in/yaml.v3
      2321b6cd
    • Kirill Smelkov's avatar
    • Kirill Smelkov's avatar
      zodbtools: v↑ (0.0.0.dev4 -> 0.0.0.dev8) · 13a4a6f3
      Kirill Smelkov authored
      Going from 0.0.0.dev4 to -> 0.0.0.dev8 zodbtools:
      
      - Stabilized `zodb dump` format and layed ground for `zodb restore`;
      - Taught `zodb analyze` to work with any ZODB storage (instead of being
        FileStorage-only tool) and to analyze a particular range of history
        (instead of crunching data for days on a large database);
      - Added `zodb commit` tool that is handy in testing;
      - Added ability to specify tid ranges in human-readable format, as in
        e.g. `zodb analyze data.fs 2018-01-01T10:30:00Z..yesterday`.
      - Progressed on Python3 support.
      
      See https://pypi.org/project/zodbtools/#zodbtools-change-history
      for details.
      13a4a6f3
    • Kirill Smelkov's avatar
      zodbtools: v↑ zodburi (2.3.0 -> 2.4.0) · 5004acb1
      Kirill Smelkov authored
      Close to non-functional change, but removes PendingDeprecationWarning
      about cgi.parse_qsl
      5004acb1
    • Kirill Smelkov's avatar
      pygolang: v↑ (0.0.0.dev4 -> 0.0.7.post1) · 18a10039
      Kirill Smelkov authored
      0.0.0.dev4 to 0.0.7.post1 goes a long way. See
      https://pypi.org/project/pygolang/#pygolang-change-history for details.
      
      Recent pygolang is needed for wendelin.core 2.
      Zodbtools also uses it starting from v0.0.0.dev5.
      18a10039
    • Kirill Smelkov's avatar
      f5aecdb1
    • Kirill Smelkov's avatar
      b0af3889
    • Kirill Smelkov's avatar
      ZEO: Factor it to separate component · c1ad7805
      Kirill Smelkov authored
      We already patch ZEO4 with TCP_NODELAY patch (see 5cf4cf1f "ERP5:
      enable TCP_NODELAY for ZEO") and we will need to backport more patches
      to ZEO4 branch for wendelin.core 2 to work correctly.
      
      It's not only software/neoppod which uses ZEO, and it is not convenient for
      all other software-releases to inherit from neoppod to use correct
      version and build of ZEO egg. For this reason factor out details of ZEO
      egg building into component/ZEO and let users use ${ZEO:egg} where ZEO
      is needed. This way ZEO will be correctly installed for all users.
      
      This patch should be a non-functional change. We switch to
      nexedi/ZEO@5114f909 revision which corresponds to ZEO 4.3.1 +
      TCP_NODELAY.patch
      
      Adding other patches to ZEO4 needed by wendelin.core 2 will be done as a
      separate step.
      c1ad7805
    • Julien Muchembled's avatar
      Revert "zodbpickle: v↑ (1.0.4 -> 2.0.0)" · 27f574bc
      Julien Muchembled authored
      This reverts commit 1c2d1c0a.
      because NEO is not ready for such change.
      27f574bc
  2. 14 Oct, 2020 5 commits
  3. 13 Oct, 2020 3 commits
  4. 12 Oct, 2020 4 commits
    • Thomas Gambier's avatar
      d80168bf
    • Thomas Gambier's avatar
      More slaprunner promises · 5486ae80
      Thomas Gambier authored
      See merge request nexedi/slapos!833
      5486ae80
    • Julien Muchembled's avatar
    • Thomas Gambier's avatar
      Revert "gcc: make the ld wrapper add paths via -rpath if there's already an -rpath arg" · 9a7c08e0
      Thomas Gambier authored
      This reverts commit 3d12ddae.
      
      The commit was instroducing errors in compilation or at runtime.
      
      Compilation error were like (for cmake in Debian 8 machine):
      [ 99%] Built target CTestLib
      [100%] Built target ctest
      Install the project...
      bin/cmake: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by bin/cmake)
      bin/cmake: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by bin/cmake)
      Makefile:72: recipe for target 'install' failed
      make: *** [install] Error 1
      cmake: Command 'set -e;make  install' returned non-zero exit status 2
      cmake: Compilation error. The package is left as is at /srv/slapgrid/slappart61/srv/runner/shared/cmake/9fc4b0e8f4f03ce17eb7ef43525d2238__compile__/cmake-3.7.2 where you can inspect what went wrong.
      
      Runtime errors were like (for mariadb in Debian 9):
      Traceback (most recent call last):
        File "/srv/slapgrid/slappart13/srv/testnode/dfg/soft/e2d325c0fcfb592bc760fe363ac5b17a/parts/slapos.core-repository/slapos/testing/testcase.py", line 168, in setUpModule
          installSoftwareUrlList(cls, [software_url], debug=debug)
        File "/srv/slapgrid/slappart13/srv/testnode/dfg/soft/e2d325c0fcfb592bc760fe363ac5b17a/parts/slapos.core-repository/slapos/testing/testcase.py", line 378, in installSoftwareUrlList
          checkSoftware(cls.slap, software_url)
        File "/srv/slapgrid/slappart13/srv/testnode/dfg/soft/e2d325c0fcfb592bc760fe363ac5b17a/parts/slapos.core-repository/slapos/testing/testcase.py", line 336, in checkSoftware
          raise RuntimeError('\n'.join(error_list))
      RuntimeError: /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/mysql_ldb has some not found libraries:
      /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/mysql_ldb: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/mysql_ldb)
      /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/sst_dump has some not found libraries:
      /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/sst_dump: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /srv/slapgrid/slappart13/srv/testnode/dfg/inst/test0-0/tmp/shared/mariadb/46cf3950f79675ddccafc1c99a13e734/bin/sst_dump)
      9a7c08e0
  5. 09 Oct, 2020 5 commits
  6. 08 Oct, 2020 8 commits
  7. 06 Oct, 2020 2 commits