:py:mod:`buildtest.executors.base` ================================== .. py:module:: buildtest.executors.base .. autoapi-nested-parse:: BuildExecutor: manager for test executors Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: buildtest.executors.base.BaseExecutor .. py:class:: BaseExecutor(name, settings, site_configs, timeout=None, account=None, maxpendtime=None) The BaseExecutor is an abstract base class for all executors. Initiate a base executor, meaning we provide a name (also held by the BuildExecutor base that holds it) and the loaded dictionary of config opts to parse. :param name: name of executor :type name: str :param setting: setting for a given executor defined in configuration file :type setting: dict :param site_configs: Instance of SiteConfiguration class :type site_configs: buildtest.config.SiteConfiguration :param timeout: Test timeout in number of seconds :type timeout: str, optional :param maxpendtime: Maximum Pending Time until job is cancelled. The default is 1 day (86400s) :type maxpendtime: int, optional :param account: Account to use for job submission :type account: str, optional :param maxpendtime: Maximum Pending Time until job is cancelled. The default is 1 day (86400s) :type maxpendtime: int, optional .. py:attribute:: type :value: 'base' .. py:attribute:: default_maxpendtime :value: 86400 .. py:method:: add_builder(builder) Add builder object to ``self.builders`` only if its of type BuilderBase .. py:method:: get_builder() Return a list of builders .. py:method:: load() Load a particular configuration based on the name. This method should set defaults for the executor, and will vary based on the class. .. py:method:: run() :abstractmethod: The run step basically runs the build. This is run after setup so we are sure that the builder is defined. This is also where we set the result to return. .. py:method:: poll(builder) .. py:method:: gather(builder) Gather Job detail after completion of job by invoking the builder method ``builder.job.gather()``. We retrieve exit code, output file, error file and update builder metadata. :param builder: An instance object of BuilderBase type :type builder: buildtest.buildsystem.base.BuilderBase .. py:method:: _cancel_job_if_elapsedtime_exceeds_timeout(builder) .. py:method:: _cancel_job_if_pendtime_exceeds_maxpendtime(builder) .. py:method:: __str__() Return str(self). .. py:method:: __repr__() Return repr(self).