Commit 0150e946 authored by Jérome Perrin's avatar Jérome Perrin

software/slapos-sr-testing: WIP use nxdtest

parent be5a9eae
...@@ -15,4 +15,4 @@ ...@@ -15,4 +15,4 @@
[template] [template]
filename = instance.cfg filename = instance.cfg
md5sum = 4246cde0a27138e057ba1635cc621edf md5sum = db000a8e7be5887b2a6c64b24739a40a
[buildout] [buildout]
extends = {{ nxdtest_instance }}
parts = parts =
slapos-test-runner runTestSuite
publish publish
eggs-directory = {{ buildout['eggs-directory'] }} eggs-directory = {{ buildout['eggs-directory'] }}
...@@ -26,29 +27,44 @@ repository = {{ slapos_location }} ...@@ -26,29 +27,44 @@ repository = {{ slapos_location }}
[directory] [directory]
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
bin = ${buildout:directory}/bin bin = ${buildout:directory}/bin
working-dir = ${buildout:directory}/tmp
etc = ${buildout:directory}/etc etc = ${buildout:directory}/etc
var = ${buildout:directory}/var
test-working-dir = ${buildout:directory}/tmp
nxdtest-working-dir = ${:var}/nxdtest
[slapos-test-runner]
recipe = slapos.cookbook:wrapper
wrapper-path = ${directory:bin}/runTestSuite
command-line =
{{ buildout['bin-directory'] }}/runTestSuite
--python_interpreter={{ buildout['bin-directory'] }}/{{ interpreter }}
--source_code_path_list={{ ','.join(tests.splitlines()) }}
environment =
PATH=${slapos-test-runner-environment:PATH}
SLAPOS_TEST_IPV4=${slapos-test-runner-environment:SLAPOS_TEST_IPV4}
SLAPOS_TEST_IPV6=${slapos-test-runner-environment:SLAPOS_TEST_IPV6}
SLAPOS_TEST_WORKING_DIR=${slapos-test-runner-environment:SLAPOS_TEST_WORKING_DIR}
[slapos-test-runner-environment] [slapos-test-runner-environment]
PATH = {{ buildout['bin-directory'] }}:{{ curl_location }}/bin/:{{ faketime_location }}/bin/:{{ openssl_location }}/bin/:/usr/bin/:/bin PATH = {{ buildout['bin-directory'] }}:{{ curl_location }}/bin/:{{ faketime_location }}/bin/:{{ openssl_location }}/bin/:/usr/bin/:/bin
SLAPOS_TEST_IPV4 = ${slap-configuration:ipv4-random} SLAPOS_TEST_IPV4 = ${slap-configuration:ipv4-random}
SLAPOS_TEST_IPV6 = ${slap-configuration:ipv6-random} SLAPOS_TEST_IPV6 = ${slap-configuration:ipv6-random}
SLAPOS_TEST_WORKING_DIR = ${directory:working-dir} SLAPOS_TEST_WORKING_DIR = ${directory:test-working-dir}
[slapos-test-runner-nxdtest-environment.sh]
recipe = slapos.recipe.template:jinja2
rendered = ${directory:etc}/${:_buildout_section_name_}
template = inline:
export PATH=${slapos-test-runner-environment:PATH}
export SLAPOS_TEST_IPV4=${slapos-test-runner-environment:SLAPOS_TEST_IPV4}
export SLAPOS_TEST_IPV6=${slapos-test-runner-environment:SLAPOS_TEST_IPV6}
export SLAPOS_TEST_WORKING_DIR=${slapos-test-runner-environment:SLAPOS_TEST_WORKING_DIR}
[slapos-test-runner-dot-nxdtest]
recipe = slapos.recipe.template:jinja2
rendered = ${:workdir}/.nxdtest
workdir = ${directory:nxdtest-working-dir}
template = inline:
{% for test in tests.splitlines() %}
# TODO: switch to python -m unittest
# TODO: wrong summary ?
# XXX debug: {{ test }}
TestCase( """{{ test.split()[0] }}""", ["""{{ interpreter }}""", 'setup.py', 'test'], cwd="""{{ test.split()[1] }}""", summaryf=PyTest.summary)
{% endfor %}
[runTestSuite]
env.sh = ${slapos-test-runner-nxdtest-environment.sh:rendered}
workdir = ${slapos-test-runner-dot-nxdtest:workdir}
# TODO: update
[slapos-local-development-environment.sh] [slapos-local-development-environment.sh]
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
rendered = ${directory:etc}/${:_buildout_section_name_} rendered = ${directory:etc}/${:_buildout_section_name_}
......
...@@ -13,6 +13,7 @@ extends = ...@@ -13,6 +13,7 @@ extends =
../../component/python-backports-lzma/buildout.cfg ../../component/python-backports-lzma/buildout.cfg
../../stack/slapos.cfg ../../stack/slapos.cfg
../../stack/nxdtest.cfg
./buildout.hash.cfg ./buildout.hash.cfg
...@@ -203,15 +204,13 @@ eggs = ...@@ -203,15 +204,13 @@ eggs =
${slapos.test.dream-setup:egg} ${slapos.test.dream-setup:egg}
${slapos.test.metabase-setup:egg} ${slapos.test.metabase-setup:egg}
${slapos.test.repman-setup:egg} ${slapos.test.repman-setup:egg}
entry-points =
runTestSuite=erp5.util.testsuite:runTestSuite
scripts = scripts =
runTestSuite
slapos slapos
supervisorctl supervisorctl
supervisord supervisord
interpreter= interpreter =
python_for_test python
# patches for eggs # patches for eggs
patch-binary = ${patch:location}/bin/patch patch-binary = ${patch:location}/bin/patch
...@@ -237,6 +236,7 @@ mode = 640 ...@@ -237,6 +236,7 @@ mode = 640
context = context =
section buildout buildout section buildout buildout
import os os import os os
key nxdtest_instance nxdtest-instance.cfg:rendered
key git_location git:location key git_location git:location
key slapos_location slapos-repository:location key slapos_location slapos-repository:location
key interpreter eggs:interpreter key interpreter eggs:interpreter
...@@ -244,33 +244,41 @@ context = ...@@ -244,33 +244,41 @@ context =
key openssl_location openssl-output:bin key openssl_location openssl-output:bin
key faketime_location faketime:location key faketime_location faketime:location
key tests :tests key tests :tests
tests = tests =
${slapos.test.kvm-setup:setup} kvm ${slapos.test.kvm-setup:setup}
${slapos.test.slaprunner-setup:setup} slaprunner ${slapos.test.slaprunner-setup:setup}
${slapos.test.metabase-setup:setup} metabase ${slapos.test.metabase-setup:setup}
${:extra} ${:extra}
extra = extra =
${slapos.cookbook-setup:setup} slapos-cookbook ${slapos.cookbook-setup:setup}
${slapos.test.backupserver-setup:setup} backupserver ${slapos.test.backupserver-setup:setup}
${slapos.test.caddy-frontend-setup:setup} caddy-frontend ${slapos.test.caddy-frontend-setup:setup}
${slapos.test.erp5-setup:setup} erp5 ${slapos.test.erp5-setup:setup}
${slapos.test.htmlvalidatorserver-setup:setup} htmlvalidatorserver ${slapos.test.htmlvalidatorserver-setup:setup}
${slapos.test.slapos-master-setup:setup} slapos ${slapos.test.slapos-master-setup:setup}
${slapos.test.plantuml-setup:setup} plantuml ${slapos.test.plantuml-setup:setup}
${slapos.test.proftpd-setup:setup} proftpd ${slapos.test.proftpd-setup:setup}
${slapos.test.re6stnet-setup:setup} re6stnet ${slapos.test.re6stnet-setup:setup}
${slapos.test.seleniumserver-setup:setup} seleniumserver ${slapos.test.seleniumserver-setup:setup}
${slapos.test.helloworld-setup:setup} helloworld ${slapos.test.helloworld-setup:setup}
${slapos.test.jstestnode-setup:setup} jstestnode ${slapos.test.jstestnode-setup:setup}
${slapos.test.jupyter-setup:setup} jupyter ${slapos.test.jupyter-setup:setup}
${slapos.test.nextcloud-setup:setup} nextcloud ${slapos.test.nextcloud-setup:setup}
${slapos.test.turnserver-setup:setup} turnserver ${slapos.test.turnserver-setup:setup}
${slapos.test.theia-setup:setup} theia ${slapos.test.theia-setup:setup}
${slapos.test.grafana-setup:setup} grafana ${slapos.test.grafana-setup:setup}
${slapos.test.gitlab-setup:setup} gitlab ${slapos.test.gitlab-setup:setup}
${slapos.test.cloudooo-setup:setup} cloudooo ${slapos.test.cloudooo-setup:setup}
${slapos.test.dream-setup:setup} dream ${slapos.test.dream-setup:setup}
${slapos.test.repman-setup:setup} repman ${slapos.test.repman-setup:setup}
# WIP: run only a few tests
tests =
slapos-cookbook ${slapos.cookbook-setup:setup}
htmlvalidatorserver ${slapos.test.htmlvalidatorserver-setup:setup}
helloworld ${slapos.test.helloworld-setup:setup}
proftpd ${slapos.test.proftpd-setup:setup}
[versions] [versions]
# slapos.core is used from the clone always # slapos.core is used from the clone always
......
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