lingua-franca 0.10.1
Lingua Franca code generator
Loading...
Searching...
No Matches
org.lflang.tests.runtime.CCppTest Class Reference

Collection of tests for the CCpp target. More...

Inherits org.lflang.tests.TestBase.

Public Member Functions

 CCppTest ()
 This target selects the C target it has no tests defined for it.
void runAsCCpp ()
 Run C tests with the target CCpp.

Static Public Member Functions

static TestLevel pathToLevel (Path path)
 Static function for converting a path to its associated test level.
static void runSingleTestAndPrintResults (LFTest test, Class<? extends TestBase > testClass, TestLevel level)
 Run a test, print results on stderr.
static String stackTraceToString (Throwable t)

Static Public Attributes

static final String THICK_LINE
 Content separator used in test output, 78 characters wide.
static final String THIN_LINE
 Content separator used in test output, 78 characters wide.

Protected Member Functions

void applyDefaultConfiguration (TargetConfig config)
 Adjust target configuration for all runs of this test class.
ProcessBuilder getExecCommand (LFTest test) throws TestError
 Return a preconfigured ProcessBuilder for executing the test program.
GeneratorArguments getGeneratorArguments ()
 Return generator arguments suitable for testing.
final void runTestsAndPrintResults (Target target, Predicate< TestCategory > selected, TestLevel level, Transformer transformer, Configurator configurator, boolean copy)
 Run selected tests for a given target and configurator up to the specified level.
void runTestsFor (List< Target > subset, String description, Predicate< TestCategory > selected, Transformer transformer, Configurator configurator, TestLevel level, boolean copy)
 Run tests in the given selection for a subset of given targets.
void runTestsForTargets (String description, Predicate< TestCategory > selected, Transformer transformer, Configurator configurator, TestLevel level, boolean copy)
 Run tests in the given selection for all targets enabled in this class.
boolean supportsSingleThreadedExecution ()
 Whether to enable threading.

Static Protected Member Functions

static boolean isLinux ()
 Determine whether the current platform is Linux.
static boolean isMac ()
 Determine whether the current platform is MacOS.
static boolean isWindows ()
 Determine whether the current platform is Windows.
static void printTestHeader (Target target, String description)
 Print a header that describes a collection of tests.

Package Attributes

JavaIoFileSystemAccess fileAccess
LFGenerator generator
Provider< ResourceSet > resourceSetProvider
TestRegistry testRegistry
IResourceValidator validator

Detailed Description

Collection of tests for the CCpp target.

NOTE: This test does not inherit any tests because it directly extends TestBase.

Author
Marten Lohstroh

Constructor & Destructor Documentation

◆ CCppTest()

org.lflang.tests.runtime.CCppTest.CCppTest ( )

This target selects the C target it has no tests defined for it.

Instead, it reconfigures existing C tests to adopt the CCpp target.

Member Function Documentation

◆ applyDefaultConfiguration()

void org.lflang.tests.TestBase.applyDefaultConfiguration ( TargetConfig config)
protectedinherited

Adjust target configuration for all runs of this test class.

Reimplemented in org.lflang.tests.runtime.PythonTest, and org.lflang.tests.serialization.SerializationTest.

◆ getExecCommand()

ProcessBuilder org.lflang.tests.TestBase.getExecCommand ( LFTest test) throws TestError
protectedinherited

Return a preconfigured ProcessBuilder for executing the test program.

Parameters
testThe test to get the execution command for.

Reimplemented in org.lflang.tests.runtime.CPatmosTest.

◆ getGeneratorArguments()

GeneratorArguments org.lflang.tests.TestBase.getGeneratorArguments ( )
protectedinherited

Return generator arguments suitable for testing.

◆ isLinux()

boolean org.lflang.tests.TestBase.isLinux ( )
staticprotectedinherited

Determine whether the current platform is Linux.

Returns
true if the current platform is Linux, false otherwise.

◆ isMac()

boolean org.lflang.tests.TestBase.isMac ( )
staticprotectedinherited

Determine whether the current platform is MacOS.

Returns
true if the current platform is MacOS, false otherwise.

◆ isWindows()

boolean org.lflang.tests.TestBase.isWindows ( )
staticprotectedinherited

Determine whether the current platform is Windows.

Returns
true if the current platform is Windwos, false otherwise.

◆ pathToLevel()

TestLevel org.lflang.tests.TestBase.pathToLevel ( Path path)
staticinherited

