package
0.0.0-20230226003218-1dd1f65bfa42
Repository: https://github.com/c4-project/c4t.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# Functions

InputFromFile tries to divine what sort of lifting input fpath contains.
LiftLitmusInput is shorthand for creating a LiftInput over the litmus test l.
ResolveAndInstantiate uses a Resolver to resolve spec's class ID, then uses spec to instantiate the class.

# Constants

CanLiftLitmus states that the backend can consume LiftLitmus sources.
CanProduceExe states that the backend's recipes can produce ToExeRecipe targets.
CanProduceObj states that the backend's recipes can ToObjRecipe targets.
CanRunStandalone states that the backend can produce ToStandalone targets.
LiftLitmus states that the backend takes Litmus tests.
LiftUnknown states that the lifting source is unknown.
ToDefault states that the lifting backend should perform its default lifting.
ToExeRecipe states that the backend should produce a recipe that emits a compilable executable.
ToObjRecipe states that the backend should produce a recipe that emits one or more object files.
ToStandalone states that the backend should run in a standalone manner in the running phase, without compilation.

# Variables

ErrBadSource occurs when the input of a LiftJob has a source set to an unknown value.
ErrBadTarget occurs when the output of a LiftJob has a target set to an unknown value.
ErrInLitmusBlank occurs when the input file of a lifter job is checked and found to be blank.
ErrNoMatch occurs when we can't find a backend that matches the given criteria.
ErrNotSupported is the error that backends should return if we try to do something they don't support.
ErrOutDirBlank occurs when the output directory of a lifter job is checked and found to be blank.
ErrUnsupportedFile occurs when we try to determine a LiftInput from a file that can't supply one.

# Structs

Criteria contains the criteria for which a backend should be found.
LiftInput is a specification of the input of a lifting operation.
LiftJob is a specification of how to lift a test into a compilable recipe.
LiftOutput is a specification of the output of a lifting operation.
Metadata contains metadata for a backend archetype.
NamedSpec wraps a Spec with its ID.
RunJob is the type of jobs being sent to a backend for running.
Spec tells the tester how to run a backend.

# Interfaces

Backend contains the various interfaces that a backend can implement.
Class contains information about a style of backend.
Finder is the interface of things that can find backends for machines.
ObsParser is the interface of things that can parse test outcomes.
Prober is the interface of types that support backend probing.
Resolver is the interface of things that can resolve backends.
Runner is the interface that backends must implement to slot into the machine node runner.
SingleLifter is an interface capturing the ability to lift single jobs into recipes.

# Type aliases

Capability is the enumeration of things that a backend claims to be able to do.
Source is the enumeration of possible input types to a lift job.
Target is the enumeration of targets of a backend.