]>
Commit | Line | Data |
---|---|---|
1e59de90 TL |
1 | // Copyright The OpenTelemetry Authors |
2 | // SPDX-License-Identifier: Apache-2.0 | |
3 | ||
4 | #ifndef ENABLE_METRICS_PREVIEW | |
5 | ||
6 | # include <gtest/gtest.h> | |
7 | # include "opentelemetry/metrics/noop.h" | |
8 | # include "opentelemetry/metrics/provider.h" | |
9 | # include "opentelemetry/nostd/shared_ptr.h" | |
10 | ||
11 | using opentelemetry::metrics::Meter; | |
12 | using opentelemetry::metrics::MeterProvider; | |
13 | using opentelemetry::metrics::NoopMeterProvider; | |
14 | using opentelemetry::metrics::Provider; | |
15 | ||
16 | TEST(Provider, GetMeterProviderDefault) | |
17 | { | |
18 | auto tf = Provider::GetMeterProvider(); | |
19 | EXPECT_NE(nullptr, tf); | |
20 | } | |
21 | ||
22 | TEST(Provider, SetMeterProvider) | |
23 | { | |
24 | auto tf = opentelemetry::nostd::shared_ptr<MeterProvider>(new NoopMeterProvider()); | |
25 | Provider::SetMeterProvider(tf); | |
26 | ASSERT_EQ(tf, Provider::GetMeterProvider()); | |
27 | } | |
28 | ||
29 | TEST(Provider, MultipleMeterProviders) | |
30 | { | |
31 | auto tf = opentelemetry::nostd::shared_ptr<MeterProvider>(new NoopMeterProvider()); | |
32 | Provider::SetMeterProvider(tf); | |
33 | auto tf2 = opentelemetry::nostd::shared_ptr<MeterProvider>(new NoopMeterProvider()); | |
34 | Provider::SetMeterProvider(tf2); | |
35 | ||
36 | ASSERT_NE(Provider::GetMeterProvider(), tf); | |
37 | } | |
38 | #endif |