mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-09-23 06:55:08 +02:00
64 lines
1.6 KiB
C++
64 lines
1.6 KiB
C++
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
#ifdef _WIN32
|
|
|
|
# include <gtest/gtest.h>
|
|
# include <string>
|
|
|
|
# include "opentelemetry/exporters/etw/etw_provider.h"
|
|
|
|
using namespace OPENTELEMETRY_NAMESPACE;
|
|
|
|
TEST(ETWProvider, ProviderIsRegisteredSuccessfully)
|
|
{
|
|
std::string providerName = "OpenTelemetry-ETW-Provider";
|
|
static ETWProvider etw;
|
|
auto handle = etw.open(providerName.c_str());
|
|
|
|
bool registered = etw.is_registered(providerName);
|
|
ASSERT_TRUE(registered);
|
|
etw.close(handle);
|
|
}
|
|
|
|
TEST(ETWProvider, ProviderIsNotRegisteredSuccessfully)
|
|
{
|
|
std::string providerName = "OpenTelemetry-ETW-Provider-NULL";
|
|
static ETWProvider etw;
|
|
|
|
bool registered = etw.is_registered(providerName);
|
|
ASSERT_FALSE(registered);
|
|
}
|
|
|
|
TEST(ETWProvider, CheckOpenGUIDDataSuccessfully)
|
|
{
|
|
std::string providerName = "OpenTelemetry-ETW-Provider";
|
|
|
|
// get GUID from the handle returned
|
|
static ETWProvider etw;
|
|
auto handle = etw.open(providerName.c_str());
|
|
|
|
utils::UUID uuid_handle(handle.providerGuid);
|
|
auto guidStrHandle = uuid_handle.to_string();
|
|
|
|
// get GUID from the providerName
|
|
auto guid = utils::GetProviderGuid(providerName.c_str());
|
|
utils::UUID uuid_name(guid);
|
|
auto guidStrName = uuid_name.to_string();
|
|
|
|
ASSERT_STREQ(guidStrHandle.c_str(), guidStrName.c_str());
|
|
etw.close(handle);
|
|
}
|
|
|
|
TEST(ETWProvider, CheckCloseSuccess)
|
|
{
|
|
std::string providerName = "OpenTelemetry-ETW-Provider";
|
|
|
|
static ETWProvider etw;
|
|
auto handle = etw.open(providerName.c_str(), ETWProvider::EventFormat::ETW_MANIFEST);
|
|
auto result = etw.close(handle);
|
|
ASSERT_NE(result, etw.STATUS_ERROR);
|
|
ASSERT_FALSE(etw.is_registered(providerName));
|
|
}
|
|
|
|
#endif
|