Skip to content

tesults/cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tesults-cpp

C++ library for uploading test results to Tesults.

Requirements

  • CMake 3.14+
  • C++17 compiler
  • libcurl
  • OpenSSL

macOS (Homebrew)

brew install curl openssl

On Apple Silicon you may need to hint CMake:

cmake -DOPENSSL_ROOT_DIR=$(brew --prefix openssl) ..

Linux (apt)

apt install libcurl4-openssl-dev libssl-dev

Installation via CMake FetchContent

include(FetchContent)
FetchContent_Declare(
    tesults
    GIT_REPOSITORY https://github.com/tesults/tesults-cpp.git
    GIT_TAG        main
    GIT_SHALLOW    TRUE
)
FetchContent_MakeAvailable(tesults)

target_link_libraries(your_target PRIVATE tesults)

Usage

#include <tesults/tesults.h>
#include <iostream>

int main() {
    tesults::Case tc;
    tc.name   = "Test 1";
    tc.suite  = "Suite A";
    tc.result = "pass";

    tesults::Data data;
    data.target = "your-target-token";
    data.cases  = {tc};

    std::cout << "Tesults results upload..." << std::endl;
    auto r = tesults::upload(data);
    std::cout << "Success: "  << (r.success ? "true" : "false") << std::endl;
    std::cout << "Message: "  << r.message  << std::endl;
    std::cout << "Warnings: " << r.warnings.size() << std::endl;
    std::cout << "Errors: "   << r.errors.size()   << std::endl;
}

API

tesults::upload(data)tesults::Response

tesults::Case fields

Field Type Required Description
name string yes Test case name
result string yes "pass", "fail", or "unknown"
suite string no Suite / group name
desc string no Description
reason string no Failure reason
rawResult string no Raw result from the framework
start long long no Start time — ms since epoch
end long long no End time — ms since epoch
files vector<string> no Absolute paths to files to upload
params map<string, string> no Parametrised test values
custom map<string, string> no Custom fields (stored with _ prefix)
steps vector<Step> no Test steps

tesults::Response fields

Field Type Description
success bool true if upload succeeded
message string Status message
warnings vector<string> File upload warnings
errors vector<string> Upload errors

License

MIT

About

C++ library for uploading test results to Tesults

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors