pytorch/test/cpp/monitor/test_events.cpp
Jiawei Lv b4c4a015d6 Revert D33163841: Revert D33102715: Back out "Revert D32606547: torch/monitor: add C++ events and handlers"
Test Plan: revert-hammer

Differential Revision:
D33163841

Original commit changeset: e262b6d8c80a

Original Phabricator Diff: D33102715 (eb374de3f5)

fbshipit-source-id: 644216036a238a458f0a2198460b36d24fb035f8
2021-12-16 11:12:18 -08:00

39 lines
887 B
C++

#include <gtest/gtest.h>
#include <torch/csrc/monitor/events.h>
using namespace torch::monitor;
struct AggregatingEventHandler : public EventHandler {
std::vector<Event> events;
void handle(const Event& e) override {
events.emplace_back(e);
}
};
TEST(EventsTest, EventHandler) {
Event e;
e.type = "test";
e.message = "test message";
e.timestamp = std::chrono::system_clock::now();
e.metadata["string"] = "asdf";
e.metadata["double"] = 1234.5678;
e.metadata["int"] = 1234L;
e.metadata["bool"] = true;
// log to nothing
logEvent(e);
auto handler = std::make_shared<AggregatingEventHandler>();
registerEventHandler(handler);
logEvent(e);
ASSERT_EQ(handler->events.size(), 1);
ASSERT_EQ(e, handler->events.at(0));
unregisterEventHandler(handler);
logEvent(e);
// handler unregister, didn't log
ASSERT_EQ(handler->events.size(), 1);
}