Beispiel #1
0
 def get_options(cls):
     return {
         'name':
         str,
         ConfigOption('description', default=None):
         str,
         ConfigOption('test_filter', default=filtering.Filter()):
         filtering.BaseFilter,
         ConfigOption('test_sorter', default=ordering.NoopSorter()):
         ordering.BaseSorter,
         ConfigOption('stdout_style', default=defaults.STDOUT_STYLE):
         test_styles.Style,
         ConfigOption('tags', default=None):
         Or(None, Use(tagging.validate_tag_value))
     }
Beispiel #2
0
 def get_options(cls):
     """Runnable specific config options."""
     return {
         # Interactive needs to have blocked propagation.
         # IHandlers explicitly enable interactive mode of runnables.
         ConfigOption('interactive_port', default=None):
         Or(None, int),
         ConfigOption('interactive_block',
                      default=hasattr(sys.modules['__main__'], '__file__')):
         bool,
         ConfigOption('interactive_handler', default=RunnableIHandler):
         object,
         ConfigOption('interactive_runner', default=RunnableIRunner):
         object
     }
Beispiel #3
0
 def get_options(cls):
     return {
         ConfigOption('xml_dir',
                      default=defaults.XML_DIR,
                      block_propagation=False):
         str
     }
Beispiel #4
0
 def get_options(cls):
     """
     Schema for options validation and assignment of default values.
     """
     return {
         "host":
         Or(str, lambda x: is_context(x)),
         ConfigOption("port", default=None):
         Or(None, Use(int), lambda x: is_context(x)),
         ConfigOption("protocol", default="http"):
         str,
         ConfigOption("timeout", default=5):
         Use(int),
         ConfigOption("interval", default=0.01):
         Use(float),
     }
Beispiel #5
0
 def get_options(cls):
     return {
         ConfigOption('json_path',
                      default=defaults.JSON_PATH,
                      block_propagation=False):
         str
     }
Beispiel #6
0
 def get_options(cls):
     return {
         ConfigOption('pdf_path',
                      default=defaults.PDF_PATH,
                      block_propagation=False):
         str
     }
Beispiel #7
0
 def get_options(cls):
     """
     Schema for options validation and assignment of default values.
     """
     return {
         ConfigOption("host", default="127.0.0.1"):
         str,
         ConfigOption("port", default=0):
         int,
         ConfigOption("abort_signals",
                      default=[signal.SIGINT, signal.SIGTERM]): [int],
         ConfigOption("worker_type", default=ProcessWorker):
         object,
         ConfigOption("worker_heartbeat", default=5):
         Or(int, float, None),
     }
Beispiel #8
0
 def get_options(cls):
     """
     Schema for options validation and assignment of default values.
     """
     return {
         ConfigOption('transport', default=ProcessTransport): object,
     }
Beispiel #9
0
 def get_options(cls):
     return {
         ConfigOption('report_dir',
                      default=defaults.REPORT_DIR,
                      block_propagation=False):
         str
     }
Beispiel #10
0
 def configuration_schema(self):
     overrides = Schema(
         get_pdf_opts(
             {ConfigOption('report_dir', default=defaults.REPORT_DIR):
              str}))
     return self.inherit_schema(overrides,
                                super(TagFilteredPDFExporterConfig, self))
Beispiel #11
0
 def get_options(cls):
     """
     Schema for options validation and assignment of default values.
     """
     return {
         ConfigOption('abort_signals',
                      default=[signal.SIGINT, signal.SIGTERM]): [int],
         ConfigOption('worker_type', default=ProcessWorker):
         object,
         ConfigOption('host', default='127.0.0.1'):
         str,
         ConfigOption('port', default=0):
         int,
         ConfigOption('worker_heartbeat', default=5):
         Or(int, float, None)
     }
Beispiel #12
0
 def configuration_schema(self):
     overrides = Schema(
         get_pdf_opts({
             ConfigOption('pdf_path', default=defaults.PDF_PATH):
             str,
         }))
     return self.inherit_schema(overrides, super(PDFExporterConfig, self))
Beispiel #13
0
 def get_options(cls):
     """
     Schema for options validation and assignment of default values.
     """
     return {
         "db_name": str,
         ConfigOption("connect_at_start", default=True): bool,
     }
Beispiel #14
0
 def get_options(cls):
     """
     Schema for options validation and assignment of default values.
     """
     return {
         "remote_host": str,
         ConfigOption("ssh_port", default=22): int,
     }
Beispiel #15
0
 def get_options(cls):
     """
     Schema for options validation and assignment of default values.
     """
     return {
         'index': Or(int, str),
         ConfigOption('transport', default=Transport): object,
     }
