Commit 855070b5 authored by Thomas Gambier's avatar Thomas Gambier 🚴🏼

stack/nxdtest; Tests for wendelin.core, zodbtools, pygolang

See merge request nexedi/slapos!839
parents 1815829a eacc0038
Pipeline #12097 failed with stage
in 0 seconds
# SlapOS component for ZEO.
# https://zeo.readthedocs.io/
[buildout]
extends =
../git/buildout.cfg
parts = ZEO/scripts
# ZEO allows to use either ZEO4 or ZEO5
# To select which version to use users should do:
#
# [ZEO]
# egg = ${ZEO<version>:egg}
#
# By default ZEO4 is used.
[ZEO]
recipe = zc.recipe.egg:eggs
egg = ${ZEO4:egg}
eggs = ${:egg}
# ZEO/scripts installs scripts from ZEO
[ZEO/scripts]
recipe = zc.recipe.egg:scripts
eggs = ${ZEO:egg}
# ZEO4: we maintain our own 4-nxd branch with patches
[ZEO4]
recipe = zc.recipe.egg:develop
setup = ${ZEO4-repository:location}
egg = ZEO
[ZEO4-repository]
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/ZEO.git
branch = 4-nxd
revision= 5114f909e5a5
location = ${buildout:parts-directory}/ZEO4
git-executable = ${git:location}/bin/git
# ZEO5 is plain upstream egg
[ZEO5]
recipe = zc.recipe.egg:eggs
egg = ZEO
eggs = ${:egg}
From 8b31ccec54584a287cc61501948283d7d6ee7073 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Mon, 26 Mar 2018 20:39:07 +0200
Subject: [PATCH] Enable TCP_NODELAY for inet(6) sockets
See commit 3d886d426243655b9f5a2528636e42b5c7662c19.
---
src/ZEO/zrpc/client.py | 2 ++
src/ZEO/zrpc/server.py | 1 +
2 files changed, 3 insertions(+)
diff --git a/src/ZEO/zrpc/client.py b/src/ZEO/zrpc/client.py
index 32a7a877..669f5962 100644
--- a/src/ZEO/zrpc/client.py
+++ b/src/ZEO/zrpc/client.py
@@ -568,6 +568,8 @@ def __init__(self, domain, addr, mgr, client):
self.close()
return
self.sock.setblocking(0)
+ if domain in (socket.AF_INET, socket.AF_INET6):
+ self.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
self.state = "opened"
def connect_procedure(self):
diff --git a/src/ZEO/zrpc/server.py b/src/ZEO/zrpc/server.py
index b83cc004..af91e3e4 100644
--- a/src/ZEO/zrpc/server.py
+++ b/src/ZEO/zrpc/server.py
@@ -66,6 +66,7 @@ def _open_socket(self):
socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, True)
else:
self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
+ self.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
else:
self.create_socket(socket.AF_UNIX, socket.SOCK_STREAM)
self.set_reuse_addr()
--
2.14.1
# SlapOS component for GDB.
# https://www.gnu.org/software/gdb
[buildout]
extends =
../xz-utils/buildout.cfg
../binutils/buildout.cfg
../libexpat/buildout.cfg
../texinfo/buildout.cfg
parts = gdb
[gdb]
recipe = slapos.recipe.cmmi
shared = true
url = http://ftp.gnu.org/gnu/gdb/gdb-9.2.tar.xz
md5sum = db95524e554870209ab7d9f8fd8dc557
location = @@LOCATION@@
# gdb refuses to build in-tree -> build it inside build/
pre-configure =
mkdir -p build
configure-command =
cd build && ../configure
configure-options =
--prefix=${:location}
--disable-bootstrap
--with-mpc=${mpc:location}
--with-mpfr=${mpfr:location}
--with-gmp=${gmp:location}
--with-isl=${isl:location}
--with-expat=${libexpat:location}
make-binary =
make-targets = cd build && make && make install
environment =
PATH=${texinfo:location}/bin:${xz-utils:location}/bin:%(PATH)s
LDFLAGS=-Wl,-rpath=${libexpat:location}/lib
...@@ -6,7 +6,7 @@ extends = ...@@ -6,7 +6,7 @@ extends =
../git/buildout.cfg ../git/buildout.cfg
../pkgconfig/buildout.cfg ../pkgconfig/buildout.cfg
parts = gowork parts = gowork go
# ---- Go builds itself ---- # ---- Go builds itself ----
...@@ -84,6 +84,18 @@ environment-extra = ...@@ -84,6 +84,18 @@ environment-extra =
# #
# [gowork] # [gowork]
# buildflags = -race # buildflags = -race
#
# ${go:exe} is standalone executable that runs go in activated gowork environment.
[go]
recipe = slapos.recipe.template:jinja2
exe = ${buildout:bin-directory}/go
rendered= ${:exe}
mode = 755
template= inline:
#!/bin/sh -e
. ${gowork:env.sh}
exec go "$@"
[gowork] [gowork]
directory = ${buildout:directory}/go.work directory = ${buildout:directory}/go.work
src = ${:directory}/src src = ${:directory}/src
......
...@@ -4,3 +4,7 @@ parts = numpy ...@@ -4,3 +4,7 @@ parts = numpy
[numpy] [numpy]
recipe = zc.recipe.egg:custom recipe = zc.recipe.egg:custom
egg = numpy egg = numpy
[versions]
numpy = 1.16.4
# SlapOS component for pygolang development.
[buildout]
extends =
buildout.cfg
../git/buildout.cfg
# override pygolang to install it from latest git version
[pygolang]
recipe = zc.recipe.egg:develop
setup = ${pygolang-repository:location}
[pygolang-repository]
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/pygolang.git
branch = master
location = ${buildout:parts-directory}/pygolang-dev
git-executable = ${git:location}/bin/git
# unpin pygolang from versions, so that buildout does not fallback to
# installing non-dev egg if dev one has changed its version.
[versions]
pygolang =
# SlapOS component for pygolang.
# pygolang.nexedi.com
[buildout]
extends =
../../component/cython/buildout.cfg
parts =
pygolang
gpython
# pygolang installed from released egg from pypi
[pygolang]
recipe = zc.recipe.egg:custom
egg = pygolang
setup-eggs =
${cython:egg}
setuptools-dso
gevent
# gpython program
[gpython]
recipe = zc.recipe.egg:scripts
eggs = ${pygolang:egg}
scripts = gpython
# convenience for gpython users
exe = ${buildout:bin-directory}/gpython
# python-interpreter provides python interpreter with all specified eggs.
# eggs default to pygolang, but can be overwritten or changed in inherited section.
# if eggs are changes, they must still have pygolang.
[python-interpreter]
recipe = zc.recipe.egg:scripts
eggs = ${pygolang:egg}
interpreter = python
# interpreter code that buildout generates cannot process `-m pytest --<pytest-option>`
# -> use pymain from gpython to workaround that.
initialization =
# set sys.executable to self, so that subprocess and friends go through us
# and this way spawn children with correct sys.path where all eggs that
# parent have are present. TODO consider migrating this into pymain
sys.executable = sys.argv[0]
# tail to pymain
from gpython import pymain
pymain(sys.argv[1:])
sys.exit(0)
# don't install scripts from listed eggs (avoid conflict with other sections
# that use zc.recipe.egg with eggs overlapping with ${:eggs} - ex neoppod)
# (we cannot use zc.recipe.egg:eggs because interpreter does not work there)
# NOTE with scripts=ø interpreter is not handled, so we use `scripts=python` as
# a workaround.
scripts = ${:interpreter}
[versions]
pygolang = 0.0.7.post1
# SlapOS software release to test pygolang on Nexedi testing infrastructure.
[buildout]
extends =
../../stack/nxdtest.cfg
../pytest/buildout.cfg
../numpy/buildout.cfg
buildout-dev.cfg
parts =
pygolang
gpython
pygolang-python
# for instance
slapos-cookbook
instance.cfg
# tune pygolang to install with all and for-tests extras.
[pygolang]
egg = pygolang[all_test]
# bin/python is preinstalled with sys.path to pygolang & friends.
[pygolang-python]
<= python-interpreter
eggs = ${pygolang:egg}
# env.sh for pygolang's python/gpython to be on $PATH.
[pygolang-env.sh]
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:directory}/${:_buildout_section_name_}
template = inline:
export PS1="(pygolang-env) $PS1"
export PATH=${buildout:bin-directory}:$PATH
# instance to run nxdtest.
[instance.cfg]
<= jinja2-template
template = inline:
[buildout]
extends = ${nxdtest-instance.cfg:rendered}
[runTestSuite]
env.sh = ${pygolang-env.sh:rendered}
workdir = ${pygolang-repository:location}
[versions]
ipython = 5.10.0
ipython-genutils = 0.2.0
traitlets = 4.3.3
simplegeneric = 0.8.1
Pygments = 2.5.2
prompt-toolkit = 1.0.18
pickleshare = 0.7.5
pexpect = 4.8.0
backports.shutil-get-terminal-size = 1.0.0
ptyprocess = 0.6.0
# SlapOS component for pytest.
# https://pytest.org
[buildout]
parts = pytest/scripts
[pytest]
recipe = zc.recipe.egg:eggs
eggs = pytest
[pytest/scripts]
recipe = zc.recipe.egg:scripts
eggs = ${pytest:eggs}
[versions]
pytest = 4.6.11
# SlapOS component for wendelin.core
[buildout] [buildout]
extends = ../git/buildout.cfg extends =
../pygolang/buildout.cfg
../git/buildout.cfg
parts = parts =
wendelin.core wendelin.core
...@@ -7,18 +12,23 @@ parts = ...@@ -7,18 +12,23 @@ parts =
# wendelin.core installed from released egg from pypi # wendelin.core installed from released egg from pypi
[wendelin.core] [wendelin.core]
recipe = zc.recipe.egg:custom recipe = zc.recipe.egg:custom
egg = wendelin.core <= wendelin.core-eggcommon
# wendelin.core installed from latest git version # wendelin.core installed from latest git version
[wendelin.core-dev] [wendelin.core-dev]
recipe = zc.recipe.egg:develop recipe = zc.recipe.egg:develop
egg = wendelin.core
setup = ${wendelin.core-repository:location} setup = ${wendelin.core-repository:location}
environment = wendelin.core-dev-env <= wendelin.core-eggcommon
# common parts in between wendelin.core and wendelin.core-dev
[wendelin.core-eggcommon]
egg = wendelin.core
setup-eggs =
${pygolang:egg}[pyx.build]
environment = wendelin.core-env
[wendelin.core-dev-env] [wendelin.core-env]
# wendelin.core-dev needs git to build # wendelin.core needs git(dev) to build
PATH = ${git:location}/bin:%(PATH)s PATH = ${git:location}/bin:%(PATH)s
......
# SlapOS software release to test wendelin.core on Nexedi testing infrastructure.
# Common parts.
[buildout]
extends =
# test*.cfg first extend from neoppod/software<ZODB-flavour>.cfg to use
# appropriate ZODB and versions of other components.
../pytest/buildout.cfg
../gdb/buildout.cfg
../../stack/nxdtest.cfg
buildout.cfg
parts =
# keep neoppod first and in parts so that ZODB is built correctly
neoppod
wendelin.core-dev
# for instance
wendelin.core-python
slapos-cookbook
instance.cfg
# bin/python s python interpreter with wendelin.core and all other eggs.
[wendelin.core-python]
<= python-interpreter
eggs =
wendelin.core[test]
pygolang[pyx.build]
neoppod[tests]
ZEO[test]
# env.sh for that python to be on $PATH
[wendelin.core-env.sh]
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:directory}/${:_buildout_section_name_}
template = inline:
export PS1="(wendelin.core-env) $PS1"
export PATH=${buildout:bin-directory}:${gdb:location}/bin:$PATH
# instance to run nxdtest.
[instance.cfg]
<= jinja2-template
template = inline:
[buildout]
extends = ${nxdtest-instance.cfg:rendered}
[runTestSuite]
env.sh = ${wendelin.core-env.sh:rendered}
workdir = ${wendelin.core-repository:location}
[versions]
neoppod = 1.12.0
zope.testrunner = 5.2
random2 = 1.0.1
manuel = 1.10.1
# SlapOS software release to test wendelin.core/ZODB5 on Nexedi testing infrastructure.
[buildout]
extends =
../../stack/erp5/buildout.cfg
../../software/neoppod/software-zodb5.cfg
test-common.cfg
# SlapOS software release to test wendelin.core on Nexedi testing infrastructure.
[buildout]
extends =
../../stack/erp5/buildout.cfg
../../software/neoppod/software.cfg
test-common.cfg
# SlapOS component for zodbtools development.
[buildout]
extends =
buildout.cfg
../git/buildout.cfg
# override zodbtools to install it from latest git version
[zodbtools]
recipe = zc.recipe.egg:develop
setup = ${zodbtools-repository:location}
[zodbtools-repository]
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/zodbtools.git
branch = master
location = ${buildout:parts-directory}/zodbtools-dev
git-executable = ${git:location}/bin/git
# unpin zodbtools from versions, so that buildout does not fallback to
# installing non-dev egg if dev one has changed its version.
[versions]
zodbtools =
# SlapOS component for zodbtools.
# https://lab.nexedi.com/nexedi/zodbtools
[buildout]
extends =
../pygolang/buildout.cfg
../ZEO/buildout.cfg
parts =
zodbtools/scripts
[zodbtools]
recipe = zc.recipe.egg:eggs
egg = zodbtools
eggs =
${:egg}
# dependent eggs that must come through in-tree recipes
depends =
${pygolang:egg}
# ZEO comes through zodbtools -> zodburi -> ZEO
${ZEO:egg}
[zodbtools/scripts]
recipe = zc.recipe.egg:scripts
eggs = ${zodbtools:eggs}
[versions]
zodbtools = 0.0.0.dev8
# SlapOS software release to test zodbtools on Nexedi testing infrastructure.
# Common parts.
[buildout]
extends =
# test*.cfg first extend from neoppod/software<ZODB-flabour>.cfg to use
# appropriate ZODB and versions of other components.
../../stack/nxdtest.cfg
../pytest/buildout.cfg
buildout-dev.cfg
parts =
zodbtools
# for instance
zodbtools-python
slapos-cookbook
instance.cfg
# bin/python is preinstalled with sys.path to zodbtools & friends.
[zodbtools-python]
<= python-interpreter
eggs = zodbtools[test]
# env.sh for zodbtools's python to be on $PATH.
[zodbtools-env.sh]
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:directory}/${:_buildout_section_name_}
template = inline:
export PS1="(zodbtools-env) $PS1"
export PATH=${buildout:bin-directory}:$PATH
# instance to run nxdtest.
[instance.cfg]
<= jinja2-template
template = inline:
[buildout]
extends = ${nxdtest-instance.cfg:rendered}
[runTestSuite]
env.sh = ${zodbtools-env.sh:rendered}
workdir = ${zodbtools-repository:location}
[versions]
freezegun = 1.0.0
# SlapOS software release to test zodbtools/ZODB5 on Nexedi testing infrastructure.
[buildout]
extends =
../../software/neoppod/software-zodb5.cfg
test-common.cfg
# SlapOS software release to test zodbtools on Nexedi testing infrastructure.
[buildout]
extends =
../../software/neoppod/software.cfg
test-common.cfg
...@@ -11,6 +11,7 @@ extends = ...@@ -11,6 +11,7 @@ extends =
../../component/6tunnel/buildout.cfg ../../component/6tunnel/buildout.cfg
../../component/xz-utils/buildout.cfg ../../component/xz-utils/buildout.cfg
../../component/rsyslogd/buildout.cfg ../../component/rsyslogd/buildout.cfg
../../component/numpy/buildout.cfg
../../component/haproxy/buildout.cfg ../../component/haproxy/buildout.cfg
../../component/nginx/buildout.cfg ../../component/nginx/buildout.cfg
...@@ -251,7 +252,6 @@ pycrypto = 2.6.1 ...@@ -251,7 +252,6 @@ pycrypto = 2.6.1
rdiff-backup = 1.0.5+SlapOSPatched001 rdiff-backup = 1.0.5+SlapOSPatched001
slapos.recipe.template = 4.4 slapos.recipe.template = 4.4
smmap = 0.9.0 smmap = 0.9.0
numpy = 1.16.4
websockify = 0.8.0 websockify = 0.8.0
furl = 2.1.0 furl = 2.1.0
......
...@@ -102,5 +102,4 @@ context = ...@@ -102,5 +102,4 @@ context =
[versions] [versions]
slapos.recipe.template = 4.4 slapos.recipe.template = 4.4
coverage = 4.5.1 coverage = 4.5.1
numpy = 1.16.4
pycodestyle = 2.5.0 pycodestyle = 2.5.0
...@@ -40,7 +40,6 @@ rpy2 = 2.4.0 ...@@ -40,7 +40,6 @@ rpy2 = 2.4.0
pydot = 1.0.28 pydot = 1.0.28
xlrd = 0.9.3 xlrd = 0.9.3
xlwt = 0.7.5 xlwt = 0.7.5
numpy = 1.16.4
scipy = 0.13.3 scipy = 0.13.3
simpy = 3.0.5 simpy = 3.0.5
zope.dottedname = 4.1.0 zope.dottedname = 4.1.0
......
...@@ -10,6 +10,7 @@ extends = ...@@ -10,6 +10,7 @@ extends =
../../component/netcat/buildout.cfg ../../component/netcat/buildout.cfg
../../component/lxml-python/buildout.cfg ../../component/lxml-python/buildout.cfg
../../component/pycurl/buildout.cfg ../../component/pycurl/buildout.cfg
../../component/numpy/buildout.cfg
../../component/gzip/buildout.cfg ../../component/gzip/buildout.cfg
../../stack/slapos.cfg ../../stack/slapos.cfg
../../component/nodejs/buildout.cfg ../../component/nodejs/buildout.cfg
...@@ -206,4 +207,3 @@ gitdb = 0.6.4 ...@@ -206,4 +207,3 @@ gitdb = 0.6.4
pycurl = 7.43.0 pycurl = 7.43.0
slapos.recipe.template = 4.4 slapos.recipe.template = 4.4
smmap = 0.9.0 smmap = 0.9.0
numpy = 1.16.4
...@@ -15,10 +15,11 @@ extends = ...@@ -15,10 +15,11 @@ extends =
../../component/lxml-python/buildout.cfg ../../component/lxml-python/buildout.cfg
#END LXML #END LXML
../../component/msgpack-python/buildout.cfg ../../component/msgpack-python/buildout.cfg
../../component/patch/buildout.cfg
../../component/python-mysqlclient/buildout.cfg ../../component/python-mysqlclient/buildout.cfg
../../component/python-cryptography/buildout.cfg ../../component/python-cryptography/buildout.cfg
../../component/pycurl/buildout.cfg ../../component/pycurl/buildout.cfg
../../component/ZEO/buildout.cfg
../../component/zodbtools/buildout.cfg
parts = parts =
# keep neoppod first so that ZODB is built correctly, # keep neoppod first so that ZODB is built correctly,
...@@ -50,14 +51,10 @@ eggs = neoppod[admin, ctl, master] ...@@ -50,14 +51,10 @@ eggs = neoppod[admin, ctl, master]
psutil psutil
ZODB ZODB
zope.testing zope.testing
zodbtools ${zodbtools:egg}
coverage coverage
setproctitle setproctitle
adapter-egg = ${python-mysqlclient:egg} adapter-egg = ${python-mysqlclient:egg}
patch-binary = ${patch:location}/bin/patch
ZEO-patch-options = -p1
ZEO-patches =
${:_profile_base_location_}/../../component/egg-patch/ZEO4/TCP_NODELAY.patch#b07288522d5c6857738240d948321df6
# XXX: buildout fails to install properly eggs with setup_requires # XXX: buildout fails to install properly eggs with setup_requires
[BTrees] [BTrees]
...@@ -152,23 +149,9 @@ setproctitle = 1.1.10 ...@@ -152,23 +149,9 @@ setproctitle = 1.1.10
slapos.recipe.template = 4.4 slapos.recipe.template = 4.4
transaction = 1.7.0 transaction = 1.7.0
zodbpickle = 1.0.4 zodbpickle = 1.0.4
zodbtools = 0.0.0.dev4
cython-zstd = 0.2 cython-zstd = 0.2
python-dateutil = 2.7.3 python-dateutil = 2.7.3
# Required by:
# zodbtools==0.0.0dev4
zodburi = 2.3.0
# Required by:
# zodburi==2.0
# ZEO 5 requires transaction >= 2
ZEO = 4.3.1+SlapOSPatched001
# Required by:
# ZEO==4.3.1
zdaemon = 4.2.0
# Required by: # Required by:
# mock = 3.0.5 # mock = 3.0.5
funcsigs = 1.0.2 funcsigs = 1.0.2
...@@ -3,7 +3,9 @@ extends = software.cfg ...@@ -3,7 +3,9 @@ extends = software.cfg
[neoppod] [neoppod]
eggs += mock eggs += mock
ZEO-patches =
[ZEO]
egg = ${ZEO5:egg}
[versions] [versions]
ZODB = 5.6.0 ZODB = 5.6.0
......
...@@ -19,11 +19,3 @@ md5sum = bd46e95f1cea62c3b0082fe8c0c9c90b ...@@ -19,11 +19,3 @@ md5sum = bd46e95f1cea62c3b0082fe8c0c9c90b
[neotest] [neotest]
filename = neotest.in filename = neotest.in
md5sum = fb3b4109128c1db1739ef5bb6abd1d94 md5sum = fb3b4109128c1db1739ef5bb6abd1d94
[neotest-runTestSuite]
filename = neotest-runTestSuite.in
md5sum = 6a4281730b68cdba5c873817a6754428
[instance.cfg]
filename = instance.cfg.in
md5sum = 8a40d365c85d70f057ce997405ac3e88
...@@ -5,25 +5,34 @@ ...@@ -5,25 +5,34 @@
depends_gitfetch = depends_gitfetch =
${go_github.com_DataDog_czlib:recipe} ${go_github.com_DataDog_czlib:recipe}
${go_github.com_cznic_strutil:recipe} ${go_github.com_cznic_strutil:recipe}
${go_github.com_davecgh_go-spew:recipe}
${go_github.com_fsnotify_fsnotify:recipe} ${go_github.com_fsnotify_fsnotify:recipe}
${go_github.com_golang_glog:recipe} ${go_github.com_golang_glog:recipe}
${go_github.com_gwenn_gosqlite:recipe} ${go_github.com_gwenn_gosqlite:recipe}
${go_github.com_gwenn_yacr:recipe} ${go_github.com_gwenn_yacr:recipe}
${go_github.com_kisielk_og-rek:recipe} ${go_github.com_kisielk_og-rek:recipe}
${go_github.com_kylelemons_godebug:recipe} ${go_github.com_kylelemons_godebug:recipe}
${go_github.com_philhofer_fwd:recipe}
${go_github.com_pkg_errors:recipe} ${go_github.com_pkg_errors:recipe}
${go_github.com_pkg_profile:recipe} ${go_github.com_pkg_profile:recipe}
${go_github.com_pmezard_go-difflib:recipe}
${go_github.com_shamaton_msgpack:recipe}
${go_github.com_soheilhy_cmux:recipe} ${go_github.com_soheilhy_cmux:recipe}
${go_github.com_someonegg_gocontainer:recipe} ${go_github.com_someonegg_gocontainer:recipe}
${go_github.com_someonegg_gox:recipe} ${go_github.com_someonegg_gox:recipe}
${go_github.com_stretchr_testify:recipe} ${go_github.com_stretchr_testify:recipe}
${go_github.com_tinylib_msgp:recipe}
${go_github.com_ttacon_chalk:recipe}
${go_golang.org_x_crypto:recipe} ${go_golang.org_x_crypto:recipe}
${go_golang.org_x_mod:recipe}
${go_golang.org_x_net:recipe} ${go_golang.org_x_net:recipe}
${go_golang.org_x_perf:recipe} ${go_golang.org_x_perf:recipe}
${go_golang.org_x_sync:recipe} ${go_golang.org_x_sync:recipe}
${go_golang.org_x_sys:recipe} ${go_golang.org_x_sys:recipe}
${go_golang.org_x_text:recipe} ${go_golang.org_x_text:recipe}
${go_golang.org_x_tools:recipe} ${go_golang.org_x_tools:recipe}
${go_golang.org_x_xerrors:recipe}
${go_gopkg.in_yaml.v3:recipe}
${go_lab.nexedi.com_kirr_go123:recipe} ${go_lab.nexedi.com_kirr_go123:recipe}
${go_lab.nexedi.com_kirr_neo:recipe} ${go_lab.nexedi.com_kirr_neo:recipe}
...@@ -40,11 +49,17 @@ go.importpath = github.com/cznic/strutil ...@@ -40,11 +49,17 @@ go.importpath = github.com/cznic/strutil
repository = https://github.com/cznic/strutil repository = https://github.com/cznic/strutil
revision = 529a34b1c1 revision = 529a34b1c1
[go_github.com_davecgh_go-spew]
<= go-git-package
go.importpath = github.com/davecgh/go-spew
repository = https://github.com/davecgh/go-spew
revision = v1.1.1-1-gd8f796af33
[go_github.com_fsnotify_fsnotify] [go_github.com_fsnotify_fsnotify]
<= go-git-package <= go-git-package
go.importpath = github.com/fsnotify/fsnotify go.importpath = github.com/fsnotify/fsnotify
repository = https://github.com/fsnotify/fsnotify repository = https://github.com/fsnotify/fsnotify
revision = ccc981bf80 revision = 7f4cf4dd2b
[go_github.com_golang_glog] [go_github.com_golang_glog]
<= go-git-package <= go-git-package
...@@ -56,112 +71,160 @@ revision = 23def4e6c1 ...@@ -56,112 +71,160 @@ revision = 23def4e6c1
<= go-git-package <= go-git-package
go.importpath = github.com/gwenn/gosqlite go.importpath = github.com/gwenn/gosqlite
repository = https://github.com/gwenn/gosqlite repository = https://github.com/gwenn/gosqlite
revision = 29cd841087 revision = 24878be1a2
[go_github.com_gwenn_yacr] [go_github.com_gwenn_yacr]
<= go-git-package <= go-git-package
go.importpath = github.com/gwenn/yacr go.importpath = github.com/gwenn/yacr
repository = https://github.com/gwenn/yacr repository = https://github.com/gwenn/yacr
revision = 77093bdc7e revision = bbe82c1f4d
[go_github.com_kisielk_og-rek] [go_github.com_kisielk_og-rek]
<= go-git-package <= go-git-package
go.importpath = github.com/kisielk/og-rek go.importpath = github.com/kisielk/og-rek
repository = https://github.com/kisielk/og-rek repository = https://github.com/kisielk/og-rek
revision = 8b25c4cefd revision = 24bb08c22e
[go_github.com_kylelemons_godebug] [go_github.com_kylelemons_godebug]
<= go-git-package <= go-git-package
go.importpath = github.com/kylelemons/godebug go.importpath = github.com/kylelemons/godebug
repository = https://github.com/kylelemons/godebug repository = https://github.com/kylelemons/godebug
revision = d65d576e93 revision = fa7b53cdfc
[go_github.com_philhofer_fwd]
<= go-git-package
go.importpath = github.com/philhofer/fwd
repository = https://github.com/philhofer/fwd
revision = 414ae1bb9e
[go_github.com_pkg_errors] [go_github.com_pkg_errors]
<= go-git-package <= go-git-package
go.importpath = github.com/pkg/errors go.importpath = github.com/pkg/errors
repository = https://github.com/pkg/errors repository = https://github.com/pkg/errors
revision = v0.8.0-12-g816c908556 revision = v0.8.1-31-g614d223910
[go_github.com_pkg_profile] [go_github.com_pkg_profile]
<= go-git-package <= go-git-package
go.importpath = github.com/pkg/profile go.importpath = github.com/pkg/profile
repository = https://github.com/pkg/profile repository = https://github.com/pkg/profile
revision = v1.2.1-0-g5b67d42886 revision = v1.5.0-1-g3704c8d233
[go_github.com_pmezard_go-difflib]
<= go-git-package
go.importpath = github.com/pmezard/go-difflib
repository = https://github.com/pmezard/go-difflib
revision = v1.0.0-4-g5d4384ee4f
[go_github.com_shamaton_msgpack]
<= go-git-package
go.importpath = github.com/shamaton/msgpack
repository = https://github.com/shamaton/msgpack
revision = 29a4ba0bb9
[go_github.com_soheilhy_cmux] [go_github.com_soheilhy_cmux]
<= go-git-package <= go-git-package
go.importpath = github.com/soheilhy/cmux go.importpath = github.com/soheilhy/cmux
repository = https://github.com/soheilhy/cmux repository = https://github.com/soheilhy/cmux
revision = e09e9389d8 revision = 8a8ea3c539
[go_github.com_someonegg_gocontainer] [go_github.com_someonegg_gocontainer]
<= go-git-package <= go-git-package
go.importpath = github.com/someonegg/gocontainer go.importpath = github.com/someonegg/gocontainer
repository = https://github.com/someonegg/gocontainer repository = https://github.com/someonegg/gocontainer
revision = fc2c7e84b5 revision = 24fb283ab9
[go_github.com_someonegg_gox] [go_github.com_someonegg_gox]
<= go-git-package <= go-git-package
go.importpath = github.com/someonegg/gox go.importpath = github.com/someonegg/gox
repository = https://github.com/someonegg/gox repository = https://github.com/someonegg/gox
revision = 4915b7fd7c revision = c9bfdf8eb4
[go_github.com_stretchr_testify] [go_github.com_stretchr_testify]
<= go-git-package <= go-git-package
go.importpath = github.com/stretchr/testify go.importpath = github.com/stretchr/testify
repository = https://github.com/stretchr/testify repository = https://github.com/stretchr/testify
revision = 363ebb24d0 revision = v1.2.2-210-g54d05a4e18
[go_github.com_tinylib_msgp]
<= go-git-package
go.importpath = github.com/tinylib/msgp
repository = https://github.com/tinylib/msgp
revision = 87c1ec45d5
[go_github.com_ttacon_chalk]
<= go-git-package
go.importpath = github.com/ttacon/chalk
repository = https://github.com/ttacon/chalk
revision = v0.1-3-g22c06c80ed
[go_golang.org_x_crypto] [go_golang.org_x_crypto]
<= go-git-package <= go-git-package
go.importpath = golang.org/x/crypto go.importpath = golang.org/x/crypto
repository = https://go.googlesource.com/crypto repository = https://go.googlesource.com/crypto
revision = 88942b9c40 revision = 5c72a88397
[go_golang.org_x_mod]
<= go-git-package
go.importpath = golang.org/x/mod
repository = https://go.googlesource.com/mod
revision = ce943fd024
[go_golang.org_x_net] [go_golang.org_x_net]
<= go-git-package <= go-git-package
go.importpath = golang.org/x/net go.importpath = golang.org/x/net
repository = https://go.googlesource.com/net repository = https://go.googlesource.com/net
revision = 6078986fec revision = 62affa334b
[go_golang.org_x_perf] [go_golang.org_x_perf]
<= go-git-package <= go-git-package
go.importpath = golang.org/x/perf go.importpath = golang.org/x/perf
repository = https://go.googlesource.com/perf repository = https://go.googlesource.com/perf
revision = 8c788eb673 revision = d949658356
[go_golang.org_x_sync] [go_golang.org_x_sync]
<= go-git-package <= go-git-package
go.importpath = golang.org/x/sync go.importpath = golang.org/x/sync
repository = https://go.googlesource.com/sync repository = https://go.googlesource.com/sync
revision = 1d60e4601c revision = 6e8e738ad2
[go_golang.org_x_sys] [go_golang.org_x_sys]
<= go-git-package <= go-git-package
go.importpath = golang.org/x/sys go.importpath = golang.org/x/sys
repository = https://go.googlesource.com/sys repository = https://go.googlesource.com/sys
revision = 91ee8cde43 revision = aee5d888a8
[go_golang.org_x_text] [go_golang.org_x_text]
<= go-git-package <= go-git-package
go.importpath = golang.org/x/text go.importpath = golang.org/x/text
repository = https://go.googlesource.com/text repository = https://go.googlesource.com/text
revision = v0.3.0-42-gab48842968 revision = v0.3.3-2-ga8b4671254
[go_golang.org_x_tools] [go_golang.org_x_tools]
<= go-git-package <= go-git-package
go.importpath = golang.org/x/tools go.importpath = golang.org/x/tools
repository = https://go.googlesource.com/tools repository = https://go.googlesource.com/tools
revision = 77106db15f revision = ba800b16d8
[go_golang.org_x_xerrors]
<= go-git-package
go.importpath = golang.org/x/xerrors
repository = https://go.googlesource.com/xerrors
revision = 5ec99f83af
[go_gopkg.in_yaml.v3]
<= go-git-package
go.importpath = gopkg.in/yaml.v3
repository = https://gopkg.in/yaml.v3
revision = v2.1.1-97-geeeca48fe7
[go_lab.nexedi.com_kirr_go123] [go_lab.nexedi.com_kirr_go123]
<= go-git-package <= go-git-package
go.importpath = lab.nexedi.com/kirr/go123 go.importpath = lab.nexedi.com/kirr/go123
repository = https://lab.nexedi.com/kirr/go123.git repository = https://lab.nexedi.com/kirr/go123.git
revision = 76f667ba6c revision = 316617668e
[go_lab.nexedi.com_kirr_neo] [go_lab.nexedi.com_kirr_neo]
<= go-git-package <= go-git-package
go.importpath = lab.nexedi.com/kirr/neo go.importpath = lab.nexedi.com/kirr/neo
repository = https://lab.nexedi.com/kirr/neo.git repository = https://lab.nexedi.com/kirr/neo.git
revision = v1.8.1-1634-g4000df14e4 revision = v1.9-2480-g5ee3c077b3
#!/bin/bash -e
# neotest's runTestSuite wraper so it could be run without any environment preset
. ${buildout:directory}/neotest-env.sh
exec ${gowork:src}/lab.nexedi.com/kirr/neo/go/neo/t/nxd/runTestSuite "$@"
...@@ -17,6 +17,10 @@ extends = ...@@ -17,6 +17,10 @@ extends =
../../component/lmbench/buildout.cfg ../../component/lmbench/buildout.cfg
../../component/coreutils/buildout.cfg ../../component/coreutils/buildout.cfg
../../component/util-linux/buildout.cfg ../../component/util-linux/buildout.cfg
../../component/pygolang/buildout.cfg
../../component/numpy/buildout.cfg
../../stack/nxdtest.cfg
parts = parts =
gowork gowork
...@@ -36,7 +40,6 @@ parts = ...@@ -36,7 +40,6 @@ parts =
neotest-env.sh neotest-env.sh
neotest neotest
neotest-runTestSuite
# for instance # for instance
slapos-cookbook slapos-cookbook
...@@ -73,23 +76,28 @@ output = ${buildout:directory}/${:_buildout_section_name_} ...@@ -73,23 +76,28 @@ output = ${buildout:directory}/${:_buildout_section_name_}
output = ${buildout:bin-directory}/${:_buildout_section_name_} output = ${buildout:bin-directory}/${:_buildout_section_name_}
mode = 0755 mode = 0755
[neotest-runTestSuite]
<= buildout-template
output = ${buildout:bin-directory}/${:_buildout_section_name_}
mode = 0755
# instance
[jinja2-template]
recipe = slapos.recipe.template:jinja2
template= ${:_profile_base_location_}/${:filename}
rendered= ${buildout:directory}/${:_buildout_section_name_}
mode = 0644
context =
section buildout buildout
# instance to run nxdtest.
[instance.cfg] [instance.cfg]
<= jinja2-template <= jinja2-template
template = inline:
[buildout]
extends = ${nxdtest-instance.cfg:rendered}
parts += tnxdtest
[runTestSuite]
env.sh = ${neotest-env.sh:output}
workdir = $${directory:t}
[directory]
t = $${:home}/t
# instance/t/.nxdtest -> .nxdtest inside go/neo
[tnxdtest]
recipe = plone.recipe.command
stop-on-error = yes
command = ln -s -t $${directory:t} ${gowork:src}/lab.nexedi.com/kirr/neo/go/neo/t/.nxdtest
# eggs: # eggs:
...@@ -99,15 +107,15 @@ eggs = ...@@ -99,15 +107,15 @@ eggs =
# wendelin.core still requires ZODB3 but having ZODB4 or 5 installed satisfies latest ZODB3 # wendelin.core still requires ZODB3 but having ZODB4 or 5 installed satisfies latest ZODB3
ZODB3 ZODB3
# also for wc # also for wc
numpy ${numpy:egg}
# to install not only wendelin.core modules but also scripts # to install not only wendelin.core modules but also scripts
wendelin.core wendelin.core
# for ZEO scripts (runzeo) # for ZEO scripts (runzeo)
ZEO ${ZEO:egg}
# for nxd/runTestSuite
erp5.util
# for e.g. tcpu.py # for e.g. tcpu.py
pygolang ${pygolang:egg}
# for instance
plone.recipe.command
# wendelin.core: latest not yet released # wendelin.core: latest not yet released
...@@ -117,9 +125,7 @@ revision= v0.11-15-gf785ac079b ...@@ -117,9 +125,7 @@ revision= v0.11-15-gf785ac079b
# ping eggs versions # ping eggs versions
[versions] [versions]
ZODB3 = 3.11.0 ZODB3 = 3.11.0
numpy = 1.16.4
zope.testing = 4.6.2 zope.testing = 4.6.2
pygolang = 0.0.0.dev4
# Required by: # Required by:
# ZEO==4.3.1 # ZEO==4.3.1
......
...@@ -455,7 +455,7 @@ eggs = ${neoppod:eggs} ...@@ -455,7 +455,7 @@ eggs = ${neoppod:eggs}
# Zope acquisition patch # Zope acquisition patch
Acquisition Acquisition
# for runzeo # for runzeo
ZEO ${ZEO:egg}
# Other Zope 2 packages # Other Zope 2 packages
Products.PluggableAuthService Products.PluggableAuthService
......
# Stack for creating testnode instances to be run via nxdtest on Nexedi testing
# infrastructure.
#
# Usage:
#
# ---- 8< ---- (<software>/test.cfg)
# [buildout]
# extends = .../stack/nxdtest.cfg
#
# parts =
# ...
#
# # for instance
# slapos-cookbook
# instance.cfg
#
# ...
#
# [instance.cfg]
# <= jinja2-template
# template = inline:
# [buildout]
# extends = ${nxdtest-instance.cfg:rendered}
#
# [runTestSuite]
# env.sh = ...
# workdir = ...
#
# Created instance will have bin/runTestSuite that sources env.sh and runs
# nxdtest in workdir.
[buildout]
extends =
slapos.cfg
../component/git/buildout.cfg
nxdtest/buildout.hash.cfg
[jinja2-template]
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/${:filename}
rendered = ${buildout:directory}/${:_buildout_section_name_}
mode = 0644
context =
section buildout buildout
[nxdtest-instance.cfg]
<= jinja2-template
template = ${:_profile_base_location_}/nxdtest/${:filename}
# NOTE += does not work
context =
section buildout buildout
section nxdtest nxdtest
[nxdtest]
recipe = zc.recipe.egg:scripts
eggs = ${nxdtest-egg:egg}
scripts = nxdtest
# convenience for nxdtest users
exe = ${buildout:bin-directory}/nxdtest
[nxdtest-egg]
recipe = zc.recipe.egg:develop
setup = ${nxdtest-repository:location}
egg = nxdtest
[nxdtest-repository]
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/nxdtest.git
revision = bd91f6f1579a
location = ${buildout:parts-directory}/nxdtest
git-executable = ${git:location}/bin/git
[versions]
slapos.recipe.template = 4.4
# THIS IS NOT A BUILDOUT FILE ... -> use update-hash to update it.
[nxdtest-instance.cfg]
filename = instance.cfg.in
md5sum = ea54ba85655f52ce491c84450400e5af
# NEO test instance: run neotest under Nexedi testing infrastructure # instance to test a software via nxdtest under Nexedi testing infrastructure.
[buildout] [buildout]
parts = runTestSuite parts = runTestSuite
...@@ -17,12 +17,17 @@ bin = {{ buildout['bin-directory'] }} ...@@ -17,12 +17,17 @@ bin = {{ buildout['bin-directory'] }}
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
home = ${buildout:directory} home = ${buildout:directory}
bin = ${:home}/bin bin = ${:home}/bin
neotest = ${:home}/neotest
# script to run the testsuite from inside <instance>/neotest/ # script to run the testsuite via nxdtest
# located @ <instance>/bin/runTestSuite so testnode can see this as run tests entrypoint. # located @ <instance>/bin/runTestSuite so testnode can see this as run tests entrypoint.
#
# instance that uses stack/nxdtest.cfg must provide
#
# [runTestSuite]
# env.sh = ...
# workdir = ...
[runTestSuite] [runTestSuite]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
wrapper-path = ${directory:bin}/${:_buildout_section_name_} wrapper-path = ${directory:bin}/${:_buildout_section_name_}
command-line = /bin/bash -c 'cd ${directory:neotest} && ${software:bin}/neotest-runTestSuite "$@"' runTestSuite command-line = /bin/bash -c '. ${:env.sh} && cd ${:workdir} && {{ nxdtest['exe'] }} "$@"' nxdtest
# "$@" is implicitly added to argv # "$@" is implicitly added to argv
...@@ -143,10 +143,13 @@ zc.recipe.egg = 2.0.3+slapos003 ...@@ -143,10 +143,13 @@ zc.recipe.egg = 2.0.3+slapos003
hexagonit.recipe.download = 1.7.post4 hexagonit.recipe.download = 1.7.post4
Jinja2 = 2.9.5 Jinja2 = 2.9.5
Importing = 1.10
MarkupSafe = 1.0 MarkupSafe = 1.0
PyYAML = 3.13 PyYAML = 3.13
Werkzeug = 0.12 Werkzeug = 0.12
asn1crypto = 1.3.0 asn1crypto = 1.3.0
atomicwrites = 1.4.0
backports.functools-lru-cache = 1.6.1
backports.lzma = 0.0.14 backports.lzma = 0.0.14
cffi = 1.14.0 cffi = 1.14.0
click = 6.7 click = 6.7
...@@ -154,23 +157,37 @@ cliff = 2.4.0 ...@@ -154,23 +157,37 @@ cliff = 2.4.0
cmd2 = 0.7.0 cmd2 = 0.7.0
collective.recipe.shelloutput = 0.1 collective.recipe.shelloutput = 0.1
collective.recipe.template = 2.0 collective.recipe.template = 2.0
configparser = 4.0.2
contextlib2 = 0.6.0.post1
cryptography = 2.9.2 cryptography = 2.9.2
dateparser = 0.7.6
decorator = 4.3.0 decorator = 4.3.0
funcsigs = 1.0.2
gevent = 20.9.0
greenlet = 0.4.17
idna = 2.9 idna = 2.9
importlib-metadata = 1.7.0
inotify-simple = 1.1.1 inotify-simple = 1.1.1
itsdangerous = 0.24 itsdangerous = 0.24
lock-file = 2.0 lock-file = 2.0
lxml = 4.4.3 lxml = 4.4.3
meld3 = 1.0.2 meld3 = 1.0.2
more-itertools = 5.0.0
netaddr = 0.7.19 netaddr = 0.7.19
pathlib2 = 2.3.5
pbr = 2.0.0 pbr = 2.0.0
plone.recipe.command = 1.1 plone.recipe.command = 1.1
prettytable = 0.7.2 prettytable = 0.7.2
psutil = 5.6.3 psutil = 5.6.3
pluggy = 0.13.1
py = 1.9.0
pyOpenSSL = 19.1.0 pyOpenSSL = 19.1.0
pyparsing = 2.2.0 pyparsing = 2.2.0
pytz = 2016.10 pytz = 2016.10
regex = 2020.9.27
requests = 2.24.0 requests = 2.24.0
scandir = 1.10.0
setuptools-dso = 1.7
six = 1.12.0 six = 1.12.0
slapos.cookbook = 1.0.167 slapos.cookbook = 1.0.167
slapos.core = 1.6.2 slapos.core = 1.6.2
...@@ -184,7 +201,13 @@ slapos.toolbox = 0.112 ...@@ -184,7 +201,13 @@ slapos.toolbox = 0.112
stevedore = 1.21.0 stevedore = 1.21.0
subprocess32 = 3.5.3 subprocess32 = 3.5.3
unicodecsv = 0.14.1 unicodecsv = 0.14.1
wcwidth = 0.2.5
wheel = 0.35.1
xml-marshaller = 1.0.2 xml-marshaller = 1.0.2
zdaemon = 4.2.0
zipp = 1.2.0
zodburi = 2.4.0
zope.event = 3.5.2
paramiko = 2.1.3 paramiko = 2.1.3
CacheControl = 0.12.5 CacheControl = 0.12.5
msgpack = 0.6.2 msgpack = 0.6.2
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment