jobspec#

class Asset(src: pathlib.Path, dst: str | None, action: Literal['copy', 'link', 'none'])#

Bases: object

src: Path#
dst: str | None#
action: Literal['copy', 'link', 'none']#
class BaselineCopyAction(src: pathlib.Path, dst: str)#

Bases: object

src: Path#
dst: str#
kind: Literal['copy']#
class BaselineScriptAction(script: list[str] = <factory>)#

Bases: object

script: list[str]#
kind: Literal['script']#
class Artifact(pattern: str, when: Literal['always', 'never', 'on_failure', 'on_success'] = 'always')#

Bases: object

pattern: str#
when: Literal['always', 'never', 'on_failure', 'on_success'] = 'always'#
active(status: Status) bool#
class Mask(value: bool, reason: str | None = None)#

Bases: object

value: bool#
reason: str | None = None#
classmethod masked(reason: str) Mask#
classmethod unmasked() Mask#
class SpecDependency(spec: 'JobSpec', when: str = 'on_success')#

Bases: object

spec: JobSpec#
when: str#
class JobSpec(file_root: pathlib.Path, file_path: pathlib.Path, id: str = '', family: str = '', stdout: str = 'canary-out.txt', stderr: str | None = None, dependencies: MutableSequence[_canary.jobspec.SpecDependency] = <factory>, parameters: dict[str, typing.Any]=<factory>, attributes: dict[str, typing.Any]=<factory>, keywords: list[str] = <factory>, assets: list[_canary.jobspec.Asset] = <factory>, baseline: list[_canary.jobspec.BaselineCopyAction | _canary.jobspec.BaselineScriptAction] = <factory>, artifacts: list[_canary.jobspec.Artifact] = <factory>, exclusive: bool = False, timeout: float = -1.0, xstatus: int = 0, preload: str | None = None, modules: list[str] | None = None, rcfiles: list[str] | None = None, owners: list[str] | None = None, environment: dict[str, str | None]=<factory>, meta_parameters: dict[str, typing.Any]=<factory>, command: list[str] = <factory>, mask: _canary.jobspec.Mask = <factory>, exec_path: pathlib.Path = PosixPath('\x00'), view_path: pathlib.Path = PosixPath('\x00'))#

Bases: object

file_root: Path#
file_path: Path#
id: str = ''#
family: str = ''#
stdout: str = 'canary-out.txt'#
stderr: str | None = None#
dependencies: MutableSequence[SpecDependency]#
parameters: dict[str, Any]#
attributes: dict[str, Any]#
keywords: list[str]#
assets: list[Asset]#
baseline: list[BaselineCopyAction | BaselineScriptAction]#
artifacts: list[Artifact]#
exclusive: bool = False#
timeout: float = -1.0#
xstatus: int = 0#
preload: str | None = None#
modules: list[str] | None = None#
rcfiles: list[str] | None = None#
owners: list[str] | None = None#
environment: dict[str, str | None]#
meta_parameters: dict[str, Any]#
command: list[str]#
mask: Mask#
exec_path: Path = PosixPath('\x00')#
view_path: Path = PosixPath('\x00')#
add_artifact(pattern: str, when: Literal['always', 'never', 'on_failure', 'on_success'] = 'always') None#
property file: Path#

Path to the test specification file

property mtime: float#
property name: str#
property fullname: str#
display_name(style: Literal['none', 'rich', 'legacy-color'] = 'none', resolve: bool = False) str#
s_params(sep: str = ',') str | None#
property implicit_keywords: set[str]#

Implicit keywords, used for some filtering operations

set_attribute(name: str, value: Any) None#
set_attributes(**kwds: Any) None#
matches(arg: str, *, fuzzy: bool = False) bool#
build_spec_id(*args: Any, **kwargs: Any) str#
default_timeout(keywords: list[str]) float#