12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- // Copyright The OpenTelemetry Authors
- // SPDX-License-Identifier: Apache-2.0
- #include <gtest/gtest.h>
- #include <stdint.h>
- #include <string>
- #include "opentelemetry/nostd/span.h"
- #include "opentelemetry/trace/trace_flags.h"
- namespace
- {
- using opentelemetry::trace::TraceFlags;
- std::string Hex(const TraceFlags &flags)
- {
- char buf[2];
- flags.ToLowerBase16(buf);
- return std::string(buf, sizeof(buf));
- }
- TEST(TraceFlagsTest, DefaultConstruction)
- {
- TraceFlags flags;
- EXPECT_FALSE(flags.IsSampled());
- EXPECT_EQ(0, flags.flags());
- EXPECT_EQ("00", Hex(flags));
- }
- TEST(TraceFlagsTest, Sampled)
- {
- TraceFlags flags{TraceFlags::kIsSampled};
- EXPECT_TRUE(flags.IsSampled());
- EXPECT_EQ(1, flags.flags());
- EXPECT_EQ("01", Hex(flags));
- uint8_t buf[1];
- flags.CopyBytesTo(buf);
- EXPECT_EQ(1, buf[0]);
- }
- } // namespace
|