- 05 Nov, 2020 15 commits
-
-
Kirill Smelkov authored
Following approach used for pygolang in the previous patch lets add testing support for zodbtools: - Add zodbtools/buildout-dev.cfg that overrides [zodbtools] to use the software from git checkout. - Add zodbtools/test<X>.cfg that is software-release to create a test instance to be run under testnode. To help itself on this task this software release uses just-added stack/nxdtest.cfg and [python-interpreter] from pygolang, so the code in zodbtools is minimal. Zodbtools can be tested against both ZODB4 and ZODB5 because we still use ZODB4 as our primary ZODB version, but it is no longer supported by upstream which considers only ZODB5 as current.
-
Kirill Smelkov authored
- Add pygolang/buildout-dev.cfg that overrides [pygolang] to use the software from git checkout. - Add pygolang/test.cfg that is software-release to create a test instance to be run under testnode. This software release uses just-added stack/nxdtest.cfg to help itself on this task, so the code in pygolang is minimal. A new section [python-interpreter] is added, because python interpreters that zc.recipe.egg generates don't process `-m args` correctly and handle subprocess well. I had to workaround that with code from gpython.pymain to be able to run `python -m pytest --<pytestarg>` and to spawn children processes with preserving sys.path. Comments around and inside [python-interpreter] has more details on this topic.
-
Kirill Smelkov authored
Pytest is used to test wendelin.core, zodbtools and pygolang It is also used in component/unstable/pyodide, but currently via pip.
-
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] kirr/neo@51b18490 [3] kirr/neo@f67c147d
-
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.
-
Kirill Smelkov authored
GDB is used in wendelin.core tests: https://lab.nexedi.com/nexedi/wendelin.core/blob/v0.13-49-g35cb144/t/tfault-run#L28
-
Kirill Smelkov authored
Starting from 0.14 (aka 2) wendelin.core requires pygolang to be present both at runtime and at build time.
-
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
-
Kirill Smelkov authored
-
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.
-
Kirill Smelkov authored
Close to non-functional change, but removes PendingDeprecationWarning about cgi.parse_qsl
-
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.
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
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.
-
- 02 Nov, 2020 1 commit
-
- 30 Oct, 2020 1 commit
-
-
Łukasz Nowak authored
-
- 29 Oct, 2020 5 commits
-
-
Xavier Thompson authored
Future Cython+ work will use it.
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
Fix for #20200514-218C705 - \[testnode\] frontend for log access Depends on nexedi/erp5!1304 See merge request nexedi/slapos!848
-
- 28 Oct, 2020 3 commits
-
-
Julien Muchembled authored
This fixes the nextcloud SR, which was broken by commit 92779bf4 (mariadb is not a part anymore).
-
Julien Muchembled authored
This fixes commit a62e5e7b. See also commit 491e6e28.
-
Jérome Perrin authored
And set it as log_frontend_url in testnode config
-
- 27 Oct, 2020 12 commits
-
-
Julien Muchembled authored
Just add the following 2 lines in a SR: [mariadb] location = ${mariadb-10.4:location}
-
Julien Muchembled authored
-
Julien Muchembled authored
-
Julien Muchembled authored
-
Julien Muchembled authored
It does not build with GCC 8.2
-
Kirill Smelkov authored
Going Go1.14.9 -> Go1.14.10 brings in compiler and runtime fixes including fix for crash in garbage-collector due to race condition: https://github.com/golang/go/issues/40642 https://github.com/golang/go/issues/40641 Tested on helloworld SR.
-
Łukasz Nowak authored
See merge request nexedi/slapos!844
-
Łukasz Nowak authored
validators.url is enough, even for Caddy, to check that URL is correct, and caddy_backend_url_validator was introduced before validators. Also calling an external command for each slave takes a lot of time.
-
Łukasz Nowak authored
Thanks to this other sections can directly reference them, and so they are correctly created as needed, so linking section does not need update-command
-
Łukasz Nowak authored
The password is anyway present in the section itself, so it's eventual change will result with reinstalling the section.
-
Jérome Perrin authored
Also change a bit existing frontend_url to manage it the same way.
-
Jérome Perrin authored
This way buildout can reuse egg caches and it's a bit faster: To run a simple instance buildout, from 2.837s it goes down to 1.875s. To run slapos node instance 10 times just after requesting an ERP5 instance, it goes from ~112s to 98s before: hyperfine "/srv/slapgrid/slappart4/srv/slapos/inst/slappart0/tmp/shared/python2.7/60364a13cc977dd5a894e0239ac889b9/bin/python2.7 /srv/slapgrid/slappart4/srv/slapos/inst/slappart0/tmp/soft/c63ba7265399450b28f9ea6d5667a5e7/bin/buildout -U" Benchmark #1: /srv/slapgrid/slappart4/srv/slapos/inst/slappart0/tmp/shared/python2.7/60364a13cc977dd5a894e0239ac889b9/bin/python2.7 /srv/slapgrid/slappart4/srv/slapos/inst/slappart0/tmp/soft/c63ba7265399450b28f9ea6d5667a5e7/bin/buildout -U Time (mean ± σ): 2.837 s ± 0.275 s [User: 2.481 s, System: 0.285 s] Range (min … max): 2.482 s … 3.222 s 10 runs after: hyperfine "/srv/slapgrid/slappart4/srv/slapos/inst/slappart0/tmp/shared/python2.7/60364a13cc977dd5a894e0239ac889b9/bin/python2.7 /srv/slapgrid/slappart4/srv/slapos/inst/slappart0/tmp/soft/c63ba7265399450b28f9ea6d5667a5e7/bin/buildout -U" Benchmark #1: /srv/slapgrid/slappart4/srv/slapos/inst/slappart0/tmp/shared/python2.7/60364a13cc977dd5a894e0239ac889b9/bin/python2.7 /srv/slapgrid/slappart4/srv/slapos/inst/slappart0/tmp/soft/c63ba7265399450b28f9ea6d5667a5e7/bin/buildout -U Time (mean ± σ): 1.875 s ± 0.067 s [User: 1.660 s, System: 0.148 s] Range (min … max): 1.816 s … 2.038 s 10 runs
-
- 26 Oct, 2020 3 commits
-
-
Julien Muchembled authored
See merge request nexedi/slapos!846
-
Léo-Paul Géneau authored
Changes configuration files to run repman tests in python3.
-
Léo-Paul Géneau authored
Adds the newly added to nexedi's repositories rubygemsrecipe (https://lab.nexedi.com/nexedi/rubygemsrecipe) to the list of tested eggs.
-