Beispiel #16
0
 def configuration_schema(self):
     """
     Schema for options validation and assignment of default values.
     """
     overrides = {
         ConfigOption('transport', default=ProcessTransport): object,
     }
     return self.inherit_schema(overrides, super(ProcessWorkerConfig, self))
Beispiel #17
0
 def configuration_schema(self):
     """
     Schema for options validation and assignment of default values.
     """
     overrides = {
         ConfigOption('abort_signals',
                      default=[signal.SIGINT, signal.SIGTERM]): [int],
         ConfigOption('worker_type', default=ProcessWorker):
         object,
         ConfigOption('host', default='127.0.0.1'):
         str,
         ConfigOption('port', default=0):
         int,
         ConfigOption('worker_heartbeat', default=5):
         Or(int, float, None)
     }
     return self.inherit_schema(overrides, super(ProcessPoolConfig, self))
Beispiel #18
0
    def get_options(cls):
        # `gtest_output` is implicitly overridden to generate xml output
        # on the test instance's runpath.

        # `gtest_color` is not supported as we produce Testplan style output via
        # parsed test results.

        # `gtest_catch_exceptions` and `gtest_break_on_failure` are not
        # supported as running GTest with a debugger
        # is not possible within Testplan.

        return {
            ConfigOption("gtest_filter", default=""):
            str,
            ConfigOption("gtest_also_run_disabled_tests", default=False):
            bool,
            # Originally Google Test allows negative values, causing test to
            # be repeated indefinitely, which would always cause a timeout
            # error within Testplan context, so we
            # only allow non-negative values.
            ConfigOption("gtest_repeat", default=1):
            int,
            ConfigOption("gtest_shuffle", default=False):
            bool,
            ConfigOption("gtest_random_seed", default=0):
            int,
            ConfigOption("gtest_stream_result_to", default=""):
            str,
            ConfigOption("gtest_death_test_style", default="fast"):
            Or("fast", "threadsafe"),
        }
Beispiel #19
0
 def configuration_schema(self):
     """
     Schema for options validation and assignment of default values.
     """
     overrides = {
         'index': Or(int, str),
         ConfigOption('transport', default=Transport): object,
     }
     return self.inherit_schema(overrides, super(WorkerConfig, self))
Beispiel #20
0
    def configuration_schema(self):
        """
        Schema for options validation and assignment of default values.
        """

        overrides = {
            'name':
            str,
            ConfigOption('description', default=None):
            str,
            ConfigOption('test_filter', default=filtering.Filter()):
            filtering.BaseFilter,
            ConfigOption('test_sorter', default=ordering.NoopSorter()):
            ordering.BaseSorter,
            ConfigOption('stdout_style', default=defaults.STDOUT_STYLE):
            test_styles.Style
        }
        return self.inherit_schema(overrides, super(TestConfig, self))
Beispiel #21
0
    def configuration_schema(self):
        """
        Schema for options validation and assignment of default values.
        """

        overrides = {
            'driver':
            str,
            ConfigOption('proc_env', default={}):
            dict,
            ConfigOption('proc_cwd', default=None):
            Or(str, None),
            ConfigOption('timeout', default=None):
            Or(float, int, Use(parse_duration)),
            ConfigOption('ignore_exit_codes', default=[]): [int]
        }
        return self.inherit_schema(overrides,
                                   super(ProcessRunnerTestConfig, self))
Beispiel #22
0
 def configuration_schema(self):
     """
     Schema for options validation and assignment of default values.
     """
     overrides = {
         'db_name': str,
         ConfigOption('connect_at_start', default=True): bool
     }
     return self.inherit_schema(overrides, super(Sqlite3Config, self))
Beispiel #23
0
 def get_options(cls):
     """
     Schema for options validation and assignment of default values.
     """
     return {
         "name": str,
         ConfigOption("install_files", default=None): Or(None, list),
         ConfigOption("timeout", default=60): int,
         ConfigOption("logfile", default=None): Or(None, str),
         ConfigOption("log_regexps", default=None): Or(None, list),
         ConfigOption("stdout_regexps", default=None): Or(None, list),
         ConfigOption("stderr_regexps", default=None): Or(None, list),
         ConfigOption("async_start", default=False): bool,
         ConfigOption("report_errors_from_logs", default=False): bool,
         ConfigOption("error_logs_max_lines", default=10): int,
     }
Beispiel #24
0
 def get_options(cls):
     """
     Schema for options validation and assignment of default values.
     """
     return {
         'name': str,
         ConfigOption('install_files', default=None): Or(None, list),
         ConfigOption('timeout', default=5): int,
         ConfigOption('logfile', default=None): Or(None, str),
         ConfigOption('log_regexps', default=None): Or(None, list),
         ConfigOption('stdout_regexps', default=None): Or(None, list),
         ConfigOption('stderr_regexps', default=None): Or(None, list),
         ConfigOption('async_start', default=False): bool,
         ConfigOption('report_errors_from_logs', default=False): bool,
         ConfigOption('error_logs_max_lines', default=10): int
     }
