Skip to content

Commit

Permalink
Set env var in test if necessary
Browse files Browse the repository at this point in the history
  • Loading branch information
benibus committed Jun 13, 2024
1 parent 3870d7b commit 52e0ee0
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions cpp/src/arrow/telemetry/telemetry_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,13 @@ class OtelEnvironment : public ::testing::Environment {
static constexpr std::string_view kLoggerName = "arrow-telemetry-test";

void SetUp() override {
auto maybe_env_var = arrow::internal::GetEnvVar(kLoggingEnvVar);
// The env variable is required to be set to obtain a valid logger, so if it hasn't
// been set in the environment then we do that here.
if (maybe_env_var.status().IsKeyError()) {
ASSERT_OK(arrow::internal::SetEnvVar(kLoggingEnvVar, "arrow_otlp_stderr"));
}

// Implicitly sets up span processors + tracer provider
auto tracer = arrow::internal::tracing::GetTracer();
ARROW_UNUSED(tracer);
Expand All @@ -62,7 +69,7 @@ class OtelEnvironment : public ::testing::Environment {
ASSERT_OK(util::LoggerRegistry::RegisterLogger(logger->name(), logger));
}

void TearDown() override { internal::ShutdownOtelLoggerProvider(); }
void TearDown() override { EXPECT_TRUE(internal::ShutdownOtelLoggerProvider()); }
};

static ::testing::Environment* kOtelEnvironment =
Expand All @@ -81,10 +88,6 @@ void Log(LogLevel severity, std::string_view message) {
class TestLogging : public ::testing::Test {
public:
void SetUp() override {
auto env_var = arrow::internal::GetEnvVar(kLoggingEnvVar);
if (env_var.status().IsKeyError()) {
GTEST_SKIP() << "Env var " << kLoggingEnvVar << " is undefined";
}
tracer_ = arrow::internal::tracing::GetTracer();
span_ = tracer_->StartSpan("test-logging");
}
Expand Down

0 comments on commit 52e0ee0

Please sign in to comment.