blob: d2515b6cf8152c2a937be33d79a6c63268db950a [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "driver_test_reporter.h"
#include <stdio.h>
#include "src/devices/lib/log/log.h"
void DriverTestReporter::LogMessage(const char* msg, size_t size) {
LOGF(INFO, "[----------][%s] %.*s\n", driver_name_.data(), static_cast<int>(size), msg);
}
void DriverTestReporter::LogTestCase(const char* name, size_t name_size,
const fuchsia_driver_test_TestCaseResult* result) {
uint64_t ran = result->passed + result->failed;
LOGF(INFO, "[----------] %lu tests from %s.%.*s\n", ran, driver_name_.data(),
static_cast<int>(name_size), name);
LOGF(INFO, "[----------] %lu passed\n", result->passed);
LOGF(INFO, "[----------] %lu failed\n", result->failed);
LOGF(INFO, "[----------] %lu skipped\n", result->skipped);
if (result->failed == 0) {
LOGF(INFO, "[ OK ] %s.%.*s\n", driver_name_.data(), static_cast<int>(name_size), name);
} else {
LOGF(INFO, "[ FAIL ] %s.%.*s\n", driver_name_.data(), static_cast<int>(name_size), name);
}
total_cases_ += 1;
total_passed_ += result->passed;
total_failed_ += result->failed;
total_skipped_ += result->skipped;
}
void DriverTestReporter::TestStart() {
LOGF(INFO, "[==========] Running driver unit tests: %s.\n", driver_name_.data());
}
void DriverTestReporter::TestFinished() {
uint64_t total_ran = total_passed_ + total_failed_;
if (total_skipped_ == 0) {
LOGF(INFO, "[==========] %lu test from %lu test cases ran.\n", total_ran, total_cases_);
} else {
LOGF(INFO, "[==========] %lu test from %lu test cases ran (%lu skipped).\n", total_ran,
total_cases_, total_skipped_);
}
if (total_failed_ == 0) {
LOGF(INFO, "[ PASSED ] %s: %lu tests passed.\n", driver_name_.data(), total_passed_);
} else {
LOGF(INFO, "[ FAILED ] %s: %lu tests failed.\n", driver_name_.data(), total_failed_);
}
}