Skip to content
This repository has been archived by the owner on May 19, 2021. It is now read-only.

Verbosity

Maxime ROUFFET edited this page Mar 1, 2021 · 10 revisions

Values

UTH::verbosity allows you to set the verbosity of the following tests.

enum Verbosity
{
    /// No verbosity.
    None,

    /// Output success results.
    Success = 1 << 0,

    /// Output params' name.
    ParamsName = 1 << 1,

    /// Output params' value on failure.
    ParamsFailure = 1 << 2,

    /// Output params' value on success.
    ParamsSuccess = 1 << 3,

    /// Output group start.
    GroupStart = 1 << 4,

    /// Output group exit result.
    GroupExit = 1 << 5,


    /// Light verbosity value.
    Light = ParamsName | ParamsFailure | GroupExit,

    /// Default verbosity value.
    Default = Success | ParamsName | ParamsFailure | GroupStart | GroupExit,

    /// Maximum verbosity level (all flags set).
    Max = 0xFF
};

The verbosity value UTH::verbosity works by using Verbosity levels as flags. The default value is verbosity = Success | ParamsName | ParamsFailure

To change the verbosity at any time, assign a new value to UTH::verbosity:

// Set verbosity.
UTH::verbosity = UTH::ParamsName | UTH::ParamsFailure;

// Add verbosity flag.
UTH::verbosity |= UTH::Success;

// Remove verbosity flag.
UTH::verbosity &= ~UTH::Success;

Differences

Let's see the different outputs from verbosity using this sample code:

void GroupTest()
{
    bool TestFunc(int _i, float _j);

    int i = 4;
    float j = 6.35f

    SA_UTH_SF(TestFunc, i, j);
}

SA_UTH_GP(GroupTest())

verbosity = Default (Success | ParamsName | ParamsFailure | GroupStart | GroupExit)

Success

[SA-UTH] Group: GroupTest()
    [SA-UTH] Success: TestFunc(i, j) -- l:<line>
[SA-UTH] Group: GroupTest() exit with code: EXIT_SUCCESS (0)

Failure

[SA-UTH] Group: GroupTest()
    [SA-UTH] Failure: TestFunc(i, j) -- l:<line>
    i:
    4
    j:
    6.35
[SA-UTH] Group: GroupTest() exit with code: EXIT_FAILURE (1)

verbosity = Light (ParamsName | ParamsFailure | GroupExit)

Success

[SA-UTH] Group: GroupTest() exit with code: EXIT_SUCCESS (0)

Failure

[SA-UTH] Group: GroupTest()
    [SA-UTH] Failure: TestFunc(i, j) -- l:<line>
    i:
    4
    j:
    6.35
[SA-UTH] Group: GroupTest() exit with code: EXIT_FAILURE (1)

verbosity = None

// Success.
// No output.

// Failure
[SA-UTH] Failure: TestFunc(i, j) -- l:<line>

verbosity = Success

[SA-UTH] <Success|Failure>: TestFunc(i, j) -- l:<line>

verbosity = Success | ParamsFailure | ParamsSuccess

[SA-UTH] <Success|Failure>: TestFunc(i, j) -- l:<line>
4
6.35

verbosity = Success | ParamsName | ParamsFailure | ParamsSuccess

[SA-UTH] <Success|Failure>: TestFunc(i, j) -- l:<line>
i:
4
j:
6.35

verbosity = Success | ParamsName | ParamsFailure | ParamsSuccess | GroupStart | GroupExit (Max)

[SA-UTH] Group: GroupTest()
    [SA-UTH] <Success|Failure>: TestFunc(i, j) -- l:<line>
    i:
    4
    j:
    6.35
[SA-UTH] Group: GroupTest() exit with code: <EXIT_SUCCESS (0)|EXIT_FAILURE (1)>

More Examples

See main_success.cpp and main_failure.cpp for more examples of use.