GTest
Stage for Test Case-based testing via Google Test.
Kind: Grading Stage
Behavior: Compiles and runs test cases written with Google Test framework.
Config
gTest:
srcInput: [String] # list of files containing the program source code
testInput: [String] # list of files containing the Google Test cases
testOut: String? # test executable name [default: a.out]
compileArgs: [String]? # compilation arguments for the test executable [default: ["-pedantic", "-Wall", "-Wextra", "-g"]]
srcCompileArgs: [String]? # compilation arguments for `srcInput`
testCompileArgs: [String]? # compilation arguments for `testInput`
runArgs: [String]? # runtime arguments for the test executable [default: []]
version: String? # Google Test library version to use [default: "1.10.0"]
score: Double? # Total Score of this stage
treatDenormalScore: DenormalPolicy? # Policy to use when resulting score is NaN
scoreWeighting: ScoreWeighting? # Weighting policy of this stage
Regardless of the value of
_settings.language
,testInput
is always compiled using the C++ compiler.This is necessary since GTest is a C++ test framework and therefore its sources must be compiled using C++.
This stage implements Total-Based Scorable and Weighted Scorable.
The scorable policies are mutually exclusive; Enabling both is an error.
See Scorable.md for more information on
score
,treatDenormalScore
, andscoreWeighting
.See XUnit.md for more information on the predicates available for
scoreWeighting
.
Example
gTest:
srcInput: ["main.cpp"]
testInput: ["main-test.cpp"]
testOut: "a.out"
compileArgs: ["-pedantic", "-Wall", "-Wextra", "-g"]
runArgs: []
version: "1.10.0"
Report
See XUnit report.