mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-21 15:12:02 +00:00
Merge pull request #25459 from ClickHouse/add_run_id_option
Add run-id option to integration tests
This commit is contained in:
commit
65ce3929b8
@ -377,8 +377,8 @@ class ClickhouseIntegrationTestsRunner:
|
||||
|
||||
test_cmd = ' '.join([test for test in sorted(test_names)])
|
||||
parallel_cmd = " --parallel {} ".format(num_workers) if num_workers > 0 else ""
|
||||
cmd = "cd {}/tests/integration && ./runner --tmpfs {} -t {} {} '-ss -rfEp --color=no --durations=0 {}' | tee {}".format(
|
||||
repo_path, image_cmd, test_cmd, parallel_cmd, _get_deselect_option(self.should_skip_tests()), output_path)
|
||||
cmd = "cd {}/tests/integration && ./runner --tmpfs {} -t {} {} '-ss -rfEp --run-id={} --color=no --durations=0 {}' | tee {}".format(
|
||||
repo_path, image_cmd, test_cmd, parallel_cmd, i, _get_deselect_option(self.should_skip_tests()), output_path)
|
||||
|
||||
with open(log_path, 'w') as log:
|
||||
logging.info("Executing cmd: %s", cmd)
|
||||
|
@ -28,4 +28,10 @@ def cleanup_environment():
|
||||
logging.exception(f"cleanup_environment:{str(e)}")
|
||||
pass
|
||||
|
||||
yield
|
||||
yield
|
||||
|
||||
def pytest_addoption(parser):
|
||||
parser.addoption("--run-id", default="", help="run-id is used as postfix in _instances_{} directory")
|
||||
|
||||
def pytest_configure(config):
|
||||
os.environ['INTEGRATION_TESTS_RUN_ID'] = config.option.run_id
|
||||
|
@ -203,7 +203,14 @@ class ClickHouseCluster:
|
||||
project_name = pwd.getpwuid(os.getuid()).pw_name + p.basename(self.base_dir) + self.name
|
||||
# docker-compose removes everything non-alphanumeric from project names so we do it too.
|
||||
self.project_name = re.sub(r'[^a-z0-9]', '', project_name.lower())
|
||||
self.instances_dir = p.join(self.base_dir, '_instances' + ('' if not self.name else '_' + self.name))
|
||||
instances_dir_name = '_instances'
|
||||
if self.name:
|
||||
instances_dir_name += '_' + self.name
|
||||
|
||||
if 'INTEGRATION_TESTS_RUN_ID' in os.environ:
|
||||
instances_dir_name += '_' + shlex.quote(os.environ['INTEGRATION_TESTS_RUN_ID'])
|
||||
|
||||
self.instances_dir = p.join(self.base_dir, instances_dir_name)
|
||||
self.docker_logs_path = p.join(self.instances_dir, 'docker.log')
|
||||
self.env_file = p.join(self.instances_dir, DEFAULT_ENV_NAME)
|
||||
self.env_variables = {}
|
||||
@ -421,7 +428,15 @@ class ClickHouseCluster:
|
||||
pass
|
||||
|
||||
def get_docker_handle(self, docker_id):
|
||||
return self.docker_client.containers.get(docker_id)
|
||||
exception = None
|
||||
for i in range(5):
|
||||
try:
|
||||
return self.docker_client.containers.get(docker_id)
|
||||
except Exception as ex:
|
||||
print("Got exception getting docker handle", str(ex))
|
||||
time.sleep(i * 2)
|
||||
exception = ex
|
||||
raise exception
|
||||
|
||||
def get_client_cmd(self):
|
||||
cmd = self.client_bin_path
|
||||
|
Loading…
Reference in New Issue
Block a user