futhark-0.25.22: An optimising compiler for a functional, array-oriented language.
Safe HaskellSafe-Inferred
LanguageGHC2021

Futhark.Test.Spec

Description

Definition and parsing of a test specification.

Synopsis

Documentation

testSpecFromProgram :: FilePath -> IO (Either String ProgramTest) Source #

Read the test specification from the given Futhark program.

testSpecFromProgramOrDie :: FilePath -> IO ProgramTest Source #

Like testSpecFromProgram, but exits the process on error.

testSpecsFromPaths :: [FilePath] -> IO (Either String [(FilePath, ProgramTest)]) Source #

Read test specifications from the given paths, which can be a files or directories containing .fut files and further directories.

testSpecsFromPathsOrDie :: [FilePath] -> IO [(FilePath, ProgramTest)] Source #

Like testSpecsFromPaths, but kills the process on errors.

testSpecFromFile :: FilePath -> IO (Either String ProgramTest) Source #

Read a test specification from a file. Expects only a single block, and no comment prefixes.

testSpecFromFileOrDie :: FilePath -> IO ProgramTest Source #

Like testSpecFromFile, but kills the process on errors.

data ProgramTest Source #

Description of a test to be carried out on a Futhark program. The Futhark program is stored separately.

Instances

Instances details
Show ProgramTest Source # 
Instance details

Defined in Futhark.Test.Spec

data StructureTest Source #

A structure test specifies a compilation pipeline, as well as metrics for the program coming out the other end.

Instances

Instances details
Show StructureTest Source # 
Instance details

Defined in Futhark.Test.Spec

data StructurePipeline Source #

How a program can be transformed.

Instances

Instances details
Show StructurePipeline Source # 
Instance details

Defined in Futhark.Test.Spec

data WarningTest Source #

A warning test requires that a warning matching the regular expression is produced. The program must also compile succesfully.

Constructors

ExpectedWarning Text Regex 

Instances

Instances details
Show WarningTest Source # 
Instance details

Defined in Futhark.Test.Spec

data TestAction Source #

How to test a program.

Instances

Instances details
Show TestAction Source # 
Instance details

Defined in Futhark.Test.Spec

data ExpectedError Source #

The error expected for a negative test.

Constructors

AnyError 
ThisError Text Regex 

Instances

Instances details
Show ExpectedError Source # 
Instance details

Defined in Futhark.Test.Spec

data InputOutputs Source #

Input and output pairs for some entry point(s).

Constructors

InputOutputs 

Instances

Instances details
Show InputOutputs Source # 
Instance details

Defined in Futhark.Test.Spec

data TestRun Source #

A condition for execution, input, and expected result.

Instances

Instances details
Show TestRun Source # 
Instance details

Defined in Futhark.Test.Spec

data ExpectedResult values Source #

How a test case is expected to terminate.

Constructors

Succeeds (Maybe values)

Execution suceeds, with or without expected result values.

RunTimeFailure ExpectedError

Execution fails with this error.

Instances

Instances details
Show values => Show (ExpectedResult values) Source # 
Instance details

Defined in Futhark.Test.Spec

Methods

showsPrec :: Int -> ExpectedResult values -> ShowS #

show :: ExpectedResult values -> String #

showList :: [ExpectedResult values] -> ShowS #

data Success Source #

The result expected from a succesful execution.

Constructors

SuccessValues Values

These values are expected.

SuccessGenerateValues

Compute expected values from executing a known-good reference implementation.

Instances

Instances details
Show Success Source # 
Instance details

Defined in Futhark.Test.Spec

data Values Source #

Several values - either literally, or by reference to a file, or to be generated on demand. All paths are relative to test program.

Instances

Instances details
Show Values Source # 
Instance details

Defined in Futhark.Test.Spec

data GenValue Source #

How to generate a single random value.

Constructors

GenValue ValueType

Generate a value of the given rank and primitive type. Scalars are considered 0-ary arrays.

GenPrim Value

A fixed non-randomised primitive value.

Instances

Instances details
Show GenValue Source # 
Instance details

Defined in Futhark.Test.Spec

genValueType :: GenValue -> Text Source #

A prettyprinted representation of type of value produced by a GenValue.