Program Listing for File TestSuiteTelemetry.cpp
↰ Return to documentation for file (src/flamegpu/detail/TestSuiteTelemetry.cpp
)
#include <cstdio>
#include <map>
#include <string>
#include "flamegpu/detail/TestSuiteTelemetry.h"
namespace flamegpu {
namespace detail {
bool TestSuiteTelemetry::sendResults(std::string reportName, std::string outcome, unsigned int total, unsigned int selected, unsigned int skipped, unsigned int passed, unsigned int failed, bool verbose, bool isSWIG) {
// Construct the payload
std::map<std::string, std::string> telemetry_payload;
telemetry_payload["TestOutcome"] = outcome;
telemetry_payload["TestsTotal"] = std::to_string(total);
telemetry_payload["TestsSelected"] = std::to_string(selected);
telemetry_payload["TestsSkipped"] = std::to_string(skipped);
telemetry_payload["TestsPassed"] = std::to_string(passed);
telemetry_payload["TestsFailed"] = std::to_string(failed);
// generate telemetry data
std::string telemetry_data = flamegpu::io::Telemetry::generateData(reportName, telemetry_payload, isSWIG);
// send telemetry
bool telemetrySuccess = flamegpu::io::Telemetry::sendData(telemetry_data);
// print telemetry payload to the user if requested
if (verbose) {
if (telemetrySuccess) {
fprintf(stdout, "Telemetry packet sent to '%s' json was: %s\n", flamegpu::io::Telemetry::TELEMETRY_ENDPOINT, telemetry_data.c_str());
fflush(stdout);
} else {
fprintf(stderr, "Warning: Usage statistics for Test suite failed to send.\n");
}
}
return true;
}
} // namespace detail
} // namespace flamegpu