build_test.cc 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. // NOLINT(namespace-envoy)
  2. #include <cstdlib>
  3. #include <iostream>
  4. #include "google/protobuf/descriptor.h"
  5. // Basic C++ build/link validation for the v2 xDS APIs.
  6. int main(int argc, char* argv[]) {
  7. const auto methods = {
  8. "envoy.api.v2.ClusterDiscoveryService.FetchClusters",
  9. "envoy.api.v2.ClusterDiscoveryService.StreamClusters",
  10. "envoy.api.v2.EndpointDiscoveryService.FetchEndpoints",
  11. "envoy.api.v2.EndpointDiscoveryService.StreamEndpoints",
  12. "envoy.api.v2.ListenerDiscoveryService.FetchListeners",
  13. "envoy.api.v2.ListenerDiscoveryService.StreamListeners",
  14. "envoy.api.v2.RouteDiscoveryService.FetchRoutes",
  15. "envoy.api.v2.RouteDiscoveryService.StreamRoutes",
  16. "envoy.service.discovery.v2.AggregatedDiscoveryService.StreamAggregatedResources",
  17. "envoy.service.discovery.v2.HealthDiscoveryService.FetchHealthCheck",
  18. "envoy.service.discovery.v2.HealthDiscoveryService.StreamHealthCheck",
  19. "envoy.service.discovery.v2.RuntimeDiscoveryService.FetchRuntime",
  20. "envoy.service.discovery.v2.RuntimeDiscoveryService.StreamRuntime",
  21. "envoy.service.accesslog.v2.AccessLogService.StreamAccessLogs",
  22. "envoy.service.metrics.v2.MetricsService.StreamMetrics",
  23. "envoy.service.ratelimit.v2.RateLimitService.ShouldRateLimit",
  24. "udpa.service.orca.v1.OpenRcaService.StreamCoreMetrics",
  25. };
  26. for (const auto& method : methods) {
  27. if (google::protobuf::DescriptorPool::generated_pool()->FindMethodByName(method) == nullptr) {
  28. std::cout << "Unable to find method descriptor for " << method << std::endl;
  29. exit(EXIT_FAILURE);
  30. }
  31. }
  32. exit(EXIT_SUCCESS);
  33. }