clang-format

pull/35791/head
Mark D. Roth 1 year ago
parent c3388def8e
commit 3091677361
  1. 928
      src/core/lib/experiments/experiments.cc
  2. 184
      src/core/lib/experiments/experiments.h
  3. 62
      test/core/experiments/experiments_test.cc
  4. 47
      test/core/experiments/fixtures/experiments.cc
  5. 56
      test/core/experiments/fixtures/experiments.h

File diff suppressed because it is too large Load Diff

@ -60,13 +60,13 @@ namespace grpc_core {
#ifndef NDEBUG #ifndef NDEBUG
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_STATUS_OVERRIDE_ON_CANCELLATION #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_STATUS_OVERRIDE_ON_CANCELLATION
#endif #endif
inline bool IsCallStatusOverrideOnCancellationEnabled() { inline bool IsCallStatusOverrideOnCancellationEnabled() {
#ifdef NDEBUG #ifdef NDEBUG
return false; return false;
#else #else
return true; return true;
#endif #endif
} }
inline bool IsCanaryClientPrivacyEnabled() { return false; } inline bool IsCanaryClientPrivacyEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_CLIENT_IDLENESS #define GRPC_EXPERIMENT_IS_INCLUDED_CLIENT_IDLENESS
inline bool IsClientIdlenessEnabled() { return true; } inline bool IsClientIdlenessEnabled() { return true; }
@ -122,13 +122,13 @@ inline bool IsWrrDelegateToPickFirstEnabled() { return true; }
#ifndef NDEBUG #ifndef NDEBUG
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_STATUS_OVERRIDE_ON_CANCELLATION #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_STATUS_OVERRIDE_ON_CANCELLATION
#endif #endif
inline bool IsCallStatusOverrideOnCancellationEnabled() { inline bool IsCallStatusOverrideOnCancellationEnabled() {
#ifdef NDEBUG #ifdef NDEBUG
return false; return false;
#else #else
return true; return true;
#endif #endif
} }
inline bool IsCanaryClientPrivacyEnabled() { return false; } inline bool IsCanaryClientPrivacyEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_CLIENT_IDLENESS #define GRPC_EXPERIMENT_IS_INCLUDED_CLIENT_IDLENESS
inline bool IsClientIdlenessEnabled() { return true; } inline bool IsClientIdlenessEnabled() { return true; }
@ -185,13 +185,13 @@ inline bool IsWrrDelegateToPickFirstEnabled() { return true; }
#ifndef NDEBUG #ifndef NDEBUG
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_STATUS_OVERRIDE_ON_CANCELLATION #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_STATUS_OVERRIDE_ON_CANCELLATION
#endif #endif
inline bool IsCallStatusOverrideOnCancellationEnabled() { inline bool IsCallStatusOverrideOnCancellationEnabled() {
#ifdef NDEBUG #ifdef NDEBUG
return false; return false;
#else #else
return true; return true;
#endif #endif
} }
inline bool IsCanaryClientPrivacyEnabled() { return false; } inline bool IsCanaryClientPrivacyEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_CLIENT_IDLENESS #define GRPC_EXPERIMENT_IS_INCLUDED_CLIENT_IDLENESS
inline bool IsClientIdlenessEnabled() { return true; } inline bool IsClientIdlenessEnabled() { return true; }
@ -291,85 +291,165 @@ enum ExperimentIds {
kNumExperiments kNumExperiments
}; };
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_STATUS_OVERRIDE_ON_CANCELLATION #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_STATUS_OVERRIDE_ON_CANCELLATION
inline bool IsCallStatusOverrideOnCancellationEnabled() { return IsExperimentEnabled(kExperimentIdCallStatusOverrideOnCancellation); } inline bool IsCallStatusOverrideOnCancellationEnabled() {
return IsExperimentEnabled(kExperimentIdCallStatusOverrideOnCancellation);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_CANARY_CLIENT_PRIVACY #define GRPC_EXPERIMENT_IS_INCLUDED_CANARY_CLIENT_PRIVACY
inline bool IsCanaryClientPrivacyEnabled() { return IsExperimentEnabled(kExperimentIdCanaryClientPrivacy); } inline bool IsCanaryClientPrivacyEnabled() {
return IsExperimentEnabled(kExperimentIdCanaryClientPrivacy);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_CLIENT_IDLENESS #define GRPC_EXPERIMENT_IS_INCLUDED_CLIENT_IDLENESS
inline bool IsClientIdlenessEnabled() { return IsExperimentEnabled(kExperimentIdClientIdleness); } inline bool IsClientIdlenessEnabled() {
return IsExperimentEnabled(kExperimentIdClientIdleness);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_CLIENT_PRIVACY #define GRPC_EXPERIMENT_IS_INCLUDED_CLIENT_PRIVACY
inline bool IsClientPrivacyEnabled() { return IsExperimentEnabled(kExperimentIdClientPrivacy); } inline bool IsClientPrivacyEnabled() {
return IsExperimentEnabled(kExperimentIdClientPrivacy);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CLIENT #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CLIENT
inline bool IsEventEngineClientEnabled() { return IsExperimentEnabled(kExperimentIdEventEngineClient); } inline bool IsEventEngineClientEnabled() {
return IsExperimentEnabled(kExperimentIdEventEngineClient);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS
inline bool IsEventEngineDnsEnabled() { return IsExperimentEnabled(kExperimentIdEventEngineDns); } inline bool IsEventEngineDnsEnabled() {
return IsExperimentEnabled(kExperimentIdEventEngineDns);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_LISTENER #define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_LISTENER
inline bool IsEventEngineListenerEnabled() { return IsExperimentEnabled(kExperimentIdEventEngineListener); } inline bool IsEventEngineListenerEnabled() {
return IsExperimentEnabled(kExperimentIdEventEngineListener);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_FREE_LARGE_ALLOCATOR #define GRPC_EXPERIMENT_IS_INCLUDED_FREE_LARGE_ALLOCATOR
inline bool IsFreeLargeAllocatorEnabled() { return IsExperimentEnabled(kExperimentIdFreeLargeAllocator); } inline bool IsFreeLargeAllocatorEnabled() {
return IsExperimentEnabled(kExperimentIdFreeLargeAllocator);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_HTTP2_STATS_FIX #define GRPC_EXPERIMENT_IS_INCLUDED_HTTP2_STATS_FIX
inline bool IsHttp2StatsFixEnabled() { return IsExperimentEnabled(kExperimentIdHttp2StatsFix); } inline bool IsHttp2StatsFixEnabled() {
return IsExperimentEnabled(kExperimentIdHttp2StatsFix);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_KEEPALIVE_FIX #define GRPC_EXPERIMENT_IS_INCLUDED_KEEPALIVE_FIX
inline bool IsKeepaliveFixEnabled() { return IsExperimentEnabled(kExperimentIdKeepaliveFix); } inline bool IsKeepaliveFixEnabled() {
return IsExperimentEnabled(kExperimentIdKeepaliveFix);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_KEEPALIVE_SERVER_FIX #define GRPC_EXPERIMENT_IS_INCLUDED_KEEPALIVE_SERVER_FIX
inline bool IsKeepaliveServerFixEnabled() { return IsExperimentEnabled(kExperimentIdKeepaliveServerFix); } inline bool IsKeepaliveServerFixEnabled() {
return IsExperimentEnabled(kExperimentIdKeepaliveServerFix);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT #define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
inline bool IsMonitoringExperimentEnabled() { return IsExperimentEnabled(kExperimentIdMonitoringExperiment); } inline bool IsMonitoringExperimentEnabled() {
return IsExperimentEnabled(kExperimentIdMonitoringExperiment);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_MULTIPING #define GRPC_EXPERIMENT_IS_INCLUDED_MULTIPING
inline bool IsMultipingEnabled() { return IsExperimentEnabled(kExperimentIdMultiping); } inline bool IsMultipingEnabled() {
return IsExperimentEnabled(kExperimentIdMultiping);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_PEER_STATE_BASED_FRAMING #define GRPC_EXPERIMENT_IS_INCLUDED_PEER_STATE_BASED_FRAMING
inline bool IsPeerStateBasedFramingEnabled() { return IsExperimentEnabled(kExperimentIdPeerStateBasedFraming); } inline bool IsPeerStateBasedFramingEnabled() {
return IsExperimentEnabled(kExperimentIdPeerStateBasedFraming);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_PENDING_QUEUE_CAP #define GRPC_EXPERIMENT_IS_INCLUDED_PENDING_QUEUE_CAP
inline bool IsPendingQueueCapEnabled() { return IsExperimentEnabled(kExperimentIdPendingQueueCap); } inline bool IsPendingQueueCapEnabled() {
return IsExperimentEnabled(kExperimentIdPendingQueueCap);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_HAPPY_EYEBALLS #define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_HAPPY_EYEBALLS
inline bool IsPickFirstHappyEyeballsEnabled() { return IsExperimentEnabled(kExperimentIdPickFirstHappyEyeballs); } inline bool IsPickFirstHappyEyeballsEnabled() {
return IsExperimentEnabled(kExperimentIdPickFirstHappyEyeballs);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_CLIENT_CALL #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_CLIENT_CALL
inline bool IsPromiseBasedClientCallEnabled() { return IsExperimentEnabled(kExperimentIdPromiseBasedClientCall); } inline bool IsPromiseBasedClientCallEnabled() {
return IsExperimentEnabled(kExperimentIdPromiseBasedClientCall);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_SERVER_CALL #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_SERVER_CALL
inline bool IsPromiseBasedServerCallEnabled() { return IsExperimentEnabled(kExperimentIdPromiseBasedServerCall); } inline bool IsPromiseBasedServerCallEnabled() {
return IsExperimentEnabled(kExperimentIdPromiseBasedServerCall);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_REGISTERED_METHOD_LOOKUP_IN_TRANSPORT #define GRPC_EXPERIMENT_IS_INCLUDED_REGISTERED_METHOD_LOOKUP_IN_TRANSPORT
inline bool IsRegisteredMethodLookupInTransportEnabled() { return IsExperimentEnabled(kExperimentIdRegisteredMethodLookupInTransport); } inline bool IsRegisteredMethodLookupInTransportEnabled() {
return IsExperimentEnabled(kExperimentIdRegisteredMethodLookupInTransport);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_INPROC_TRANSPORT #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_INPROC_TRANSPORT
inline bool IsPromiseBasedInprocTransportEnabled() { return IsExperimentEnabled(kExperimentIdPromiseBasedInprocTransport); } inline bool IsPromiseBasedInprocTransportEnabled() {
return IsExperimentEnabled(kExperimentIdPromiseBasedInprocTransport);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_REGISTERED_METHODS_MAP #define GRPC_EXPERIMENT_IS_INCLUDED_REGISTERED_METHODS_MAP
inline bool IsRegisteredMethodsMapEnabled() { return IsExperimentEnabled(kExperimentIdRegisteredMethodsMap); } inline bool IsRegisteredMethodsMapEnabled() {
return IsExperimentEnabled(kExperimentIdRegisteredMethodsMap);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_RFC_MAX_CONCURRENT_STREAMS #define GRPC_EXPERIMENT_IS_INCLUDED_RFC_MAX_CONCURRENT_STREAMS
inline bool IsRfcMaxConcurrentStreamsEnabled() { return IsExperimentEnabled(kExperimentIdRfcMaxConcurrentStreams); } inline bool IsRfcMaxConcurrentStreamsEnabled() {
return IsExperimentEnabled(kExperimentIdRfcMaxConcurrentStreams);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_ROUND_ROBIN_DELEGATE_TO_PICK_FIRST #define GRPC_EXPERIMENT_IS_INCLUDED_ROUND_ROBIN_DELEGATE_TO_PICK_FIRST
inline bool IsRoundRobinDelegateToPickFirstEnabled() { return IsExperimentEnabled(kExperimentIdRoundRobinDelegateToPickFirst); } inline bool IsRoundRobinDelegateToPickFirstEnabled() {
return IsExperimentEnabled(kExperimentIdRoundRobinDelegateToPickFirst);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_RSTPIT #define GRPC_EXPERIMENT_IS_INCLUDED_RSTPIT
inline bool IsRstpitEnabled() { return IsExperimentEnabled(kExperimentIdRstpit); } inline bool IsRstpitEnabled() {
return IsExperimentEnabled(kExperimentIdRstpit);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_SCHEDULE_CANCELLATION_OVER_WRITE #define GRPC_EXPERIMENT_IS_INCLUDED_SCHEDULE_CANCELLATION_OVER_WRITE
inline bool IsScheduleCancellationOverWriteEnabled() { return IsExperimentEnabled(kExperimentIdScheduleCancellationOverWrite); } inline bool IsScheduleCancellationOverWriteEnabled() {
return IsExperimentEnabled(kExperimentIdScheduleCancellationOverWrite);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_PRIVACY #define GRPC_EXPERIMENT_IS_INCLUDED_SERVER_PRIVACY
inline bool IsServerPrivacyEnabled() { return IsExperimentEnabled(kExperimentIdServerPrivacy); } inline bool IsServerPrivacyEnabled() {
return IsExperimentEnabled(kExperimentIdServerPrivacy);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_TCP_FRAME_SIZE_TUNING #define GRPC_EXPERIMENT_IS_INCLUDED_TCP_FRAME_SIZE_TUNING
inline bool IsTcpFrameSizeTuningEnabled() { return IsExperimentEnabled(kExperimentIdTcpFrameSizeTuning); } inline bool IsTcpFrameSizeTuningEnabled() {
return IsExperimentEnabled(kExperimentIdTcpFrameSizeTuning);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_TCP_RCV_LOWAT #define GRPC_EXPERIMENT_IS_INCLUDED_TCP_RCV_LOWAT
inline bool IsTcpRcvLowatEnabled() { return IsExperimentEnabled(kExperimentIdTcpRcvLowat); } inline bool IsTcpRcvLowatEnabled() {
return IsExperimentEnabled(kExperimentIdTcpRcvLowat);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_TRACE_RECORD_CALLOPS #define GRPC_EXPERIMENT_IS_INCLUDED_TRACE_RECORD_CALLOPS
inline bool IsTraceRecordCallopsEnabled() { return IsExperimentEnabled(kExperimentIdTraceRecordCallops); } inline bool IsTraceRecordCallopsEnabled() {
return IsExperimentEnabled(kExperimentIdTraceRecordCallops);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_UNCONSTRAINED_MAX_QUOTA_BUFFER_SIZE #define GRPC_EXPERIMENT_IS_INCLUDED_UNCONSTRAINED_MAX_QUOTA_BUFFER_SIZE
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return IsExperimentEnabled(kExperimentIdUnconstrainedMaxQuotaBufferSize); } inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() {
return IsExperimentEnabled(kExperimentIdUnconstrainedMaxQuotaBufferSize);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_V3_BACKEND_METRIC_FILTER #define GRPC_EXPERIMENT_IS_INCLUDED_V3_BACKEND_METRIC_FILTER
inline bool IsV3BackendMetricFilterEnabled() { return IsExperimentEnabled(kExperimentIdV3BackendMetricFilter); } inline bool IsV3BackendMetricFilterEnabled() {
return IsExperimentEnabled(kExperimentIdV3BackendMetricFilter);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_V3_CHANNEL_IDLE_FILTERS #define GRPC_EXPERIMENT_IS_INCLUDED_V3_CHANNEL_IDLE_FILTERS
inline bool IsV3ChannelIdleFiltersEnabled() { return IsExperimentEnabled(kExperimentIdV3ChannelIdleFilters); } inline bool IsV3ChannelIdleFiltersEnabled() {
return IsExperimentEnabled(kExperimentIdV3ChannelIdleFilters);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_V3_COMPRESSION_FILTER #define GRPC_EXPERIMENT_IS_INCLUDED_V3_COMPRESSION_FILTER
inline bool IsV3CompressionFilterEnabled() { return IsExperimentEnabled(kExperimentIdV3CompressionFilter); } inline bool IsV3CompressionFilterEnabled() {
return IsExperimentEnabled(kExperimentIdV3CompressionFilter);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_V3_SERVER_AUTH_FILTER #define GRPC_EXPERIMENT_IS_INCLUDED_V3_SERVER_AUTH_FILTER
inline bool IsV3ServerAuthFilterEnabled() { return IsExperimentEnabled(kExperimentIdV3ServerAuthFilter); } inline bool IsV3ServerAuthFilterEnabled() {
return IsExperimentEnabled(kExperimentIdV3ServerAuthFilter);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_CLEARS_TIME_CACHE #define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_CLEARS_TIME_CACHE
inline bool IsWorkSerializerClearsTimeCacheEnabled() { return IsExperimentEnabled(kExperimentIdWorkSerializerClearsTimeCache); } inline bool IsWorkSerializerClearsTimeCacheEnabled() {
return IsExperimentEnabled(kExperimentIdWorkSerializerClearsTimeCache);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_DISPATCH #define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_DISPATCH
inline bool IsWorkSerializerDispatchEnabled() { return IsExperimentEnabled(kExperimentIdWorkSerializerDispatch); } inline bool IsWorkSerializerDispatchEnabled() {
return IsExperimentEnabled(kExperimentIdWorkSerializerDispatch);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_V3 #define GRPC_EXPERIMENT_IS_INCLUDED_CALL_V3
inline bool IsCallV3Enabled() { return IsExperimentEnabled(kExperimentIdCallV3); } inline bool IsCallV3Enabled() {
return IsExperimentEnabled(kExperimentIdCallV3);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_WRITE_SIZE_POLICY #define GRPC_EXPERIMENT_IS_INCLUDED_WRITE_SIZE_POLICY
inline bool IsWriteSizePolicyEnabled() { return IsExperimentEnabled(kExperimentIdWriteSizePolicy); } inline bool IsWriteSizePolicyEnabled() {
return IsExperimentEnabled(kExperimentIdWriteSizePolicy);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_WRITE_SIZE_CAP #define GRPC_EXPERIMENT_IS_INCLUDED_WRITE_SIZE_CAP
inline bool IsWriteSizeCapEnabled() { return IsExperimentEnabled(kExperimentIdWriteSizeCap); } inline bool IsWriteSizeCapEnabled() {
return IsExperimentEnabled(kExperimentIdWriteSizeCap);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_WRR_DELEGATE_TO_PICK_FIRST #define GRPC_EXPERIMENT_IS_INCLUDED_WRR_DELEGATE_TO_PICK_FIRST
inline bool IsWrrDelegateToPickFirstEnabled() { return IsExperimentEnabled(kExperimentIdWrrDelegateToPickFirst); } inline bool IsWrrDelegateToPickFirstEnabled() {
return IsExperimentEnabled(kExperimentIdWrrDelegateToPickFirst);
}
extern const ExperimentMetadata g_experiment_metadata[kNumExperiments]; extern const ExperimentMetadata g_experiment_metadata[kNumExperiments];

@ -14,7 +14,6 @@
// Auto generated by tools/codegen/core/gen_experiments.py // Auto generated by tools/codegen/core/gen_experiments.py
#include <grpc/support/port_platform.h> #include <grpc/support/port_platform.h>
#include "test/core/experiments/fixtures/experiments.h" #include "test/core/experiments/fixtures/experiments.h"
@ -28,89 +27,68 @@
#ifndef GRPC_EXPERIMENTS_ARE_FINAL #ifndef GRPC_EXPERIMENTS_ARE_FINAL
#if defined(GRPC_CFSTREAM) #if defined(GRPC_CFSTREAM)
bool GetExperimentTestExperiment1ExpectedValue() { bool GetExperimentTestExperiment1ExpectedValue() { return false; }
return false;
}
bool GetExperimentTestExperiment2ExpectedValue() { bool GetExperimentTestExperiment2ExpectedValue() { return true; }
return true;
}
bool GetExperimentTestExperiment3ExpectedValue() { bool GetExperimentTestExperiment3ExpectedValue() {
#ifdef NDEBUG #ifdef NDEBUG
return false; return false;
#else #else
return true; return true;
#endif #endif
} }
bool GetExperimentTestExperiment4ExpectedValue() { bool GetExperimentTestExperiment4ExpectedValue() { return true; }
return true;
}
#elif defined(GPR_WINDOWS) #elif defined(GPR_WINDOWS)
bool GetExperimentTestExperiment1ExpectedValue() { bool GetExperimentTestExperiment1ExpectedValue() { return false; }
return false;
}
bool GetExperimentTestExperiment2ExpectedValue() { bool GetExperimentTestExperiment2ExpectedValue() { return false; }
return false;
}
bool GetExperimentTestExperiment3ExpectedValue() { bool GetExperimentTestExperiment3ExpectedValue() {
#ifdef NDEBUG #ifdef NDEBUG
return false; return false;
#else #else
return true; return true;
#endif #endif
} }
bool GetExperimentTestExperiment4ExpectedValue() { bool GetExperimentTestExperiment4ExpectedValue() { return true; }
return true;
}
#else #else
bool GetExperimentTestExperiment1ExpectedValue() { bool GetExperimentTestExperiment1ExpectedValue() {
#ifdef NDEBUG #ifdef NDEBUG
return false; return false;
#else #else
return true; return true;
#endif #endif
} }
bool GetExperimentTestExperiment2ExpectedValue() { bool GetExperimentTestExperiment2ExpectedValue() {
#ifdef NDEBUG #ifdef NDEBUG
return false; return false;
#else #else
return true; return true;
#endif #endif
} }
bool GetExperimentTestExperiment3ExpectedValue() { bool GetExperimentTestExperiment3ExpectedValue() {
#ifdef NDEBUG #ifdef NDEBUG
return false; return false;
#else #else
return true; return true;
#endif #endif
} }
bool GetExperimentTestExperiment4ExpectedValue() { bool GetExperimentTestExperiment4ExpectedValue() { return false; }
return false;
}
#endif #endif
TEST(ExperimentsTest, CheckExperimentValuesTest) { TEST(ExperimentsTest, CheckExperimentValuesTest) {
ASSERT_EQ(grpc_core::IsTestExperiment1Enabled(), ASSERT_EQ(grpc_core::IsTestExperiment1Enabled(),
GetExperimentTestExperiment1ExpectedValue()); GetExperimentTestExperiment1ExpectedValue());
@ -122,15 +100,13 @@ TEST(ExperimentsTest, CheckExperimentValuesTest) {
ASSERT_EQ(grpc_core::IsTestExperiment4Enabled(), ASSERT_EQ(grpc_core::IsTestExperiment4Enabled(),
GetExperimentTestExperiment4ExpectedValue()); GetExperimentTestExperiment4ExpectedValue());
} }
#endif // GRPC_EXPERIMENTS_ARE_FINAL #endif // GRPC_EXPERIMENTS_ARE_FINAL
int main(int argc, char** argv) { int main(int argc, char** argv) {
testing::InitGoogleTest(&argc, argv); testing::InitGoogleTest(&argc, argv);
grpc_core::LoadTestOnlyExperimentsFromMetadata( grpc_core::LoadTestOnlyExperimentsFromMetadata(
grpc_core::g_test_experiment_metadata, grpc_core::kNumTestExperiments); grpc_core::g_test_experiment_metadata, grpc_core::kNumTestExperiments);
return RUN_ALL_TESTS(); return RUN_ALL_TESTS();
} }

@ -35,15 +35,20 @@ const bool kDefaultForDebugOnly = false;
#else #else
const bool kDefaultForDebugOnly = true; const bool kDefaultForDebugOnly = true;
#endif #endif
} } // namespace
namespace grpc_core { namespace grpc_core {
const ExperimentMetadata g_test_experiment_metadata[] = { const ExperimentMetadata g_test_experiment_metadata[] = {
{"test_experiment_1", description_test_experiment_1, additional_constraints_test_experiment_1, nullptr, 0, false, true}, {"test_experiment_1", description_test_experiment_1,
{"test_experiment_2", description_test_experiment_2, additional_constraints_test_experiment_2, nullptr, 0, true, true}, additional_constraints_test_experiment_1, nullptr, 0, false, true},
{"test_experiment_3", description_test_experiment_3, additional_constraints_test_experiment_3, nullptr, 0, kDefaultForDebugOnly, true}, {"test_experiment_2", description_test_experiment_2,
{"test_experiment_4", description_test_experiment_4, additional_constraints_test_experiment_4, nullptr, 0, true, true}, additional_constraints_test_experiment_2, nullptr, 0, true, true},
{"test_experiment_3", description_test_experiment_3,
additional_constraints_test_experiment_3, nullptr, 0, kDefaultForDebugOnly,
true},
{"test_experiment_4", description_test_experiment_4,
additional_constraints_test_experiment_4, nullptr, 0, true, true},
}; };
} // namespace grpc_core } // namespace grpc_core
@ -63,15 +68,20 @@ const bool kDefaultForDebugOnly = false;
#else #else
const bool kDefaultForDebugOnly = true; const bool kDefaultForDebugOnly = true;
#endif #endif
} } // namespace
namespace grpc_core { namespace grpc_core {
const ExperimentMetadata g_test_experiment_metadata[] = { const ExperimentMetadata g_test_experiment_metadata[] = {
{"test_experiment_1", description_test_experiment_1, additional_constraints_test_experiment_1, nullptr, 0, false, true}, {"test_experiment_1", description_test_experiment_1,
{"test_experiment_2", description_test_experiment_2, additional_constraints_test_experiment_2, nullptr, 0, false, true}, additional_constraints_test_experiment_1, nullptr, 0, false, true},
{"test_experiment_3", description_test_experiment_3, additional_constraints_test_experiment_3, nullptr, 0, kDefaultForDebugOnly, true}, {"test_experiment_2", description_test_experiment_2,
{"test_experiment_4", description_test_experiment_4, additional_constraints_test_experiment_4, nullptr, 0, true, true}, additional_constraints_test_experiment_2, nullptr, 0, false, true},
{"test_experiment_3", description_test_experiment_3,
additional_constraints_test_experiment_3, nullptr, 0, kDefaultForDebugOnly,
true},
{"test_experiment_4", description_test_experiment_4,
additional_constraints_test_experiment_4, nullptr, 0, true, true},
}; };
} // namespace grpc_core } // namespace grpc_core
@ -91,15 +101,22 @@ const bool kDefaultForDebugOnly = false;
#else #else
const bool kDefaultForDebugOnly = true; const bool kDefaultForDebugOnly = true;
#endif #endif
} } // namespace
namespace grpc_core { namespace grpc_core {
const ExperimentMetadata g_test_experiment_metadata[] = { const ExperimentMetadata g_test_experiment_metadata[] = {
{"test_experiment_1", description_test_experiment_1, additional_constraints_test_experiment_1, nullptr, 0, kDefaultForDebugOnly, true}, {"test_experiment_1", description_test_experiment_1,
{"test_experiment_2", description_test_experiment_2, additional_constraints_test_experiment_2, nullptr, 0, kDefaultForDebugOnly, true}, additional_constraints_test_experiment_1, nullptr, 0, kDefaultForDebugOnly,
{"test_experiment_3", description_test_experiment_3, additional_constraints_test_experiment_3, nullptr, 0, kDefaultForDebugOnly, true}, true},
{"test_experiment_4", description_test_experiment_4, additional_constraints_test_experiment_4, nullptr, 0, false, true}, {"test_experiment_2", description_test_experiment_2,
additional_constraints_test_experiment_2, nullptr, 0, kDefaultForDebugOnly,
true},
{"test_experiment_3", description_test_experiment_3,
additional_constraints_test_experiment_3, nullptr, 0, kDefaultForDebugOnly,
true},
{"test_experiment_4", description_test_experiment_4,
additional_constraints_test_experiment_4, nullptr, 0, false, true},
}; };
} // namespace grpc_core } // namespace grpc_core

@ -63,13 +63,13 @@ inline bool IsTestExperiment2Enabled() { return true; }
#ifndef NDEBUG #ifndef NDEBUG
#define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_3 #define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_3
#endif #endif
inline bool IsTestExperiment3Enabled() { inline bool IsTestExperiment3Enabled() {
#ifdef NDEBUG #ifdef NDEBUG
return false; return false;
#else #else
return true; return true;
#endif #endif
} }
#define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_4 #define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_4
inline bool IsTestExperiment4Enabled() { return true; } inline bool IsTestExperiment4Enabled() { return true; }
@ -79,13 +79,13 @@ inline bool IsTestExperiment2Enabled() { return false; }
#ifndef NDEBUG #ifndef NDEBUG
#define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_3 #define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_3
#endif #endif
inline bool IsTestExperiment3Enabled() { inline bool IsTestExperiment3Enabled() {
#ifdef NDEBUG #ifdef NDEBUG
return false; return false;
#else #else
return true; return true;
#endif #endif
} }
#define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_4 #define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_4
inline bool IsTestExperiment4Enabled() { return true; } inline bool IsTestExperiment4Enabled() { return true; }
@ -93,33 +93,33 @@ inline bool IsTestExperiment4Enabled() { return true; }
#ifndef NDEBUG #ifndef NDEBUG
#define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_1 #define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_1
#endif #endif
inline bool IsTestExperiment1Enabled() { inline bool IsTestExperiment1Enabled() {
#ifdef NDEBUG #ifdef NDEBUG
return false; return false;
#else #else
return true; return true;
#endif #endif
} }
#ifndef NDEBUG #ifndef NDEBUG
#define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_2 #define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_2
#endif #endif
inline bool IsTestExperiment2Enabled() { inline bool IsTestExperiment2Enabled() {
#ifdef NDEBUG #ifdef NDEBUG
return false; return false;
#else #else
return true; return true;
#endif #endif
} }
#ifndef NDEBUG #ifndef NDEBUG
#define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_3 #define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_3
#endif #endif
inline bool IsTestExperiment3Enabled() { inline bool IsTestExperiment3Enabled() {
#ifdef NDEBUG #ifdef NDEBUG
return false; return false;
#else #else
return true; return true;
#endif #endif
} }
inline bool IsTestExperiment4Enabled() { return false; } inline bool IsTestExperiment4Enabled() { return false; }
#endif #endif
@ -132,13 +132,21 @@ enum ExperimentIds {
kNumTestExperiments kNumTestExperiments
}; };
#define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_1 #define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_1
inline bool IsTestExperiment1Enabled() { return IsTestExperimentEnabled(kExperimentIdTestExperiment1); } inline bool IsTestExperiment1Enabled() {
return IsTestExperimentEnabled(kExperimentIdTestExperiment1);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_2 #define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_2
inline bool IsTestExperiment2Enabled() { return IsTestExperimentEnabled(kExperimentIdTestExperiment2); } inline bool IsTestExperiment2Enabled() {
return IsTestExperimentEnabled(kExperimentIdTestExperiment2);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_3 #define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_3
inline bool IsTestExperiment3Enabled() { return IsTestExperimentEnabled(kExperimentIdTestExperiment3); } inline bool IsTestExperiment3Enabled() {
return IsTestExperimentEnabled(kExperimentIdTestExperiment3);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_4 #define GRPC_EXPERIMENT_IS_INCLUDED_TEST_EXPERIMENT_4
inline bool IsTestExperiment4Enabled() { return IsTestExperimentEnabled(kExperimentIdTestExperiment4); } inline bool IsTestExperiment4Enabled() {
return IsTestExperimentEnabled(kExperimentIdTestExperiment4);
}
extern const ExperimentMetadata g_test_experiment_metadata[kNumTestExperiments]; extern const ExperimentMetadata g_test_experiment_metadata[kNumTestExperiments];

Loading…
Cancel
Save