From 96604bf3fbdaad845dabb4248bd5150c919ab0f1 Mon Sep 17 00:00:00 2001 From: Piotr Sikora Date: Thu, 7 Feb 2019 05:51:21 +0000 Subject: [PATCH 1/2] wasm: move everything into common/ to match other extensions. Signed-off-by: Piotr Sikora --- api/envoy/config/accesslog/v2/BUILD | 2 +- api/envoy/config/accesslog/v2/wasm.proto | 4 +- api/envoy/config/bootstrap/v2/BUILD | 4 +- api/envoy/config/bootstrap/v2/bootstrap.proto | 4 +- api/envoy/config/{ => common}/wasm/v2/BUILD | 0 .../config/{ => common}/wasm/v2/wasm.proto | 10 ++--- api/envoy/config/filter/http/wasm/v2/BUILD | 2 +- .../config/filter/http/wasm/v2/wasm.proto | 4 +- include/envoy/server/wasm_config.h | 2 +- source/extensions/common/wasm/BUILD | 16 ++++++++ source/extensions/{ => common}/wasm/config.cc | 4 +- source/extensions/{ => common}/wasm/config.h | 4 +- source/extensions/common/wasm/wasm.cc | 12 +++--- source/extensions/common/wasm/wasm.h | 13 ++++--- source/extensions/common/wasm/wavm/BUILD | 2 +- source/extensions/common/wasm/wavm/wavm.h | 2 +- source/extensions/extensions_build_config.bzl | 5 --- source/extensions/wasm/BUILD | 27 ------------- source/server/BUILD | 2 +- source/server/configuration_impl.h | 2 +- test/extensions/{ => common}/wasm/BUILD | 21 ++++------ .../{ => common}/wasm/config_test.cc | 36 +++++++++--------- .../{ => common}/wasm/test_data/BUILD | 0 .../{ => common}/wasm/test_data/Makefile | 2 +- .../wasm/test_data/bad_signature.cc | 0 .../wasm/test_data/bad_signature.wasm | Bin .../wasm/test_data/bad_signature.wat | 0 .../{ => common}/wasm/test_data/logging.cc | 0 .../{ => common}/wasm/test_data/logging.wasm | Bin .../{ => common}/wasm/test_data/logging.wat | 0 .../extensions/{ => common}/wasm/wasm_test.cc | 6 +-- 31 files changed, 83 insertions(+), 103 deletions(-) rename api/envoy/config/{ => common}/wasm/v2/BUILD (100%) rename api/envoy/config/{ => common}/wasm/v2/wasm.proto (88%) rename source/extensions/{ => common}/wasm/config.cc (91%) rename source/extensions/{ => common}/wasm/config.h (76%) delete mode 100644 source/extensions/wasm/BUILD rename test/extensions/{ => common}/wasm/BUILD (68%) rename test/extensions/{ => common}/wasm/config_test.cc (86%) rename test/extensions/{ => common}/wasm/test_data/BUILD (100%) rename test/extensions/{ => common}/wasm/test_data/Makefile (96%) rename test/extensions/{ => common}/wasm/test_data/bad_signature.cc (100%) rename test/extensions/{ => common}/wasm/test_data/bad_signature.wasm (100%) rename test/extensions/{ => common}/wasm/test_data/bad_signature.wat (100%) rename test/extensions/{ => common}/wasm/test_data/logging.cc (100%) rename test/extensions/{ => common}/wasm/test_data/logging.wasm (100%) rename test/extensions/{ => common}/wasm/test_data/logging.wat (100%) rename test/extensions/{ => common}/wasm/wasm_test.cc (91%) diff --git a/api/envoy/config/accesslog/v2/BUILD b/api/envoy/config/accesslog/v2/BUILD index ba599a4f93d7..f6651ff3e06d 100644 --- a/api/envoy/config/accesslog/v2/BUILD +++ b/api/envoy/config/accesslog/v2/BUILD @@ -19,6 +19,6 @@ api_proto_library_internal( name = "wasm", srcs = ["wasm.proto"], deps = [ - "//envoy/config/wasm/v2:wasm", + "//envoy/config/common/wasm/v2:wasm", ], ) diff --git a/api/envoy/config/accesslog/v2/wasm.proto b/api/envoy/config/accesslog/v2/wasm.proto index 4f0f7650142f..6df0d2013291 100644 --- a/api/envoy/config/accesslog/v2/wasm.proto +++ b/api/envoy/config/accesslog/v2/wasm.proto @@ -6,7 +6,7 @@ option go_package = "v2"; import "validate/validate.proto"; import "google/protobuf/struct.proto"; -import "envoy/config/wasm/v2/wasm.proto"; +import "envoy/config/common/wasm/v2/wasm.proto"; // [#protodoc-title: Wasm access log] @@ -20,5 +20,5 @@ message WasmAccessLog { // VM configure() call. string configuration = 2; // Configuration for starting a new VM to be associated with the given vm_id. - envoy.config.wasm.v2.VmConfig vm_config = 3; + envoy.config.common.wasm.v2.VmConfig vm_config = 3; } diff --git a/api/envoy/config/bootstrap/v2/BUILD b/api/envoy/config/bootstrap/v2/BUILD index 2a9c9b4b5d42..f712f9b6cdd9 100644 --- a/api/envoy/config/bootstrap/v2/BUILD +++ b/api/envoy/config/bootstrap/v2/BUILD @@ -13,12 +13,12 @@ api_proto_library_internal( "//envoy/api/v2/core:address", "//envoy/api/v2/core:base", "//envoy/api/v2/core:config_source", + "//envoy/config/common/wasm/v2:wasm", "//envoy/config/metrics/v2:metrics_service", "//envoy/config/metrics/v2:stats", "//envoy/config/overload/v2alpha:overload", "//envoy/config/ratelimit/v2:rls", "//envoy/config/trace/v2:trace", - "//envoy/config/wasm/v2:wasm", ], ) @@ -32,11 +32,11 @@ api_go_proto_library( "//envoy/api/v2/core:address_go_proto", "//envoy/api/v2/core:base_go_proto", "//envoy/api/v2/core:config_source_go_proto", + "//envoy/config/common/wasm/v2:wasm_go_proto", "//envoy/config/metrics/v2:metrics_service_go_proto", "//envoy/config/metrics/v2:stats_go_proto", "//envoy/config/overload/v2alpha:overload_go_proto", "//envoy/config/ratelimit/v2:rls_go_grpc", "//envoy/config/trace/v2:trace_go_proto", - "//envoy/config/wasm/v2:wasm_go_proto", ], ) diff --git a/api/envoy/config/bootstrap/v2/bootstrap.proto b/api/envoy/config/bootstrap/v2/bootstrap.proto index 02fb02e8c336..9714cf279312 100644 --- a/api/envoy/config/bootstrap/v2/bootstrap.proto +++ b/api/envoy/config/bootstrap/v2/bootstrap.proto @@ -19,7 +19,7 @@ import "envoy/config/trace/v2/trace.proto"; import "envoy/config/metrics/v2/stats.proto"; import "envoy/config/overload/v2alpha/overload.proto"; import "envoy/config/ratelimit/v2/rls.proto"; -import "envoy/config/wasm/v2/wasm.proto"; +import "envoy/config/common/wasm/v2/wasm.proto"; import "google/protobuf/duration.proto"; @@ -122,7 +122,7 @@ message Bootstrap { envoy.config.overload.v2alpha.OverloadManager overload_manager = 15; // Configuration for an wasm service provider(s). - repeated envoy.config.wasm.v2.WasmConfig wasm_service = 16; + repeated envoy.config.common.wasm.v2.WasmConfig wasm_service = 16; } // Administration interface :ref:`operations documentation diff --git a/api/envoy/config/wasm/v2/BUILD b/api/envoy/config/common/wasm/v2/BUILD similarity index 100% rename from api/envoy/config/wasm/v2/BUILD rename to api/envoy/config/common/wasm/v2/BUILD diff --git a/api/envoy/config/wasm/v2/wasm.proto b/api/envoy/config/common/wasm/v2/wasm.proto similarity index 88% rename from api/envoy/config/wasm/v2/wasm.proto rename to api/envoy/config/common/wasm/v2/wasm.proto index cd91bad14840..ef6240c2873a 100644 --- a/api/envoy/config/wasm/v2/wasm.proto +++ b/api/envoy/config/common/wasm/v2/wasm.proto @@ -1,14 +1,14 @@ syntax = "proto3"; -// [#protodoc-title: Metrics service] - -package envoy.config.wasm.v2; -option java_package = "io.envoyproxy.envoy.config.wasm.v2"; - import "envoy/api/v2/core/base.proto"; import "validate/validate.proto"; +package envoy.config.common.wasm.v2; +option java_package = "io.envoyproxy.envoy.config.common.wasm.v2"; + +// [#protodoc-title: Common WASM configuration] + message VmConfig { // The Wasm VM type (see source/extensions/commmon/wasm/well_known_names.h). string vm = 1; diff --git a/api/envoy/config/filter/http/wasm/v2/BUILD b/api/envoy/config/filter/http/wasm/v2/BUILD index e014b245322f..f13b556c8a7b 100644 --- a/api/envoy/config/filter/http/wasm/v2/BUILD +++ b/api/envoy/config/filter/http/wasm/v2/BUILD @@ -6,6 +6,6 @@ api_proto_library_internal( name = "wasm", srcs = ["wasm.proto"], deps = [ - "//envoy/config/wasm/v2:wasm", + "//envoy/config/common/wasm/v2:wasm", ], ) diff --git a/api/envoy/config/filter/http/wasm/v2/wasm.proto b/api/envoy/config/filter/http/wasm/v2/wasm.proto index 433e4a04f852..f7c096cce6a3 100644 --- a/api/envoy/config/filter/http/wasm/v2/wasm.proto +++ b/api/envoy/config/filter/http/wasm/v2/wasm.proto @@ -4,7 +4,7 @@ package envoy.config.filter.http.wasm.v2; option java_package = "io.envoyproxy.envoy.config.filter.http.wasm.v2"; option go_package = "v2"; import "validate/validate.proto"; -import "envoy/config/wasm/v2/wasm.proto"; +import "envoy/config/common/wasm/v2/wasm.proto"; // [#protodoc-title: Wasm] // Wasm :ref:`configuration overview `. @@ -13,7 +13,7 @@ message Wasm { // A unique ID so that multiple filters/services can call into the same VM. string id = 1; // Configuration for starting a new VM (optionally associated with the given 'id'). - envoy.config.wasm.v2.VmConfig vm_config = 2; + envoy.config.common.wasm.v2.VmConfig vm_config = 2; // Wasm service configuration string e.g. a serialized protobuf which will be the // argument to the VM configure() call. string configuration = 3; diff --git a/include/envoy/server/wasm_config.h b/include/envoy/server/wasm_config.h index 07d91a0d0d4d..62906284a175 100644 --- a/include/envoy/server/wasm_config.h +++ b/include/envoy/server/wasm_config.h @@ -52,7 +52,7 @@ class WasmFactory { * @throw EnvoyException if the implementation is unable to produce an instance with * the provided parameters. */ - virtual WasmPtr createWasm(const envoy::config::wasm::v2::WasmConfig& config, + virtual WasmPtr createWasm(const envoy::config::common::wasm::v2::WasmConfig& config, WasmFactoryContext& context) PURE; }; diff --git a/source/extensions/common/wasm/BUILD b/source/extensions/common/wasm/BUILD index 752ec4ceeddd..99b4e5e1c634 100644 --- a/source/extensions/common/wasm/BUILD +++ b/source/extensions/common/wasm/BUILD @@ -16,6 +16,22 @@ envoy_cc_library( ], ) +envoy_cc_library( + name = "config", + srcs = ["config.cc"], + hdrs = ["config.h"], + deps = [ + "//include/envoy/registry", + "//include/envoy/server:wasm_config_interface", + "//source/common/common:assert_lib", + "//source/common/common:empty_string", + "//source/common/config:datasource_lib", + "//source/common/protobuf:utility_lib", + "//source/extensions/common/wasm:wasm_lib", + "//source/extensions/grpc_credentials:well_known_names", + ], +) + envoy_cc_library( name = "wasm_hdr", hdrs = ["wasm.h"], diff --git a/source/extensions/wasm/config.cc b/source/extensions/common/wasm/config.cc similarity index 91% rename from source/extensions/wasm/config.cc rename to source/extensions/common/wasm/config.cc index 4e7045f32c6d..09d93ca0740b 100644 --- a/source/extensions/wasm/config.cc +++ b/source/extensions/common/wasm/config.cc @@ -1,4 +1,4 @@ -#include "extensions/wasm/config.h" +#include "extensions/common/wasm/config.h" #include @@ -16,7 +16,7 @@ namespace Wasm { static const std::string INLINE_STRING = ""; -Server::WasmPtr WasmFactory::createWasm(const envoy::config::wasm::v2::WasmConfig& config, +Server::WasmPtr WasmFactory::createWasm(const envoy::config::common::wasm::v2::WasmConfig& config, Server::Configuration::WasmFactoryContext& context) { if (config.singleton()) { auto wasm = Common::Wasm::createWasm(config.id(), config.vm_config(), context.api()); diff --git a/source/extensions/wasm/config.h b/source/extensions/common/wasm/config.h similarity index 76% rename from source/extensions/wasm/config.h rename to source/extensions/common/wasm/config.h index fbcf9e35c166..f35a1e366a8e 100644 --- a/source/extensions/wasm/config.h +++ b/source/extensions/common/wasm/config.h @@ -1,6 +1,6 @@ #pragma once -#include "envoy/config/wasm/v2/wasm.pb.validate.h" +#include "envoy/config/common/wasm/v2/wasm.pb.validate.h" #include "envoy/server/wasm_config.h" #include "extensions/common/wasm/wasm.h" @@ -13,7 +13,7 @@ class WasmFactory : public Server::Configuration::WasmFactory { public: ~WasmFactory() override {} std::string name() override { return "envoy.wasm"; } - Server::WasmPtr createWasm(const envoy::config::wasm::v2::WasmConfig& config, + Server::WasmPtr createWasm(const envoy::config::common::wasm::v2::WasmConfig& config, Server::Configuration::WasmFactoryContext& context) override; }; diff --git a/source/extensions/common/wasm/wasm.cc b/source/extensions/common/wasm/wasm.cc index f5a5172940b8..53a026a20887 100644 --- a/source/extensions/common/wasm/wasm.cc +++ b/source/extensions/common/wasm/wasm.cc @@ -7,7 +7,7 @@ #include #include "envoy/common/exception.h" -#include "envoy/config/wasm/v2/wasm.pb.validate.h" +#include "envoy/config/common/wasm/v2/wasm.pb.validate.h" #include "envoy/http/codes.h" #include "envoy/server/wasm.h" #include "envoy/thread_local/thread_local.h" @@ -1191,7 +1191,7 @@ std::unique_ptr createWasmVm(absl::string_view wasm_vm) { } std::unique_ptr createWasm(absl::string_view id, - const envoy::config::wasm::v2::VmConfig& vm_config, + const envoy::config::common::wasm::v2::VmConfig& vm_config, Api::Api& api) { auto wasm = std::make_unique(vm_config.vm(), id); const auto& code = Config::DataSource::read(vm_config.code(), true, api); @@ -1207,10 +1207,10 @@ std::unique_ptr createWasm(absl::string_view id, return wasm; } -std::shared_ptr createThreadLocalWasm(Wasm& base_wasm, - const envoy::config::wasm::v2::VmConfig& vm_config, - Event::Dispatcher& dispatcher, - absl::string_view configuration, Api::Api& api) { +std::shared_ptr +createThreadLocalWasm(Wasm& base_wasm, const envoy::config::common::wasm::v2::VmConfig& vm_config, + Event::Dispatcher& dispatcher, absl::string_view configuration, + Api::Api& api) { std::shared_ptr wasm; if (base_wasm.wasmVm()->clonable()) { wasm = std::make_shared(base_wasm); diff --git a/source/extensions/common/wasm/wasm.h b/source/extensions/common/wasm/wasm.h index 127eba81b5a8..af6c30a288dc 100644 --- a/source/extensions/common/wasm/wasm.h +++ b/source/extensions/common/wasm/wasm.h @@ -5,7 +5,7 @@ #include "envoy/access_log/access_log.h" #include "envoy/buffer/buffer.h" #include "envoy/common/exception.h" -#include "envoy/config/wasm/v2/wasm.pb.validate.h" +#include "envoy/config/common/wasm/v2/wasm.pb.validate.h" #include "envoy/http/filter.h" #include "envoy/server/wasm.h" #include "envoy/thread_local/thread_local.h" @@ -434,12 +434,13 @@ std::unique_ptr createWasmVm(absl::string_view vm); // Create a new Wasm VM not attached to any thread. Note: 'id' may be empty if this VM will not be // shared by APIs (e.g. HTTP Filter + AccessLog). std::unique_ptr createWasm(absl::string_view id, - const envoy::config::wasm::v2::VmConfig& vm_config, Api::Api& api); + const envoy::config::common::wasm::v2::VmConfig& vm_config, + Api::Api& api); // Create a ThreadLocal VM from an existing VM (e.g. from createWasm() above). -std::shared_ptr createThreadLocalWasm(Wasm& base_wasm, - const envoy::config::wasm::v2::VmConfig& vm_config, - Event::Dispatcher& dispatcher, - absl::string_view configuration, Api::Api& api); +std::shared_ptr +createThreadLocalWasm(Wasm& base_wasm, const envoy::config::common::wasm::v2::VmConfig& vm_config, + Event::Dispatcher& dispatcher, absl::string_view configuration, + Api::Api& api); // Get an existing ThreadLocal VM matching 'id'. std::shared_ptr getThreadLocalWasm(absl::string_view id, absl::string_view configuration); diff --git a/source/extensions/common/wasm/wavm/BUILD b/source/extensions/common/wasm/wavm/BUILD index e077a80794e6..ecf037e81aa0 100644 --- a/source/extensions/common/wasm/wavm/BUILD +++ b/source/extensions/common/wasm/wavm/BUILD @@ -34,6 +34,6 @@ envoy_cc_library( "//source/common/protobuf", "//source/extensions/common/wasm:wasm_hdr", "//source/extensions/common/wasm:well_known_names", - "@envoy_api//envoy/config/wasm/v2:wasm_cc", + "@envoy_api//envoy/config/common/wasm/v2:wasm_cc", ], ) diff --git a/source/extensions/common/wasm/wavm/wavm.h b/source/extensions/common/wasm/wavm/wavm.h index f818e3afd712..57c6fa28a242 100644 --- a/source/extensions/common/wasm/wavm/wavm.h +++ b/source/extensions/common/wasm/wavm/wavm.h @@ -5,7 +5,7 @@ #include #include "envoy/common/exception.h" -#include "envoy/config/wasm/v2/wasm.pb.validate.h" +#include "envoy/config/common/wasm/v2/wasm.pb.validate.h" #include "envoy/server/wasm.h" #include "envoy/thread_local/thread_local.h" diff --git a/source/extensions/extensions_build_config.bzl b/source/extensions/extensions_build_config.bzl index b1eee873af46..e6baf13562ae 100644 --- a/source/extensions/extensions_build_config.bzl +++ b/source/extensions/extensions_build_config.bzl @@ -14,11 +14,6 @@ EXTENSIONS = { "envoy.grpc_credentials.file_based_metadata": "//source/extensions/grpc_credentials/file_based_metadata:config", - # - # WASM - # - "envoy.wasm": "//source/extensions/wasm:config", - # # Health checkers # diff --git a/source/extensions/wasm/BUILD b/source/extensions/wasm/BUILD deleted file mode 100644 index 281dc324d54d..000000000000 --- a/source/extensions/wasm/BUILD +++ /dev/null @@ -1,27 +0,0 @@ -licenses(["notice"]) # Apache 2 - -# WASM service. - -load( - "//bazel:envoy_build_system.bzl", - "envoy_cc_library", - "envoy_package", -) - -envoy_package() - -envoy_cc_library( - name = "config", - srcs = ["config.cc"], - hdrs = ["config.h"], - deps = [ - "//include/envoy/registry", - "//include/envoy/server:wasm_config_interface", - "//source/common/common:assert_lib", - "//source/common/common:empty_string", - "//source/common/config:datasource_lib", - "//source/common/protobuf:utility_lib", - "//source/extensions/common/wasm:wasm_lib", - "//source/extensions/grpc_credentials:well_known_names", - ], -) diff --git a/source/server/BUILD b/source/server/BUILD index 6f9e2bdca52e..0c3a4e6e884d 100644 --- a/source/server/BUILD +++ b/source/server/BUILD @@ -46,7 +46,7 @@ envoy_cc_library( "//source/extensions/filters/common/ratelimit:ratelimit_registration_lib", "@envoy_api//envoy/api/v2:lds_cc", "@envoy_api//envoy/config/bootstrap/v2:bootstrap_cc", - "@envoy_api//envoy/config/wasm/v2:wasm_cc", + "@envoy_api//envoy/config/common/wasm/v2:wasm_cc", ], ) diff --git a/source/server/configuration_impl.h b/source/server/configuration_impl.h index a8906515d9b5..282b95fb410e 100644 --- a/source/server/configuration_impl.h +++ b/source/server/configuration_impl.h @@ -10,7 +10,7 @@ #include #include "envoy/config/bootstrap/v2/bootstrap.pb.h" -#include "envoy/config/wasm/v2/wasm.pb.h" +#include "envoy/config/common/wasm/v2/wasm.pb.h" #include "envoy/http/filter.h" #include "envoy/network/filter.h" #include "envoy/server/configuration.h" diff --git a/test/extensions/wasm/BUILD b/test/extensions/common/wasm/BUILD similarity index 68% rename from test/extensions/wasm/BUILD rename to test/extensions/common/wasm/BUILD index f06b92436a0a..e9b74291ecb6 100644 --- a/test/extensions/wasm/BUILD +++ b/test/extensions/common/wasm/BUILD @@ -2,50 +2,45 @@ licenses(["notice"]) # Apache 2 load( "//bazel:envoy_build_system.bzl", + "envoy_cc_test", "envoy_package", ) -load( - "//test/extensions:extensions_build_system.bzl", - "envoy_extension_cc_test", -) envoy_package() -envoy_extension_cc_test( +envoy_cc_test( name = "wasm_test", srcs = ["wasm_test.cc"], data = [ - "//test/extensions/wasm/test_data:modules", + "//test/extensions/common/wasm/test_data:modules", ], - extension_name = "envoy.wasm", external_deps = ["abseil_optional"], deps = [ "//source/common/event:dispatcher_lib", "//source/common/stats:isolated_store_lib", "//source/common/stats:stats_lib", + "//source/extensions/common/wasm:config", "//source/extensions/common/wasm:wasm_lib", - "//source/extensions/wasm:config", "//test/test_common:environment_lib", "//test/test_common:simulated_time_system_lib", ], ) -envoy_extension_cc_test( +envoy_cc_test( name = "config_test", srcs = ["config_test.cc"], data = [ - "//test/extensions/wasm/test_data:modules", + "//test/extensions/common/wasm/test_data:modules", ], - extension_name = "envoy.wasm", deps = [ "//include/envoy/registry", "//source/common/stats:isolated_store_lib", + "//source/extensions/common/wasm:config", "//source/extensions/common/wasm:wasm_lib", - "//source/extensions/wasm:config", "//source/server:wasm_config_lib", "//test/mocks/event:event_mocks", "//test/mocks/thread_local:thread_local_mocks", "//test/test_common:environment_lib", - "@envoy_api//envoy/config/wasm/v2:wasm_cc", + "@envoy_api//envoy/config/common/wasm/v2:wasm_cc", ], ) diff --git a/test/extensions/wasm/config_test.cc b/test/extensions/common/wasm/config_test.cc similarity index 86% rename from test/extensions/wasm/config_test.cc rename to test/extensions/common/wasm/config_test.cc index 7df75f0645d2..6ef77f4f542b 100644 --- a/test/extensions/wasm/config_test.cc +++ b/test/extensions/common/wasm/config_test.cc @@ -1,13 +1,13 @@ #include -#include "envoy/config/wasm/v2/wasm.pb.validate.h" +#include "envoy/config/common/wasm/v2/wasm.pb.validate.h" #include "envoy/registry/registry.h" #include "common/stats/isolated_store_impl.h" #include "server/wasm_config_impl.h" -#include "extensions/wasm/config.h" +#include "extensions/common/wasm/config.h" #include "test/mocks/event/mocks.h" #include "test/mocks/thread_local/mocks.h" @@ -23,10 +23,10 @@ TEST(WasmFactoryTest, CreateWasmFromWASM) { auto factory = Registry::FactoryRegistry::getFactory("envoy.wasm"); ASSERT_NE(factory, nullptr); - envoy::config::wasm::v2::WasmConfig config; + envoy::config::common::wasm::v2::WasmConfig config; config.mutable_vm_config()->set_vm("envoy.wasm.vm.wavm"); - config.mutable_vm_config()->mutable_code()->set_filename( - TestEnvironment::substitute("{{ test_rundir }}/test/extensions/wasm/test_data/logging.wasm")); + config.mutable_vm_config()->mutable_code()->set_filename(TestEnvironment::substitute( + "{{ test_rundir }}/test/extensions/common/wasm/test_data/logging.wasm")); config.set_singleton(true); Event::MockDispatcher dispatcher; ThreadLocal::MockInstance tls; @@ -41,10 +41,10 @@ TEST(WasmFactoryTest, CreateWasmFromPrecompiledWASM) { auto factory = Registry::FactoryRegistry::getFactory("envoy.wasm"); ASSERT_NE(factory, nullptr); - envoy::config::wasm::v2::WasmConfig config; + envoy::config::common::wasm::v2::WasmConfig config; config.mutable_vm_config()->set_vm("envoy.wasm.vm.wavm"); - config.mutable_vm_config()->mutable_code()->set_filename( - TestEnvironment::substitute("{{ test_rundir }}/test/extensions/wasm/test_data/logging.wasm")); + config.mutable_vm_config()->mutable_code()->set_filename(TestEnvironment::substitute( + "{{ test_rundir }}/test/extensions/common/wasm/test_data/logging.wasm")); config.mutable_vm_config()->set_allow_precompiled(true); config.set_singleton(true); Event::MockDispatcher dispatcher; @@ -60,10 +60,10 @@ TEST(WasmFactoryTest, CreateWasmFromWASMPerThread) { auto factory = Registry::FactoryRegistry::getFactory("envoy.wasm"); ASSERT_NE(factory, nullptr); - envoy::config::wasm::v2::WasmConfig config; + envoy::config::common::wasm::v2::WasmConfig config; config.mutable_vm_config()->set_vm("envoy.wasm.vm.wavm"); - config.mutable_vm_config()->mutable_code()->set_filename( - TestEnvironment::substitute("{{ test_rundir }}/test/extensions/wasm/test_data/logging.wasm")); + config.mutable_vm_config()->mutable_code()->set_filename(TestEnvironment::substitute( + "{{ test_rundir }}/test/extensions/common/wasm/test_data/logging.wasm")); config.set_id("test_id"); Event::MockDispatcher dispatcher; testing::NiceMock tls; @@ -78,10 +78,10 @@ TEST(WasmFactoryTest, CreateWasmFromWAT) { auto factory = Registry::FactoryRegistry::getFactory("envoy.wasm"); ASSERT_NE(factory, nullptr); - envoy::config::wasm::v2::WasmConfig config; + envoy::config::common::wasm::v2::WasmConfig config; config.mutable_vm_config()->set_vm("envoy.wasm.vm.wavm"); - config.mutable_vm_config()->mutable_code()->set_filename( - TestEnvironment::substitute("{{ test_rundir }}/test/extensions/wasm/test_data/logging.wat")); + config.mutable_vm_config()->mutable_code()->set_filename(TestEnvironment::substitute( + "{{ test_rundir }}/test/extensions/common/wasm/test_data/logging.wat")); config.set_singleton(true); Event::MockDispatcher dispatcher; ThreadLocal::MockInstance tls; @@ -96,7 +96,7 @@ TEST(WasmFactoryTest, CreateWasmFromInlineWAT) { auto factory = Registry::FactoryRegistry::getFactory("envoy.wasm"); ASSERT_NE(factory, nullptr); - envoy::config::wasm::v2::WasmConfig config; + envoy::config::common::wasm::v2::WasmConfig config; config.mutable_vm_config()->set_vm("envoy.wasm.vm.wavm"); config.mutable_vm_config()->mutable_code()->set_inline_string( "(module\n" @@ -130,7 +130,7 @@ TEST(WasmFactoryTest, CreateWasmFromInlineWATWithAlias) { auto factory = Registry::FactoryRegistry::getFactory("envoy.wasm"); ASSERT_NE(factory, nullptr); - envoy::config::wasm::v2::WasmConfig config; + envoy::config::common::wasm::v2::WasmConfig config; config.mutable_vm_config()->set_vm("envoy.wasm.vm.wavm"); config.mutable_vm_config()->mutable_code()->set_inline_string( "(module\n" @@ -164,7 +164,7 @@ TEST(WasmFactoryTest, CreateWasmFromInlineWATWithUnderscoreAlias) { auto factory = Registry::FactoryRegistry::getFactory("envoy.wasm"); ASSERT_NE(factory, nullptr); - envoy::config::wasm::v2::WasmConfig config; + envoy::config::common::wasm::v2::WasmConfig config; config.mutable_vm_config()->set_vm("envoy.wasm.vm.wavm"); config.mutable_vm_config()->mutable_code()->set_inline_string( "(module\n" @@ -198,7 +198,7 @@ TEST(WasmFactoryTest, MissingImport) { auto factory = Registry::FactoryRegistry::getFactory("envoy.wasm"); ASSERT_NE(factory, nullptr); - envoy::config::wasm::v2::WasmConfig config; + envoy::config::common::wasm::v2::WasmConfig config; config.mutable_vm_config()->set_vm("envoy.wasm.vm.wavm"); config.mutable_vm_config()->mutable_code()->set_inline_string( "(module\n" diff --git a/test/extensions/wasm/test_data/BUILD b/test/extensions/common/wasm/test_data/BUILD similarity index 100% rename from test/extensions/wasm/test_data/BUILD rename to test/extensions/common/wasm/test_data/BUILD diff --git a/test/extensions/wasm/test_data/Makefile b/test/extensions/common/wasm/test_data/Makefile similarity index 96% rename from test/extensions/wasm/test_data/Makefile rename to test/extensions/common/wasm/test_data/Makefile index e562265ea5d6..2a2aa42b857b 100644 --- a/test/extensions/wasm/test_data/Makefile +++ b/test/extensions/common/wasm/test_data/Makefile @@ -1,6 +1,6 @@ all: logging.wasm bad_signature.wasm -API=../../../../api/wasm/cpp +API=../../../../../api/wasm/cpp logging.wasm logging.wat: logging.cc ${API}/envoy_wasm_intrinsics.h ${API}/envoy_wasm_intrinsics.js em++ -s WASM=1 --std=c++14 -O3 -g3 -I${API} --js-library ${API}/envoy_wasm_intrinsics.js logging.cc -o logging.js diff --git a/test/extensions/wasm/test_data/bad_signature.cc b/test/extensions/common/wasm/test_data/bad_signature.cc similarity index 100% rename from test/extensions/wasm/test_data/bad_signature.cc rename to test/extensions/common/wasm/test_data/bad_signature.cc diff --git a/test/extensions/wasm/test_data/bad_signature.wasm b/test/extensions/common/wasm/test_data/bad_signature.wasm similarity index 100% rename from test/extensions/wasm/test_data/bad_signature.wasm rename to test/extensions/common/wasm/test_data/bad_signature.wasm diff --git a/test/extensions/wasm/test_data/bad_signature.wat b/test/extensions/common/wasm/test_data/bad_signature.wat similarity index 100% rename from test/extensions/wasm/test_data/bad_signature.wat rename to test/extensions/common/wasm/test_data/bad_signature.wat diff --git a/test/extensions/wasm/test_data/logging.cc b/test/extensions/common/wasm/test_data/logging.cc similarity index 100% rename from test/extensions/wasm/test_data/logging.cc rename to test/extensions/common/wasm/test_data/logging.cc diff --git a/test/extensions/wasm/test_data/logging.wasm b/test/extensions/common/wasm/test_data/logging.wasm similarity index 100% rename from test/extensions/wasm/test_data/logging.wasm rename to test/extensions/common/wasm/test_data/logging.wasm diff --git a/test/extensions/wasm/test_data/logging.wat b/test/extensions/common/wasm/test_data/logging.wat similarity index 100% rename from test/extensions/wasm/test_data/logging.wat rename to test/extensions/common/wasm/test_data/logging.wat diff --git a/test/extensions/wasm/wasm_test.cc b/test/extensions/common/wasm/wasm_test.cc similarity index 91% rename from test/extensions/wasm/wasm_test.cc rename to test/extensions/common/wasm/wasm_test.cc index fddfbdb6eba2..3f5ffd517e11 100644 --- a/test/extensions/wasm/wasm_test.cc +++ b/test/extensions/common/wasm/wasm_test.cc @@ -34,8 +34,8 @@ TEST(WasmTest, Logging) { Event::DispatcherImpl dispatcher(time_system, *api); auto wasm = std::make_unique("envoy.wasm.vm.wavm", ""); EXPECT_NE(wasm, nullptr); - const auto code = TestEnvironment::readFileToStringForTest( - TestEnvironment::substitute("{{ test_rundir }}/test/extensions/wasm/test_data/logging.wasm")); + const auto code = TestEnvironment::readFileToStringForTest(TestEnvironment::substitute( + "{{ test_rundir }}/test/extensions/common/wasm/test_data/logging.wasm")); EXPECT_FALSE(code.empty()); auto context = std::make_unique(wasm.get()); @@ -60,7 +60,7 @@ TEST(WasmTest, BadkSignature) { auto wasm = std::make_unique("envoy.wasm.vm.wavm", ""); EXPECT_NE(wasm, nullptr); const auto code = TestEnvironment::readFileToStringForTest(TestEnvironment::substitute( - "{{ test_rundir }}/test/extensions/wasm/test_data/bad_signature.wasm")); + "{{ test_rundir }}/test/extensions/common/wasm/test_data/bad_signature.wasm")); EXPECT_FALSE(code.empty()); auto context = std::make_unique(wasm.get()); EXPECT_THROW_WITH_MESSAGE(wasm->initialize(code, "", false), From a8208dc3e7c6969b90c8cda81dc3731c2cd21142 Mon Sep 17 00:00:00 2001 From: Piotr Sikora Date: Thu, 7 Feb 2019 23:41:18 +0000 Subject: [PATCH 2/2] review: fix order. Signed-off-by: Piotr Sikora --- api/envoy/config/bootstrap/v2/bootstrap.proto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/envoy/config/bootstrap/v2/bootstrap.proto b/api/envoy/config/bootstrap/v2/bootstrap.proto index 9714cf279312..bddba6bcd970 100644 --- a/api/envoy/config/bootstrap/v2/bootstrap.proto +++ b/api/envoy/config/bootstrap/v2/bootstrap.proto @@ -15,11 +15,11 @@ import "envoy/api/v2/auth/cert.proto"; import "envoy/api/v2/core/config_source.proto"; import "envoy/api/v2/cds.proto"; import "envoy/api/v2/lds.proto"; -import "envoy/config/trace/v2/trace.proto"; +import "envoy/config/common/wasm/v2/wasm.proto"; import "envoy/config/metrics/v2/stats.proto"; import "envoy/config/overload/v2alpha/overload.proto"; import "envoy/config/ratelimit/v2/rls.proto"; -import "envoy/config/common/wasm/v2/wasm.proto"; +import "envoy/config/trace/v2/trace.proto"; import "google/protobuf/duration.proto";