Beispiel #25
0
    def get_options(cls):
        start_stop_signature = Or(
            None, validate_func("env"), validate_func("env", "result")
        )

        return {
            "name": str,  # And(str, lambda s: s.count(' ') == 0),
            ConfigOption("description", default=None): Or(str, None),
            ConfigOption("environment", default=[]): [Resource],
            ConfigOption("before_start", default=None): start_stop_signature,
            ConfigOption("after_start", default=None): start_stop_signature,
            ConfigOption("before_stop", default=None): start_stop_signature,
            ConfigOption("after_stop", default=None): start_stop_signature,
            ConfigOption("test_filter"): filtering.BaseFilter,
            ConfigOption("test_sorter"): ordering.BaseSorter,
            ConfigOption("stdout_style"): test_styles.Style,
            ConfigOption("tags", default=None): Or(
                None, Use(tagging.validate_tag_value)
            ),
        }
Beispiel #26
0
    def configuration_schema(self):
        """
        Schema to validate
        :py:class:`Runnable <testplan.common.entity.base.Runnable>`
        object input configuration options.
        """

        overrides = {
            ConfigOption('interactive', default=False): bool,
        }
        return self.inherit_schema(overrides, super(RunnableConfig, self))
Beispiel #27
0
    def configuration_schema(self):
        """
        Schema for options validation and assignment of default values.
        """
        def iterable_suites(obj):
            """Create an iterable suites object."""
            suites = [obj
                      ] if not isinstance(obj, collections.Iterable) else obj
            for suite in suites:
                set_testsuite_testcases(suite)
            return suites

        overrides = {
            'suites':
            Use(iterable_suites),
            ConfigOption('environment', default=[]): [Resource],
            ConfigOption('before_start', default=None):
            validate_func(['env']),
            ConfigOption('after_start', default=None):
            validate_func(['env']),
            ConfigOption('before_stop', default=None):
            validate_func(['env', 'result']),
            ConfigOption('after_stop', default=None):
            validate_func(['env', 'result']),
            ConfigOption('result', default=Result):
            lambda r: isinstance(r(), Result),
        }
        return self.inherit_schema(overrides, super(MultiTestConfig, self))
Beispiel #28
0
 def get_options(cls):
     return {
         'msgclass': type,
         'codec': object,
         'host': Or(str, lambda x: is_context(x)),
         'port': Or(Use(int), lambda x: is_context(x)),
         'sender': str,
         'target': str,
         ConfigOption('version', default='FIX.4.2'): str,
         ConfigOption('sendersub', default=None): str,
         ConfigOption('interface', default=None): tuple,
         ConfigOption('connect_at_start', default=True): bool,
         ConfigOption('logon_at_start', default=True): bool,
         ConfigOption('custom_logon_tags', default=None): object,
         ConfigOption('receive_timeout', default=30): Or(int, float),
         ConfigOption('logon_timeout', default=10): Or(int, float),
         ConfigOption('logoff_timeout', default=3): Or(int, float)
     }
Beispiel #29
0
 def get_options(cls):
     return {
         "msgclass": type,
         "codec": object,
         "host": Or(str, lambda x: is_context(x)),
         "port": Or(Use(int), lambda x: is_context(x)),
         "sender": str,
         "target": str,
         ConfigOption("version", default="FIX.4.2"): str,
         ConfigOption("sendersub", default=None): str,
         ConfigOption("interface", default=None): tuple,
         ConfigOption("connect_at_start", default=True): bool,
         ConfigOption("logon_at_start", default=True): bool,
         ConfigOption("custom_logon_tags", default=None): object,
         ConfigOption("receive_timeout", default=30): Or(int, float),
         ConfigOption("logon_timeout", default=10): Or(int, float),
         ConfigOption("logoff_timeout", default=3): Or(int, float),
     }
Beispiel #30
0
 def get_options(cls):
     return {
         # 'name': And(str, lambda s: s.count(' ') == 0),
         'name':
         str,
         ConfigOption('description', default=None):
         str,
         ConfigOption('test_filter',
                      default=filtering.Filter(),
                      block_propagation=False):
         filtering.BaseFilter,
         ConfigOption('test_sorter',
                      default=ordering.NoopSorter(),
                      block_propagation=False):
         ordering.BaseSorter,
         ConfigOption('stdout_style',
                      default=defaults.STDOUT_STYLE,
                      block_propagation=False):
         test_styles.Style,
         ConfigOption('tags', default=None):
         Or(None, Use(tagging.validate_tag_value))
     }