Commit f5784f81 authored by Boxiang Sun's avatar Boxiang Sun

Adjust the cython_test sr for multicore testing

parent ec4ee59a
...@@ -19,4 +19,4 @@ md5sum = 21e0f69f6d89f60d5a00acf8e059dffa ...@@ -19,4 +19,4 @@ md5sum = 21e0f69f6d89f60d5a00acf8e059dffa
[template-runTestSuite] [template-runTestSuite]
filename = runTestSuite.in filename = runTestSuite.in
md5sum = 7d93038e1c7ed3944acc016530a1b738 md5sum = ce3f257965a8e52b585eca5bb974064b
...@@ -8,6 +8,8 @@ import argparse, os, re, shutil, subprocess, sys, traceback ...@@ -8,6 +8,8 @@ import argparse, os, re, shutil, subprocess, sys, traceback
from erp5.util import taskdistribution from erp5.util import taskdistribution
from time import gmtime, strftime from time import gmtime, strftime
from subprocess import check_output from subprocess import check_output
import importlib
import datetime
def main(): def main():
parser = argparse.ArgumentParser(description='Run a test suite.') parser = argparse.ArgumentParser(description='Run a test suite.')
...@@ -39,29 +41,46 @@ def main(): ...@@ -39,29 +41,46 @@ def main():
########################## ##########################
# Run all tests # Run all tests
########################## ##########################
# run 'python3 test.py build_ext --inplace' path_var = os.pathsep.join([os.environ.get('PATH', os.defpath), '${python3.5:location}/bin/python3/bin/'])
# run 'python3 -c 'import test'' env = dict(os.environ, PATH=path_var)
# passed if we get 'done'
# ${python3.5:location}/bin/python3 test_list = ['basic_test', 'lwan_coro_test']
result_string = check_output(['${python3.5:location}/bin/python3 -c "import test"'],
shell=True, failed = 0
cwd='${cython_nogil:location}', result_string = None
env={'CI': 'true'}) duration = 0
# result_dict = json.loads(result_string) test_line_dict = {}
result_failed = 0 if '2.732' in result_string else 1 for test_name in test_list:
# for result in result_dict['tests']: failed = 0
test_line_dict['%s: %s' % ('Cython test', 'nogil extension initialization')] = { result_string = None
'test_count': 1, duration = 0
'error_count': 0,
'failure_count': result_failed, try:
'skip_count': 0, sys.path.append('${cython_nogil:location}/nogil_test/')
'duration': 0, test_module = importlib.import_module(test_name)
'command': '', except ImportError as e:
'stdout': '', failed = 1
'stderr': '', stdout = str(e)
'html_test_result': '' else:
} start_time = datetime.datetime.now()
result_string = test_module.run(env, '${python3.5:location}/bin/python3')
end_time = datetime.datetime.now()
duration = (end_time - start_time).total_seconds()
failed = result_string['failed']
stdout = result_string['stdout']
test_line_dict['%s: %s' % ('Cython test', test_name)] = {
'test_count': 1,
'error_count': 0,
'failure_count': failed,
'skip_count': 0,
'duration': duration,
'command': '',
'stdout': stdout,
'stderr': '',
'html_test_result': '',
}
# Send results # Send results
tool = taskdistribution.TaskDistributor(portal_url=args.master_url) tool = taskdistribution.TaskDistributor(portal_url=args.master_url)
...@@ -80,8 +99,7 @@ def main(): ...@@ -80,8 +99,7 @@ def main():
break break
print 'Submitting: "%s"' % test_result_line.name print 'Submitting: "%s"' % test_result_line.name
print test_line_dict['Cython test: nogil extension initialization'] print test_line_dict
print result_string
# report status back to Nexedi ERP5 # report status back to Nexedi ERP5
test_result_line.stop(**test_line_dict[test_result_line.name]) test_result_line.stop(**test_line_dict[test_result_line.name])
......
...@@ -3,6 +3,7 @@ extends = ...@@ -3,6 +3,7 @@ extends =
../../stack/slapos.cfg ../../stack/slapos.cfg
../../component/git/buildout.cfg ../../component/git/buildout.cfg
../../component/cython_nogil/buildout.cfg ../../component/cython_nogil/buildout.cfg
../../component/cython_lwan_coro/buildout.cfg
./buildout.hash.cfg ./buildout.hash.cfg
...@@ -11,6 +12,7 @@ parts = ...@@ -11,6 +12,7 @@ parts =
git git
instance instance
cython_nogil cython_nogil
cython_lwan_coro
template-runTestSuite template-runTestSuite
[eggs] [eggs]
......
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