Commit 11d1d33f authored by Alain Takoudjou's avatar Alain Takoudjou

runTestSuite should be able to pick test files in portal_components folder

All tests in SlapOS bt5 have been migrated in portal_components, The commit
rewrite the method getTestList to allow to search tests script in portal_components folder.
Tests in product/Vifib/tests are broken and was not ran at all. So we remove them from the list.
parent 6301b8ed
from test_suite import SavedTestSuite, ProjectTestSuite
from glob import glob
import os, re
import sys
slapos_bt_list = [
'erp5_web_shacache',
......@@ -20,6 +23,38 @@ class SlapOSCloud(SavedTestSuite, ProjectTestSuite):
_product_list = ['SlapOS']
_saved_test_id = 'Products.SlapOS.tests.testSlapOSMixin.testSlapOSMixin'
_bt_list = slapos_bt_list
def getTestList(self):
test_list = []
path = sys.path[0]
erp5_path = sys.path[1]
component_re = re.compile(".*/([^/]+)/TestTemplateItem/portal_components"
"/test\.[^.]+\.([^.]+).py$")
for test_path in (
glob('%s/product/*/tests/test*.py' % path) +
glob('%s/bt5/*/TestTemplateItem/test*.py' % path) +
glob('%s/bt5/*/TestTemplateItem/portal_components/test.*.test*.py' % path) +
glob('%s/bt5/*/TestTemplateItem/test*.py' % erp5_path) +
glob('%s/bt5/*/TestTemplateItem/portal_components/test.*.test*.py' % erp5_path)):
component_re_match = component_re.match(test_path)
if component_re_match is not None:
test_case = "%s:%s" % (component_re_match.group(1),
component_re_match.group(2))
else:
test_case = test_path.split(os.sep)[-1][:-3] # remove .py
# Filter bt tests to run from _bt_list list
if test_path.split(os.sep)[-2] != 'tests':
if test_path.split(os.sep)[-2] == 'portal_components':
product = test_path.split(os.sep)[-4]
else:
product = test_path.split(os.sep)[-3]
if not product in self._bt_list:
continue
elif test_path.split(os.sep)[-3] == 'Vifib':
# There is no valid tests in Vifib!
continue
test_list.append(test_case)
return test_list
def __init__(self, max_instance_count=1, *args, **kw):
# hardcode number of node, to prevent concurrency issue on certificate
......
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