# NEO test software-release
#
# This software-release prepares environment so that neotest NEO
# testing/benchmarking can be run in a SlapOS WebRunner.
[buildout]
extends =
    ../../stack/slapos.cfg
    ../neoppod/software-common.cfg
    ../../component/golang/buildout.cfg
    gowork.cfg
    ../../component/sqlite3/buildout.cfg
    ../../component/zlib/buildout.cfg
    ../../component/wendelin.core/buildout.cfg
    ../../component/ethtool/buildout.cfg
    ../../component/ioping/buildout.cfg
    ../../component/lmbench/buildout.cfg
    ../../component/coreutils/buildout.cfg
    ../../component/util-linux/buildout.cfg

parts =
    gowork
    lmbench
    ioping
    ethtool

#   neotest uses realpath & friends
    coreutils
#   ----//---- lsblk
    util-linux

    neoppod-develop
    neoppod
    wendelin.core-dev
    eggs

    neotest-env.sh
    neotest
    neotest-runTestSuite

#   for instance
    slapos-deps-eggs
    slapos-cookbook
    instance.cfg


# go packages to install (+ automatically their dependencies)
[gowork]
install =
    lab.nexedi.com/kirr/neo/go/...
    github.com/pkg/profile
    golang.org/x/perf/cmd/benchstat

cpkgpath =
    ${sqlite3:location}/lib/pkgconfig
    ${zlib:location}/lib/pkgconfig

# dev-install neo from go checkout
[neoppod-develop]
setup   = ${go_lab.nexedi.com_kirr_neo:location}


# neotest-env.sh + neotest wrapper
[buildout-template]
recipe  = slapos.recipe.template
url     = ${:_profile_base_location_}/${:_buildout_section_name_}.in
output  = ${buildout:directory}/${:_buildout_section_name_}

[neotest-env.sh]
<= buildout-template
md5sum  = 595eebbbcb56b6a8464d48833cfae57b

[neotest]
<= buildout-template
output  = ${buildout:bin-directory}/${:_buildout_section_name_}
mode    = 0755
md5sum  = fb3b4109128c1db1739ef5bb6abd1d94

[neotest-runTestSuite]
<= buildout-template
output  = ${buildout:bin-directory}/${:_buildout_section_name_}
mode    = 0755
md5sum  = 6a4281730b68cdba5c873817a6754428


# instance
[jinja2-template]
recipe  = slapos.recipe.template:jinja2
template= ${:_profile_base_location_}/${:_buildout_section_name_}.in
rendered= ${buildout:directory}/${:_buildout_section_name_}
mode    = 0644
context =
  section buildout  buildout

[instance.cfg]
<= jinja2-template
md5sum  = 8a40d365c85d70f057ce997405ac3e88


# eggs:
[eggs]
recipe  = zc.recipe.egg
eggs    =
# wendelin.core still requires ZODB3 but having ZODB4 or 5 installed satisfies latest ZODB3
    ZODB3
# also for wc
    numpy
# to install not only wendelin.core modules but also scripts
    wendelin.core
# for ZEO scripts (runzeo)
    ZEO
# for nxd/runTestSuite
    erp5.util
# for e.g. tcpu.py
    pygolang


# wendelin.core: latest not yet released
[wendelin.core-repository]
revision= v0.11-15-gf785ac079b

# ping eggs versions
[versions]
ZODB3 = 3.11.0
numpy = 1.16.4
zope.testing = 4.6.2
pygolang = 0.0.0.dev4
erp5.util = 0.4.51

# Required by:
# ZEO==4.3.1
# ZODB==4.4.5
# zodburi==2.3.0
ZConfig = 3.2.0

# Required by:
# ZEO==4.3.1
# ZODB==4.4.5
zc.lockfile = 1.2.1

# Required by:
# neoppod==1.8.1
python-dateutil = 2.7.1