Skip to content

Commit

Permalink
x
Browse files Browse the repository at this point in the history
  • Loading branch information
ctiller committed Jan 27, 2025
1 parent ed3c07f commit 2a31d44
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 2 deletions.
12 changes: 10 additions & 2 deletions test/core/end2end/end2end_test_suites.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1073,6 +1073,16 @@ std::vector<CoreTestConfiguration> AllConfigs() {
return configs;
}

static NoDestruct<std::vector<CoreTestConfiguration>> kConfigs(AllConfigs());

const CoreTestConfiguration* CoreTestConfigurationNamed(
absl::string_view name) {
for (const CoreTestConfiguration& config : *kConfigs) {
if (config.name == name) return &config;
}
return nullptr;
}

// A ConfigQuery queries a database a set of test configurations
// that match some criteria.
class ConfigQuery {
Expand Down Expand Up @@ -1114,8 +1124,6 @@ class ConfigQuery {
}

auto Run() const {
static NoDestruct<std::vector<CoreTestConfiguration>> kConfigs(
AllConfigs());
std::vector<const CoreTestConfiguration*> out;
for (const CoreTestConfiguration& config : *kConfigs) {
if ((config.feature_mask & enforce_features_) == enforce_features_ &&
Expand Down
14 changes: 14 additions & 0 deletions test/core/end2end/end2end_tests.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
#include <map>
#include <memory>
#include <optional>
#include <ostream>
#include <string>
#include <utility>
#include <variant>
Expand Down Expand Up @@ -125,6 +126,19 @@ struct CoreTestConfiguration {
create_fixture;
};

const CoreTestConfiguration* CoreTestConfigurationNamed(absl::string_view name);

template <typename Sink>
void AbslStringify(Sink& sink, const CoreTestConfiguration* config) {
sink.Append(
absl::StrCat("CoreTestConfigurationNamed(\"", config->name, "\")"));
}

inline std::ostream& operator<<(std::ostream& out,
const CoreTestConfiguration* config) {
return out << "CoreTestConfigurationNamed(\"" << config->name << "\")";
}

// Base class for e2e tests.
//
// Initialization:
Expand Down

0 comments on commit 2a31d44

Please sign in to comment.