diff --git a/slapos/recipe/erp5.recipe.testnode/setup.py b/slapos/recipe/erp5.recipe.testnode/setup.py index 6b63ddd6320bf527bc40b3da4b1a027413c9e0fb..6ee62d8b8e521fa9de8a657e32d13e103aa11516 100644 --- a/slapos/recipe/erp5.recipe.testnode/setup.py +++ b/slapos/recipe/erp5.recipe.testnode/setup.py @@ -1,7 +1,7 @@ from setuptools import setup, find_packages name = "erp5.recipe.testnode" -version = '1.0.23' +version = '1.0.24' def read(name): return open(name).read() diff --git a/slapos/recipe/erp5.recipe.testnode/src/erp5/recipe/testnode/testnode.py b/slapos/recipe/erp5.recipe.testnode/src/erp5/recipe/testnode/testnode.py index 4591c92715190ca4f65d1993a57da470d78d4d28..932c683e2fb2c73c055c7367de28c11d751a03eb 100644 --- a/slapos/recipe/erp5.recipe.testnode/src/erp5/recipe/testnode/testnode.py +++ b/slapos/recipe/erp5.recipe.testnode/src/erp5/recipe/testnode/testnode.py @@ -198,12 +198,19 @@ repository = %(repository_path)s run_test_suite_revision = revision if isinstance(revision, tuple): revision = ','.join(revision) - run_test_suite = subprocess.Popen([run_test_suite_path, - '--test_suite', config['test_suite_name'], - '--revision', revision, - '--node_quantity', config['node_quantity'], - '--master_url', config['test_suite_master_url'], - ], ) + # Deal with Shebang size limitation + file_object = open(run_test_suite_path, 'r') + line = file_object.readline() + file_object.close() + invocation_list = [] + if line[:2] == '#!': + invocation_list = line[2:].split() + invocation_list.extend([run_test_suite_path, + '--test_suite', config['test_suite_name'], + '--revision', revision, + '--node_quantity', config['node_quantity'], + '--master_url', config['test_suite_master_url']]) + run_test_suite = subprocess.Popen(invocation_list) process_group_pid_set.add(run_test_suite.pid) run_test_suite.wait() process_group_pid_set.remove(run_test_suite.pid)