Beispiel #1
0
def create_base_client(log_dir=None, log_file=None):
    client_info = default_client_info()
    if log_dir != None:
        client_info["log_dir"] = log_dir
    if log_file != None:
        client_info["log_file"] = log_file
    BaseClient.setup_logger()  # logger on stdout
    return BaseClient.BaseClient(client_info)
Beispiel #2
0
    def testInit(self):
        client = BaseClient(self.application_key, self.server_url)
        self.assertEqual(self.application_key, client.application_key)
        self.assertEqual(self.server_url, client.server_url)

        query_client = QueryClient(self.application_key, self.server_url)
        self.assertEqual(query_client.application_key, client.application_key)
        self.assertEqual(query_client.server_url, client.server_url)
Beispiel #3
0
def commandline_client(args):
    parser = argparse.ArgumentParser()
    parser.add_argument("--url", dest='url', help="The URL of the CIVET site.", required=True)
    parser.add_argument("--build-key", dest='build_key', help="Your build_key", required=True)
    parser.add_argument("--configs",
            dest='configs',
            nargs='+',
            help="The configurations this client supports (eg 'linux-gnu')")
    parser.add_argument("--name", dest='name', help="The name for this particular client. Should be unique.", required=True)
    parser.add_argument("--single-shot",
            dest='single_shot',
            action='store_true',
            help="Execute one test (if there is one) and then exit")
    parser.add_argument("--poll",
            dest='poll',
            type=int,
            default=30,
            help="Number of seconds to wait before polling for more jobs in continuous mode")
    parser.add_argument("--daemon", dest='daemon', choices=['start', 'stop', 'restart'], help="Start a UNIX daemon.")
    parser.add_argument("--log-dir",
            dest='log_dir',
            default='.',
            help="Where to write the log file.  The log will be written as ci_PID.log")
    parser.add_argument("--log-file", dest='log_file', help="Filename to append the log to")
    parser.add_argument("--insecure", dest='insecure', action='store_false', help="Turns off SSL certificate verification")
    parser.add_argument("--ssl-cert",
            dest='ssl_cert',
            help="An crt file to be used when doing SSL certificate verification. This will override --insecure.")
    parser.add_argument("--env",
            dest='env',
            nargs=2,
            action='append',
            help="Sets a client environment variable (example: VAR_NAME VALUE)")
    #parsed, unknown = parser.parse_known_args(args)
    parsed = parser.parse_args(args)

    client_info = {"url": parsed.url,
        "client_name": parsed.name,
        "server": parsed.url,
        "servers": [parsed.url],
        "ssl_verify": parsed.insecure,
        "ssl_cert": parsed.ssl_cert,
        "log_file": parsed.log_file,
        "log_dir": parsed.log_dir,
        "build_key": parsed.build_key,
        "single_shot": parsed.single_shot,
        "poll": parsed.poll,
        "daemon_cmd": parsed.daemon,
        "request_timeout": 30,
        "update_step_time": 20,
        "server_update_interval": 20,
        "server_update_timeout": 5,
        "max_output_size": 5*1024*1024
        }

    c = BaseClient.BaseClient(client_info)

    if parsed.daemon == 'start' or parsed.daemon == 'restart' or platform.system() == "Windows":
        if not parsed.configs:
            raise BaseClient.ClientException('--configs must be provided')

        for config in parsed.configs:
            c.add_config(config)

        if parsed.env:
            for var, value in parsed.env:
                c.set_environment(var, value)

        # Add the BUILD_ROOT to the client environment if it exists in the global environment
        # This is to preserve old behavior for folks that are setting the variable before running the client
        if (not parsed.env or 'BUILD_ROOT' not in parsed.env) and 'BUILD_ROOT' in os.environ:
            c.set_environment('BUILD_ROOT', os.environ.get('BUILD_ROOT'))

    return c, parsed.daemon
Beispiel #4
0
def commandline_client(args):
    parser = argparse.ArgumentParser()
    parser.add_argument("--url",
                        dest='url',
                        help="The URL of the CIVET site.",
                        required=True)
    parser.add_argument("--build-key",
                        dest='build_key',
                        help="Your build_key",
                        required=True)
    parser.add_argument(
        "--configs",
        dest='configs',
        nargs='+',
        help="The configurations this client supports (eg 'linux-gnu')",
        required=True)
    parser.add_argument(
        "--name",
        dest='name',
        help="The name for this particular client. Should be unique.",
        required=True)
    parser.add_argument(
        "--single-shot",
        dest='single_shot',
        action='store_true',
        help="Execute one test (if there is one) and then exit")
    parser.add_argument(
        "--poll",
        dest='poll',
        type=int,
        default=30,
        help=
        "Number of seconds to wait before polling for more jobs in continuous mode"
    )
    parser.add_argument("--daemon",
                        dest='daemon',
                        choices=['start', 'stop', 'restart'],
                        help="Start a UNIX daemon.")
    parser.add_argument(
        "--log-dir",
        dest='log_dir',
        default='.',
        help=
        "Where to write the log file.  The log will be written as ci_PID.log")
    parser.add_argument("--log-file",
                        dest='log_file',
                        help="Filename to append the log to")
    parser.add_argument("--insecure",
                        dest='insecure',
                        action='store_false',
                        help="Turns off SSL certificate verification")
    parser.add_argument(
        "--ssl-cert",
        dest='ssl_cert',
        help=
        "An crt file to be used when doing SSL certificate verification. This will override --insecure."
    )
    #parsed, unknown = parser.parse_known_args(args)
    parsed = parser.parse_args(args)

    client_info = {
        "url": parsed.url,
        "client_name": parsed.name,
        "server": parsed.url,
        "servers": [parsed.url],
        "build_configs": parsed.configs,
        "ssl_verify": parsed.insecure,
        "ssl_cert": parsed.ssl_cert,
        "log_file": parsed.log_file,
        "log_dir": parsed.log_dir,
        "build_key": parsed.build_key,
        "single_shot": parsed.single_shot,
        "poll": parsed.poll,
        "daemon_cmd": parsed.daemon,
        "request_timeout": 30,
        "update_step_time": 20,
        "server_update_interval": 20,
        "server_update_timeout": 5,
        "max_output_size": 5 * 1024 * 1024,
    }
    return BaseClient.BaseClient(client_info), parsed.daemon
Beispiel #5
0
def client():
    return BaseClient('http://127.0.0.1')