Static function for converting a path to its associated test level.

Author
Anirudh Rengarajan

◆ printTestHeader()

void org.lflang.tests.TestBase.printTestHeader ( Target target,
String description )
staticprotectedinherited

Print a header that describes a collection of tests.

Parameters
targetThe target for which the tests are being performed.
descriptionA string the describes the collection of tests.

◆ runAsCCpp()

void org.lflang.tests.runtime.CCppTest.runAsCCpp ( )

Run C tests with the target CCpp.

◆ runSingleTestAndPrintResults()

void org.lflang.tests.TestBase.runSingleTestAndPrintResults ( LFTest test,
Class<? extends TestBase > testClass,
TestLevel level )
staticinherited

Run a test, print results on stderr.

Parameters
testTest case.
testClassThe test class that will execute the test. This is target-specific, it may provide some target-specific configuration. We pass a class and not a new instance because this method needs to ensure the object is properly injected, and so, it needs to control its entire lifecycle.
levelLevel to which to run the test.

◆ runTestsAndPrintResults()

final void org.lflang.tests.TestBase.runTestsAndPrintResults ( Target target,
Predicate< TestCategory > selected,
TestLevel level,
Transformer transformer,
Configurator configurator,
boolean copy )
protectedinherited

Run selected tests for a given target and configurator up to the specified level.

Parameters
targetThe target to run tests for.
selectedA predicate that given a test category returns whether it should be included in this test run or not.
levelThe test level.
transformerThe transformer to apply to tests.
configuratorA procedure for configuring the tests.
copyWhether to work on copies of tests in the test. registry.

◆ runTestsFor()

void org.lflang.tests.TestBase.runTestsFor ( List< Target > subset,
String description,
Predicate< TestCategory > selected,
Transformer transformer,
Configurator configurator,
TestLevel level,
boolean copy )
protectedinherited

Run tests in the given selection for a subset of given targets.

Parameters
subsetThe subset of targets to run the selected tests for.
descriptionA string that describes the collection of tests.
selectedA predicate that given a test category returns whether it should be included in this test run or not.
transformerThe transformer to apply to tests.
configuratorA procedure for configuring the tests.
levelThe test level.
copyWhether to work on copies of tests in the test. registry.

◆ runTestsForTargets()

void org.lflang.tests.TestBase.runTestsForTargets ( String description,
Predicate< TestCategory > selected,
Transformer transformer,
Configurator configurator,
TestLevel level,
boolean copy )
protectedinherited

Run tests in the given selection for all targets enabled in this class.

Parameters
descriptionA string that describes the collection of tests.
selectedA predicate that given a test category returns whether it should be included in this test run or not.
transformerThe transformer to apply to tests.
configuratorA procedure for configuring the tests.
levelThe test level.
copyWhether to work on copies of tests in the test. registry.

◆ stackTraceToString()

String org.lflang.tests.TestBase.stackTraceToString ( Throwable t)
staticinherited

◆ supportsSingleThreadedExecution()

boolean org.lflang.tests.TestBase.supportsSingleThreadedExecution ( )
protectedinherited

Whether to enable threading.

Reimplemented in org.lflang.tests.runtime.CTest, and org.lflang.tests.runtime.PythonTest.

Member Data Documentation

◆ fileAccess

JavaIoFileSystemAccess org.lflang.tests.TestBase.fileAccess
packageinherited

◆ generator

LFGenerator org.lflang.tests.TestBase.generator
packageinherited

◆ resourceSetProvider

Provider<ResourceSet> org.lflang.tests.TestBase.resourceSetProvider
packageinherited

◆ testRegistry

TestRegistry org.lflang.tests.TestBase.testRegistry
packageinherited

◆ THICK_LINE

final String org.lflang.tests.TestBase.THICK_LINE
staticinherited
Initial value:
=
"=============================================================================="
+ System.lineSeparator()

Content separator used in test output, 78 characters wide.

◆ THIN_LINE

final String org.lflang.tests.TestBase.THIN_LINE
staticinherited
Initial value:
=
"------------------------------------------------------------------------------"
+ System.lineSeparator()

Content separator used in test output, 78 characters wide.

◆ validator

IResourceValidator org.lflang.tests.TestBase.validator
packageinherited

The documentation for this class was generated from the following file:
  • /Users/runner/work/lingua-franca/lingua-franca/core/src/integrationTest/java/org/lflang/tests/runtime/CCppTest.java