def execute(self):
    self.print_title()
    try:
        self.log_info('Configure the docker compose file for this environment')
        self.modifying_docker_compose_file()
        starting_time = time.time()
        return_code_int = self.run_integration_tests(starting_time, 0)
        if (return_code_int != 0):
            self.log_info('Trying to run the tests a second time')
            return_code_int = self.run_integration_tests(starting_time, return_code_int, False, True)
        if (return_code_int != 0):
            self.log_info('Trying to run the tests a third time')
            return_code_int = self.run_integration_tests(starting_time, return_code_int)
        if (return_code_int != 0):
            raise Exception('Integration tests have failed', return_code_int)
    except:
        self.log_error('Failed to successfully run all integration tests')
        return False
    self.log_info('Done.')
    return True
def execute(self):
    self.print_title()
    try:
        self.log_info('Configure the docker compose file for this environment')
        self.modifying_docker_compose_file()
        starting_time = time.time()
        return_code_int = self.run_integration_tests(starting_time, 0)
        if (return_code_int != 0):
            self.log_info('Trying to run the tests a second time')
            return_code_int = self.run_integration_tests(starting_time, return_code_int, False, True)
        if (return_code_int != 0):
            self.log_info('Trying to run the tests a third time')
            return_code_int = self.run_integration_tests(starting_time, return_code_int)
        if (return_code_int != 0):
            raise Exception('Integration tests have failed', return_code_int)
    except:
        self.log_error('Failed to successfully run all integration tests')
        return False
    self.log_info('Done.')
    return True