/proc/self/cwd/test/test_common/utility.h
Line | Count | Source (jump to first uncovered line) |
1 | | #pragma once |
2 | | |
3 | | #include <cstdlib> |
4 | | #include <list> |
5 | | #include <random> |
6 | | #include <string> |
7 | | #include <vector> |
8 | | |
9 | | #include "envoy/api/api.h" |
10 | | #include "envoy/buffer/buffer.h" |
11 | | #include "envoy/network/address.h" |
12 | | #include "envoy/stats/stats.h" |
13 | | #include "envoy/stats/store.h" |
14 | | #include "envoy/thread/thread.h" |
15 | | #include "envoy/tracing/trace_context.h" |
16 | | #include "envoy/type/matcher/v3/string.pb.h" |
17 | | #include "envoy/type/v3/percent.pb.h" |
18 | | |
19 | | #include "source/common/buffer/buffer_impl.h" |
20 | | #include "source/common/common/c_smart_ptr.h" |
21 | | #include "source/common/common/empty_string.h" |
22 | | #include "source/common/common/thread.h" |
23 | | #include "source/common/config/decoded_resource_impl.h" |
24 | | #include "source/common/config/opaque_resource_decoder_impl.h" |
25 | | #include "source/common/http/header_map_impl.h" |
26 | | #include "source/common/protobuf/message_validator_impl.h" |
27 | | #include "source/common/protobuf/utility.h" |
28 | | #include "source/common/stats/symbol_table.h" |
29 | | |
30 | | #include "test/test_common/file_system_for_test.h" |
31 | | #include "test/test_common/logging.h" |
32 | | #include "test/test_common/printers.h" |
33 | | #include "test/test_common/test_random_generator.h" |
34 | | #include "test/test_common/test_time_system.h" |
35 | | #include "test/test_common/thread_factory_for_test.h" |
36 | | |
37 | | #include "absl/strings/string_view.h" |
38 | | #include "absl/time/time.h" |
39 | | #include "gmock/gmock.h" |
40 | | #include "gtest/gtest.h" |
41 | | |
42 | | using testing::_; // NOLINT(misc-unused-using-decls) |
43 | | using testing::AssertionFailure; |
44 | | using testing::AssertionResult; |
45 | | using testing::AssertionSuccess; |
46 | | using testing::Invoke; // NOLINT(misc-unused-using-decls) |
47 | | |
48 | | namespace Envoy { |
49 | | |
50 | | #if defined(__has_feature) && \ |
51 | | (__has_feature(thread_sanitizer) || __has_feature(memory_sanitizer) || \ |
52 | | __has_feature(address_sanitizer)) |
53 | | #define TIMEOUT_FACTOR 3 |
54 | | #elif defined(ENVOY_CONFIG_COVERAGE) |
55 | | #define TIMEOUT_FACTOR 3 |
56 | | #else |
57 | 208 | #define TIMEOUT_FACTOR 1 |
58 | | #endif |
59 | | |
60 | | /* |
61 | | Macro to use for validating that a statement throws the specified type of exception, and that |
62 | | the exception's what() method returns a string which is matched by the specified matcher. |
63 | | This allows for expectations such as: |
64 | | |
65 | | EXPECT_THAT_THROWS_MESSAGE( |
66 | | bad_function_call(), |
67 | | EnvoyException, |
68 | | AllOf(StartsWith("expected prefix"), HasSubstr("some substring"))); |
69 | | */ |
70 | | #define EXPECT_THAT_THROWS_MESSAGE(statement, expected_exception, matcher) \ |
71 | | try { \ |
72 | | statement; \ |
73 | | ADD_FAILURE() << "Exception should take place. It did not."; \ |
74 | | } catch (expected_exception & e) { \ |
75 | | EXPECT_THAT(std::string(e.what()), matcher); \ |
76 | | } |
77 | | |
78 | | // Expect that the statement throws the specified type of exception with exactly the specified |
79 | | // message. |
80 | | #define EXPECT_THROW_WITH_MESSAGE(statement, expected_exception, message) \ |
81 | | EXPECT_THAT_THROWS_MESSAGE(statement, expected_exception, ::testing::Eq(message)) |
82 | | |
83 | | // Expect that the statement throws the specified type of exception with a message containing a |
84 | | // substring matching the specified regular expression (i.e. the regex doesn't have to match |
85 | | // the entire message). |
86 | | #define EXPECT_THROW_WITH_REGEX(statement, expected_exception, regex_str) \ |
87 | | EXPECT_THAT_THROWS_MESSAGE(statement, expected_exception, ::testing::ContainsRegex(regex_str)) |
88 | | |
89 | | // Expect that the statement throws the specified type of exception with a message that does not |
90 | | // contain any substring matching the specified regular expression. |
91 | | #define EXPECT_THROW_WITHOUT_REGEX(statement, expected_exception, regex_str) \ |
92 | | EXPECT_THAT_THROWS_MESSAGE(statement, expected_exception, \ |
93 | | ::testing::Not(::testing::ContainsRegex(regex_str))) |
94 | | |
95 | | // Expect that the statement hits an ENVOY_BUG containing the specified message. |
96 | | #if defined(NDEBUG) || defined(ENVOY_CONFIG_COVERAGE) |
97 | | // ENVOY_BUGs in release mode or in a coverage test log error. |
98 | | #define EXPECT_ENVOY_BUG(statement, message) EXPECT_LOG_CONTAINS("error", message, statement) |
99 | | #else |
100 | | // ENVOY_BUGs in (non-coverage) debug mode is fatal. |
101 | | #define EXPECT_ENVOY_BUG(statement, message) \ |
102 | | EXPECT_DEBUG_DEATH(statement, ::testing::HasSubstr(message)) |
103 | | #endif |
104 | | |
105 | | #define VERBOSE_EXPECT_NO_THROW(statement) \ |
106 | | try { \ |
107 | | statement; \ |
108 | | } catch (EnvoyException & e) { \ |
109 | | ADD_FAILURE() << "Unexpected exception: " << std::string(e.what()); \ |
110 | | } |
111 | | |
112 | | #define VERIFY_ASSERTION(statement) \ |
113 | 278 | do { \ |
114 | 278 | ::testing::AssertionResult status = statement; \ |
115 | 278 | if (!status) { \ |
116 | 0 | return status; \ |
117 | 0 | } \ |
118 | 278 | } while (false) |
119 | | |
120 | | // A convenience macro for testing Envoy deprecated features. This will disable the test when |
121 | | // tests are built with --define deprecated_features=disabled to avoid the hard-failure mode for |
122 | | // deprecated features. Sample usage is: |
123 | | // |
124 | | // TEST_F(FixtureName, DEPRECATED_FEATURE_TEST(TestName)) { |
125 | | // ... |
126 | | // } |
127 | | #ifndef ENVOY_DISABLE_DEPRECATED_FEATURES |
128 | | #define DEPRECATED_FEATURE_TEST(X) X |
129 | | #else |
130 | | #define DEPRECATED_FEATURE_TEST(X) DISABLED_##X |
131 | | #endif |
132 | | |
133 | | class TestEnvoyBug { |
134 | | public: |
135 | 0 | static void callEnvoyBug() { ENVOY_BUG(false, ""); } |
136 | | }; |
137 | | |
138 | | // See https://github.com/envoyproxy/envoy/issues/21245. |
139 | | enum class Http1ParserImpl { |
140 | | HttpParser, // http-parser from node.js |
141 | | BalsaParser // Balsa from QUICHE |
142 | | }; |
143 | | |
144 | | class TestUtility { |
145 | | public: |
146 | | /** |
147 | | * Compare 2 HeaderMaps. |
148 | | * @param lhs supplies HeaderMap 1. |
149 | | * @param rhs supplies HeaderMap 2. |
150 | | * @return TRUE if the HeaderMaps are equal, ignoring the order of the |
151 | | * headers, false if not. |
152 | | */ |
153 | | static bool headerMapEqualIgnoreOrder(const Http::HeaderMap& lhs, const Http::HeaderMap& rhs); |
154 | | |
155 | | /** |
156 | | * Compare 2 buffers. |
157 | | * @param lhs supplies buffer 1. |
158 | | * @param rhs supplies buffer 2. |
159 | | * @return TRUE if the buffers contain equal content |
160 | | * (i.e., if lhs.toString() == rhs.toString()), false if not. |
161 | | */ |
162 | | static bool buffersEqual(const Buffer::Instance& lhs, const Buffer::Instance& rhs); |
163 | | |
164 | | /** |
165 | | * Compare 2 RawSlice pointers. |
166 | | * @param lhs supplies raw slice 1. |
167 | | * @param rhs supplies raw slice 2. |
168 | | * @param num_slices The number of slices to compare. It is assumed lhs and rhs have the same |
169 | | * number. |
170 | | * @return true if for num_slices, all lhs raw slices are equal to the corresponding rhs raw slice |
171 | | * in length and a byte by byte data comparison. false otherwise |
172 | | */ |
173 | | static bool rawSlicesEqual(const Buffer::RawSlice* lhs, const Buffer::RawSlice* rhs, |
174 | | size_t num_slices); |
175 | | |
176 | | /** |
177 | | * Feed a buffer with random characters. |
178 | | * @param buffer supplies the buffer to be fed. |
179 | | * @param n_char number of characters that should be added to the supplied buffer. |
180 | | * @param seed seeds pseudo-random number generator (default = 0). |
181 | | * @param n_slice number of slices (default = 1). |
182 | | */ |
183 | | static void feedBufferWithRandomCharacters(Buffer::Instance& buffer, uint64_t n_char, |
184 | | uint64_t seed = 0, uint64_t n_slice = 1); |
185 | | |
186 | | /** |
187 | | * Finds a stat in a vector with the given name. |
188 | | * @param name the stat name to look for. |
189 | | * @param v the vector of stats. |
190 | | * @return the stat |
191 | | */ |
192 | 9.86k | template <typename T> static T findByName(const std::vector<T>& v, const std::string& name) { |
193 | 9.86k | auto pos = std::find_if(v.begin(), v.end(), |
194 | 1.44M | [&name](const T& stat) -> bool { return stat->name() == name; }); Envoy::TestUtility::findByName<Envoy::Stats::RefcountPtr<Envoy::Stats::Counter> >(std::__1::vector<Envoy::Stats::RefcountPtr<Envoy::Stats::Counter>, std::__1::allocator<Envoy::Stats::RefcountPtr<Envoy::Stats::Counter> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::{lambda(Envoy::Stats::RefcountPtr<Envoy::Stats::Counter> const&)#1}::operator()(Envoy::Stats::RefcountPtr<Envoy::Stats::Counter> const&) const Line | Count | Source | 194 | 1.36M | [&name](const T& stat) -> bool { return stat->name() == name; }); |
Envoy::TestUtility::findByName<Envoy::Stats::RefcountPtr<Envoy::Stats::Gauge> >(std::__1::vector<Envoy::Stats::RefcountPtr<Envoy::Stats::Gauge>, std::__1::allocator<Envoy::Stats::RefcountPtr<Envoy::Stats::Gauge> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::{lambda(Envoy::Stats::RefcountPtr<Envoy::Stats::Gauge> const&)#1}::operator()(Envoy::Stats::RefcountPtr<Envoy::Stats::Gauge> const&) const Line | Count | Source | 194 | 73.1k | [&name](const T& stat) -> bool { return stat->name() == name; }); |
Unexecuted instantiation: Envoy::TestUtility::findByName<Envoy::Stats::RefcountPtr<Envoy::Stats::TextReadout> >(std::__1::vector<Envoy::Stats::RefcountPtr<Envoy::Stats::TextReadout>, std::__1::allocator<Envoy::Stats::RefcountPtr<Envoy::Stats::TextReadout> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::{lambda(Envoy::Stats::RefcountPtr<Envoy::Stats::TextReadout> const&)#1}::operator()(Envoy::Stats::RefcountPtr<Envoy::Stats::TextReadout> const&) const Unexecuted instantiation: Envoy::TestUtility::findByName<Envoy::Stats::RefcountPtr<Envoy::Stats::ParentHistogram> >(std::__1::vector<Envoy::Stats::RefcountPtr<Envoy::Stats::ParentHistogram>, std::__1::allocator<Envoy::Stats::RefcountPtr<Envoy::Stats::ParentHistogram> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::{lambda(Envoy::Stats::RefcountPtr<Envoy::Stats::ParentHistogram> const&)#1}::operator()(Envoy::Stats::RefcountPtr<Envoy::Stats::ParentHistogram> const&) const |
195 | 9.86k | if (pos == v.end()) { |
196 | 0 | return nullptr; |
197 | 0 | } |
198 | 9.86k | return *pos; |
199 | 9.86k | } Envoy::Stats::RefcountPtr<Envoy::Stats::Counter> Envoy::TestUtility::findByName<Envoy::Stats::RefcountPtr<Envoy::Stats::Counter> >(std::__1::vector<Envoy::Stats::RefcountPtr<Envoy::Stats::Counter>, std::__1::allocator<Envoy::Stats::RefcountPtr<Envoy::Stats::Counter> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 192 | 8.98k | template <typename T> static T findByName(const std::vector<T>& v, const std::string& name) { | 193 | 8.98k | auto pos = std::find_if(v.begin(), v.end(), | 194 | 8.98k | [&name](const T& stat) -> bool { return stat->name() == name; }); | 195 | 8.98k | if (pos == v.end()) { | 196 | 0 | return nullptr; | 197 | 0 | } | 198 | 8.98k | return *pos; | 199 | 8.98k | } |
Envoy::Stats::RefcountPtr<Envoy::Stats::Gauge> Envoy::TestUtility::findByName<Envoy::Stats::RefcountPtr<Envoy::Stats::Gauge> >(std::__1::vector<Envoy::Stats::RefcountPtr<Envoy::Stats::Gauge>, std::__1::allocator<Envoy::Stats::RefcountPtr<Envoy::Stats::Gauge> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 192 | 874 | template <typename T> static T findByName(const std::vector<T>& v, const std::string& name) { | 193 | 874 | auto pos = std::find_if(v.begin(), v.end(), | 194 | 874 | [&name](const T& stat) -> bool { return stat->name() == name; }); | 195 | 874 | if (pos == v.end()) { | 196 | 0 | return nullptr; | 197 | 0 | } | 198 | 874 | return *pos; | 199 | 874 | } |
Unexecuted instantiation: Envoy::Stats::RefcountPtr<Envoy::Stats::TextReadout> Envoy::TestUtility::findByName<Envoy::Stats::RefcountPtr<Envoy::Stats::TextReadout> >(std::__1::vector<Envoy::Stats::RefcountPtr<Envoy::Stats::TextReadout>, std::__1::allocator<Envoy::Stats::RefcountPtr<Envoy::Stats::TextReadout> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Unexecuted instantiation: Envoy::Stats::RefcountPtr<Envoy::Stats::ParentHistogram> Envoy::TestUtility::findByName<Envoy::Stats::RefcountPtr<Envoy::Stats::ParentHistogram> >(std::__1::vector<Envoy::Stats::RefcountPtr<Envoy::Stats::ParentHistogram>, std::__1::allocator<Envoy::Stats::RefcountPtr<Envoy::Stats::ParentHistogram> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) |
200 | | |
201 | | /** |
202 | | * Find a counter in a stats store. |
203 | | * @param store supplies the stats store. |
204 | | * @param name supplies the name to search for. |
205 | | * @return Stats::CounterSharedPtr the counter or nullptr if there is none. |
206 | | */ |
207 | | static Stats::CounterSharedPtr findCounter(Stats::Store& store, const std::string& name); |
208 | | |
209 | | /** |
210 | | * Find a gauge in a stats store. |
211 | | * @param store supplies the stats store. |
212 | | * @param name supplies the name to search for. |
213 | | * @return Stats::GaugeSharedPtr the gauge or nullptr if there is none. |
214 | | */ |
215 | | static Stats::GaugeSharedPtr findGauge(Stats::Store& store, const std::string& name); |
216 | | |
217 | | /** |
218 | | * Find a histogram in a stats store. |
219 | | * @param store supplies the stats store. |
220 | | * @param name supplies the name to search for. |
221 | | * @return Stats::ParentHistogramSharedPtr the histogram or nullptr if there is none. |
222 | | */ |
223 | | static Stats::ParentHistogramSharedPtr findHistogram(Stats::Store& store, |
224 | | const std::string& name); |
225 | | |
226 | | /** |
227 | | * Wait for a counter to == a given value. |
228 | | * @param store supplies the stats store. |
229 | | * @param name supplies the name of the counter to wait for. |
230 | | * @param value supplies the value of the counter. |
231 | | * @param time_system the time system to use for waiting. |
232 | | * @param timeout the maximum time to wait before timing out, or 0 for no timeout. |
233 | | * @param dispatcher the dispatcher to run non-blocking periodically during the wait. |
234 | | * @return AssertionSuccess() if the counter was == to the value within the timeout, else |
235 | | * AssertionFailure(). |
236 | | */ |
237 | | static AssertionResult |
238 | | waitForCounterEq(Stats::Store& store, const std::string& name, uint64_t value, |
239 | | Event::TestTimeSystem& time_system, |
240 | | std::chrono::milliseconds timeout = std::chrono::milliseconds::zero(), |
241 | | Event::Dispatcher* dispatcher = nullptr); |
242 | | |
243 | | /** |
244 | | * Wait for a counter to >= a given value. |
245 | | * @param store supplies the stats store. |
246 | | * @param name counter name. |
247 | | * @param value target value. |
248 | | * @param time_system the time system to use for waiting. |
249 | | * @param timeout the maximum time to wait before timing out, or 0 for no timeout. |
250 | | * @return AssertionSuccess() if the counter was >= the value within the timeout, else |
251 | | * AssertionFailure(). |
252 | | */ |
253 | | static AssertionResult |
254 | | waitForCounterGe(Stats::Store& store, const std::string& name, uint64_t value, |
255 | | Event::TestTimeSystem& time_system, |
256 | | std::chrono::milliseconds timeout = std::chrono::milliseconds::zero()); |
257 | | |
258 | | /** |
259 | | * Wait for a proactive resource usage in the overload manager to be == a given value. |
260 | | * @param overload_state used to lookup corresponding proactive resource. |
261 | | * @param resource_name name of the proactive resource to lookup. |
262 | | * @param expected_value target resource usage value. |
263 | | * @param time_system the time system to use for waiting. |
264 | | * @param dispatcher the dispatcher to run non-blocking periodically during the wait. |
265 | | * @param timeout the maximum time to wait before timing out. |
266 | | * @return AssertionSuccess() if the resource usage was == to the value within the timeout, else |
267 | | * AssertionFailure(). |
268 | | */ |
269 | | static AssertionResult waitForProactiveOverloadResourceUsageEq( |
270 | | Server::ThreadLocalOverloadState& overload_state, |
271 | | const Server::OverloadProactiveResourceName resource_name, int64_t expected_value, |
272 | | Event::TestTimeSystem& time_system, Event::Dispatcher& dispatcher, |
273 | | std::chrono::milliseconds timeout); |
274 | | |
275 | | /** |
276 | | * Wait for a gauge to >= a given value. |
277 | | * @param store supplies the stats store. |
278 | | * @param name gauge name. |
279 | | * @param value target value. |
280 | | * @param time_system the time system to use for waiting. |
281 | | * @param timeout the maximum time to wait before timing out, or 0 for no timeout. |
282 | | * @return AssertionSuccess() if the counter gauge >= to the value within the timeout, else |
283 | | * AssertionFailure(). |
284 | | */ |
285 | | static AssertionResult |
286 | | waitForGaugeGe(Stats::Store& store, const std::string& name, uint64_t value, |
287 | | Event::TestTimeSystem& time_system, |
288 | | std::chrono::milliseconds timeout = std::chrono::milliseconds::zero()); |
289 | | |
290 | | /** |
291 | | * Wait for a gauge to == a given value. |
292 | | * @param store supplies the stats store. |
293 | | * @param name gauge name. |
294 | | * @param value target value. |
295 | | * @param time_system the time system to use for waiting. |
296 | | * @param timeout the maximum time to wait before timing out, or 0 for no timeout. |
297 | | * @return AssertionSuccess() if the gauge was == to the value within the timeout, else |
298 | | * AssertionFailure(). |
299 | | */ |
300 | | static AssertionResult |
301 | | waitForGaugeEq(Stats::Store& store, const std::string& name, uint64_t value, |
302 | | Event::TestTimeSystem& time_system, |
303 | | std::chrono::milliseconds timeout = std::chrono::milliseconds::zero()); |
304 | | |
305 | | /** |
306 | | * Wait for a gauge to be destroyed. |
307 | | * @param store supplies the stats store. |
308 | | * @param name gauge name. |
309 | | * @param time_system the time system to use for waiting. |
310 | | * @return AssertionSuccess() if the gauge is destroyed within a fixed timeout, else |
311 | | * AssertionFailure(). |
312 | | */ |
313 | | static AssertionResult waitForGaugeDestroyed(Stats::Store& store, const std::string& name, |
314 | | Event::TestTimeSystem& time_system); |
315 | | |
316 | | /** |
317 | | * Wait for a histogram to have samples. |
318 | | * @param store supplies the stats store. |
319 | | * @param name histogram name. |
320 | | * @param time_system the time system to use for waiting. |
321 | | * @param timeout the maximum time to wait before timing out, or 0 for no timeout. |
322 | | * @return AssertionSuccess() if the histogram was populated within the timeout, else |
323 | | * AssertionFailure(). |
324 | | */ |
325 | | static AssertionResult waitUntilHistogramHasSamples( |
326 | | Stats::Store& store, const std::string& name, Event::TestTimeSystem& time_system, |
327 | | Event::Dispatcher& main_dispatcher, |
328 | | std::chrono::milliseconds timeout = std::chrono::milliseconds::zero()); |
329 | | |
330 | | /** |
331 | | * Wait for a histogram to have samples. |
332 | | * @param store supplies the stats store. |
333 | | * @param name histogram name. |
334 | | * @param time_system the time system to use for waiting. |
335 | | * @param timeout the maximum time to wait before timing out, or 0 for no timeout. |
336 | | * @return AssertionSuccess() if the histogram was populated within the timeout, else |
337 | | * AssertionFailure(). |
338 | | */ |
339 | | static AssertionResult waitForNumHistogramSamplesGe( |
340 | | Stats::Store& store, const std::string& name, uint64_t min_sample_count_required, |
341 | | Event::TestTimeSystem& time_system, Event::Dispatcher& main_dispatcher, |
342 | | std::chrono::milliseconds timeout = std::chrono::milliseconds::zero()); |
343 | | |
344 | | /** |
345 | | * Read a histogram's sample count from the main thread. |
346 | | * @param store supplies the stats store. |
347 | | * @param name histogram name. |
348 | | * @return uint64_t the sample count. |
349 | | */ |
350 | | static uint64_t readSampleCount(Event::Dispatcher& main_dispatcher, |
351 | | const Stats::ParentHistogram& histogram); |
352 | | /** |
353 | | * Read a histogram's sum from the main thread. |
354 | | * @param store supplies the stats store. |
355 | | * @param name histogram name. |
356 | | * @return double the sample sum. |
357 | | */ |
358 | | static double readSampleSum(Event::Dispatcher& main_dispatcher, |
359 | | const Stats::ParentHistogram& histogram); |
360 | | |
361 | | /** |
362 | | * Find a readout in a stats store. |
363 | | * @param store supplies the stats store. |
364 | | * @param name supplies the name to search for. |
365 | | * @return Stats::TextReadoutSharedPtr the readout or nullptr if there is none. |
366 | | */ |
367 | | static Stats::TextReadoutSharedPtr findTextReadout(Stats::Store& store, const std::string& name); |
368 | | |
369 | | /** |
370 | | * Convert a string list of IP addresses into a list of network addresses usable for DNS |
371 | | * response testing. |
372 | | */ |
373 | | static std::list<Network::DnsResponse> |
374 | | makeDnsResponse(const std::list<std::string>& addresses, |
375 | | std::chrono::seconds = std::chrono::seconds(6)); |
376 | | |
377 | | /** |
378 | | * List files in a given directory path |
379 | | * |
380 | | * @param path directory path to list |
381 | | * @param recursive whether or not to traverse subdirectories |
382 | | * @return std::vector<std::string> filenames |
383 | | */ |
384 | | static std::vector<std::string> listFiles(const std::string& path, bool recursive); |
385 | | |
386 | | /** |
387 | | * Return a unique temporary filename for use in tests. |
388 | | * |
389 | | * @return a filename based on the process id and current time. |
390 | | */ |
391 | | static std::string uniqueFilename(absl::string_view prefix = ""); |
392 | | |
393 | | #if defined(ENVOY_ENABLE_FULL_PROTOS) |
394 | | /** |
395 | | * Compare two protos of the same type for equality. |
396 | | * |
397 | | * @param lhs proto on LHS. |
398 | | * @param rhs proto on RHS. |
399 | | * @param ignore_repeated_field_ordering if true, repeated field ordering will be ignored. |
400 | | * @return bool indicating whether the protos are equal. |
401 | | */ |
402 | | static bool protoEqual(const Protobuf::Message& lhs, const Protobuf::Message& rhs, |
403 | 728 | bool ignore_repeated_field_ordering = false) { |
404 | 728 | Protobuf::util::MessageDifferencer differencer; |
405 | 728 | differencer.set_message_field_comparison(Protobuf::util::MessageDifferencer::EQUIVALENT); |
406 | 728 | if (ignore_repeated_field_ordering) { |
407 | 0 | differencer.set_repeated_field_comparison(Protobuf::util::MessageDifferencer::AS_SET); |
408 | 0 | } |
409 | 728 | return differencer.Compare(lhs, rhs); |
410 | 728 | } |
411 | | |
412 | | static bool protoEqualIgnoringField(const Protobuf::Message& lhs, const Protobuf::Message& rhs, |
413 | 0 | const std::string& field_to_ignore) { |
414 | 0 | Protobuf::util::MessageDifferencer differencer; |
415 | 0 | const Protobuf::FieldDescriptor* ignored_field = |
416 | 0 | lhs.GetDescriptor()->FindFieldByName(field_to_ignore); |
417 | 0 | ASSERT(ignored_field != nullptr, "Field name to ignore not found."); |
418 | 0 | differencer.IgnoreField(ignored_field); |
419 | 0 | return differencer.Compare(lhs, rhs); |
420 | 0 | } |
421 | | |
422 | | /** |
423 | | * Compare two decoded resources for equality. |
424 | | * |
425 | | * @param lhs decoded resource on LHS. |
426 | | * @param rhs decoded resource on RHS. |
427 | | * @return bool indicating whether the decoded resources are equal. |
428 | | */ |
429 | | static bool decodedResourceEq(const Config::DecodedResource& lhs, |
430 | 0 | const Config::DecodedResource& rhs) { |
431 | 0 | return lhs.name() == rhs.name() && lhs.aliases() == rhs.aliases() && |
432 | 0 | lhs.version() == rhs.version() && lhs.hasResource() == rhs.hasResource() && |
433 | 0 | (!lhs.hasResource() || protoEqual(lhs.resource(), rhs.resource())); |
434 | 0 | } |
435 | | #endif |
436 | | |
437 | | /** |
438 | | * Symmetrically pad a string with '=' out to a desired length. |
439 | | * @param to_pad the string being padded around. |
440 | | * @param desired_length the length we want the padding to bring the string up to. |
441 | | * @return the padded string. |
442 | | */ |
443 | | static std::string addLeftAndRightPadding(absl::string_view to_pad, int desired_length = 80); |
444 | | |
445 | | /** |
446 | | * Split a string. |
447 | | * @param source supplies the string to split. |
448 | | * @param split supplies the char to split on. |
449 | | * @return vector of strings computed after splitting `source` around all instances of `split`. |
450 | | */ |
451 | | static std::vector<std::string> split(const std::string& source, char split); |
452 | | |
453 | | /** |
454 | | * Split a string. |
455 | | * @param source supplies the string to split. |
456 | | * @param split supplies the string to split on. |
457 | | * @param keep_empty_string result contains empty strings if the string starts or ends with |
458 | | * 'split', or if instances of 'split' are adjacent. |
459 | | * @return vector of strings computed after splitting `source` around all instances of `split`. |
460 | | */ |
461 | | static std::vector<std::string> split(const std::string& source, const std::string& split, |
462 | | bool keep_empty_string = false); |
463 | | |
464 | | #if defined(ENVOY_ENABLE_FULL_PROTOS) |
465 | | /** |
466 | | * Compare two RepeatedPtrFields of the same type for equality. |
467 | | * |
468 | | * @param lhs RepeatedPtrField on LHS. |
469 | | * @param rhs RepeatedPtrField on RHS. |
470 | | * @param ignore_ordering if ordering should be ignored. Note if true this turns |
471 | | * comparison into an N^2 operation. |
472 | | * @return bool indicating whether the RepeatedPtrField are equal. TestUtility::protoEqual() is |
473 | | * used for individual element testing. |
474 | | */ |
475 | | template <typename ProtoType> |
476 | | static bool repeatedPtrFieldEqual(const Protobuf::RepeatedPtrField<ProtoType>& lhs, |
477 | | const Protobuf::RepeatedPtrField<ProtoType>& rhs, |
478 | | bool ignore_ordering = false) { |
479 | | if (lhs.size() != rhs.size()) { |
480 | | return false; |
481 | | } |
482 | | |
483 | | if (!ignore_ordering) { |
484 | | for (int i = 0; i < lhs.size(); ++i) { |
485 | | if (!TestUtility::protoEqual(lhs[i], rhs[i], /*ignore_ordering=*/false)) { |
486 | | return false; |
487 | | } |
488 | | } |
489 | | |
490 | | return true; |
491 | | } |
492 | | using ProtoList = std::list<std::unique_ptr<const Protobuf::Message>>; |
493 | | // Iterate through using protoEqual as ignore_ordering is true, and fields |
494 | | // in the sub-protos may also be out of order. |
495 | | ProtoList lhs_list = |
496 | | RepeatedPtrUtil::convertToConstMessagePtrContainer<ProtoType, ProtoList>(lhs); |
497 | | ProtoList rhs_list = |
498 | | RepeatedPtrUtil::convertToConstMessagePtrContainer<ProtoType, ProtoList>(rhs); |
499 | | while (!lhs_list.empty()) { |
500 | | bool found = false; |
501 | | for (auto it = rhs_list.begin(); it != rhs_list.end(); ++it) { |
502 | | if (TestUtility::protoEqual(*lhs_list.front(), **it, |
503 | | /*ignore_ordering=*/true)) { |
504 | | lhs_list.pop_front(); |
505 | | rhs_list.erase(it); |
506 | | found = true; |
507 | | break; |
508 | | } |
509 | | } |
510 | | if (!found) { |
511 | | return false; |
512 | | } |
513 | | } |
514 | | return true; |
515 | | } |
516 | | |
517 | | template <class ProtoType> |
518 | | static AssertionResult |
519 | | assertRepeatedPtrFieldEqual(const Protobuf::RepeatedPtrField<ProtoType>& lhs, |
520 | | const Protobuf::RepeatedPtrField<ProtoType>& rhs, |
521 | | bool ignore_ordering = false) { |
522 | | if (!repeatedPtrFieldEqual(lhs, rhs, ignore_ordering)) { |
523 | | return AssertionFailure() << RepeatedPtrUtil::debugString(lhs) << " does not match " |
524 | | << RepeatedPtrUtil::debugString(rhs); |
525 | | } |
526 | | |
527 | | return AssertionSuccess(); |
528 | | } |
529 | | #endif |
530 | | |
531 | | /** |
532 | | * Returns a "novel" IPv4 loopback address, if available. |
533 | | * For many tests, we want a loopback address other than 127.0.0.1 where possible. For some |
534 | | * platforms such as macOS, only 127.0.0.1 is available for IPv4 loopback. |
535 | | * |
536 | | * @return string 127.0.0.x , where x is "1" for macOS and "9" otherwise. |
537 | | */ |
538 | 0 | static std::string getIpv4Loopback() { |
539 | 0 | #ifdef __APPLE__ |
540 | 0 | return "127.0.0.1"; |
541 | 0 | #else |
542 | 0 | return "127.0.0.9"; |
543 | 0 | #endif |
544 | 0 | } |
545 | | |
546 | | // Allows pretty printed test names. |
547 | 0 | static std::string http1ParserImplToString(Http1ParserImpl impl) { |
548 | 0 | switch (impl) { |
549 | 0 | case Http1ParserImpl::HttpParser: |
550 | 0 | return "HttpParser"; |
551 | 0 | case Http1ParserImpl::BalsaParser: |
552 | 0 | return "BalsaParser"; |
553 | 0 | } |
554 | 0 | return "UnknownHttp1Impl"; |
555 | 0 | } |
556 | | |
557 | 0 | static std::string ipVersionToString(Network::Address::IpVersion ip_version) { |
558 | 0 | return ip_version == Network::Address::IpVersion::v4 ? "IPv4" : "IPv6"; |
559 | 0 | } |
560 | | |
561 | | // Allows pretty printed test names for TEST_P using TestEnvironment::getIpVersionsForTest(). |
562 | | // |
563 | | // Tests using this will be of the form IpVersions/SslSocketTest.HalfClose/IPv4 |
564 | | // instead of IpVersions/SslSocketTest.HalfClose/1 |
565 | | static std::string |
566 | 0 | ipTestParamsToString(const ::testing::TestParamInfo<Network::Address::IpVersion>& params) { |
567 | 0 | return ipVersionToString(params.param); |
568 | 0 | } |
569 | | |
570 | | /** |
571 | | * Return flip-ordered bytes. |
572 | | * @param bytes input bytes. |
573 | | * @return Type flip-ordered bytes. |
574 | | */ |
575 | | template <class Type> static Type flipOrder(const Type& bytes) { |
576 | | Type result{0}; |
577 | | Type data = bytes; |
578 | | for (Type i = 0; i < sizeof(Type); i++) { |
579 | | result <<= 8; |
580 | | result |= (data & Type(0xFF)); |
581 | | data >>= 8; |
582 | | } |
583 | | return result; |
584 | | } |
585 | | |
586 | | static absl::Time parseTime(const std::string& input, const std::string& input_format); |
587 | | static std::string formatTime(const absl::Time input, const std::string& output_format); |
588 | | static std::string formatTime(const SystemTime input, const std::string& output_format); |
589 | | static std::string convertTime(const std::string& input, const std::string& input_format, |
590 | | const std::string& output_format); |
591 | | |
592 | | static constexpr std::chrono::milliseconds DefaultTimeout = |
593 | | std::chrono::milliseconds(10000) * TIMEOUT_FACTOR; |
594 | | |
595 | | /** |
596 | | * Return a prefix string matcher. |
597 | | * @param string prefix. |
598 | | * @return Object StringMatcher. |
599 | | */ |
600 | 0 | static const envoy::type::matcher::v3::StringMatcher createPrefixMatcher(std::string str) { |
601 | 0 | envoy::type::matcher::v3::StringMatcher matcher; |
602 | 0 | matcher.set_prefix(str); |
603 | 0 | return matcher; |
604 | 0 | } |
605 | | |
606 | | /** |
607 | | * Return an exact string matcher. |
608 | | * @param string exact. |
609 | | * @return Object StringMatcher. |
610 | | */ |
611 | 0 | static const envoy::type::matcher::v3::StringMatcher createExactMatcher(std::string str) { |
612 | 0 | envoy::type::matcher::v3::StringMatcher matcher; |
613 | 0 | matcher.set_exact(str); |
614 | 0 | return matcher; |
615 | 0 | } |
616 | | |
617 | | /** |
618 | | * Return a regex string matcher. |
619 | | * @param string exact. |
620 | | * @return Object StringMatcher. |
621 | | */ |
622 | 0 | static const envoy::type::matcher::v3::StringMatcher createRegexMatcher(std::string str) { |
623 | 0 | envoy::type::matcher::v3::StringMatcher matcher; |
624 | 0 | auto* regex = matcher.mutable_safe_regex(); |
625 | 0 | regex->mutable_google_re2(); |
626 | 0 | regex->set_regex(str); |
627 | 0 | return matcher; |
628 | 0 | } |
629 | | |
630 | | /** |
631 | | * Checks that passed gauges have a value of 0. Gauges can be omitted from |
632 | | * this check by modifying the regex that matches gauge names in the |
633 | | * implementation. |
634 | | * |
635 | | * @param vector of gauges to check. |
636 | | * @return bool indicating that passed gauges not matching the omitted regex have a value of 0. |
637 | | */ |
638 | | static bool gaugesZeroed(const std::vector<Stats::GaugeSharedPtr>& gauges); |
639 | | static bool gaugesZeroed( |
640 | | const std::vector<std::pair<absl::string_view, Stats::PrimitiveGaugeReference>>& gauges); |
641 | | |
642 | | /** |
643 | | * Returns the members of gauges that are not zero. Uses the same regex filter as gaugesZeroed(). |
644 | | */ |
645 | | static std::string nonZeroedGauges(const std::vector<Stats::GaugeSharedPtr>& gauges); |
646 | | |
647 | | template <class MessageType> |
648 | | static inline MessageType anyConvert(const ProtobufWkt::Any& message) { |
649 | | return MessageUtil::anyConvert<MessageType>(message); |
650 | | } |
651 | | |
652 | | template <class MessageType> |
653 | 129k | static void validate(const MessageType& message, bool recurse_into_any = false) { |
654 | 129k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); |
655 | 129k | } void Envoy::TestUtility::validate<envoy::extensions::filters::http::ext_proc::unit_test_fuzz::ExtProcUnitTestCase>(envoy::extensions::filters::http::ext_proc::unit_test_fuzz::ExtProcUnitTestCase const&, bool) Line | Count | Source | 653 | 5.07k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 5.07k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 5.07k | } |
void Envoy::TestUtility::validate<test::common::http::ConnManagerImplTestCase>(test::common::http::ConnManagerImplTestCase const&, bool) Line | Count | Source | 653 | 1.22k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 1.22k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 1.22k | } |
void Envoy::TestUtility::validate<test::extensions::filters::listener::FilterFuzzTestCase>(test::extensions::filters::listener::FilterFuzzTestCase const&, bool) Line | Count | Source | 653 | 1.15k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 1.15k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 1.15k | } |
void Envoy::TestUtility::validate<envoy::extensions::filters::http::jwt_authn::JwtAuthnFuzzInput>(envoy::extensions::filters::http::jwt_authn::JwtAuthnFuzzInput const&, bool) Line | Count | Source | 653 | 9.13k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 9.13k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 9.13k | } |
void Envoy::TestUtility::validate<test::common::http::http2::HpackTestCase>(test::common::http::http2::HpackTestCase const&, bool) Line | Count | Source | 653 | 2.82k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 2.82k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 2.82k | } |
void Envoy::TestUtility::validate<test::common::substitution::TestCase>(test::common::substitution::TestCase const&, bool) Line | Count | Source | 653 | 1.32k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 1.32k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 1.32k | } |
void Envoy::TestUtility::validate<test::common::http::PathUtilityTestCase>(test::common::http::PathUtilityTestCase const&, bool) Line | Count | Source | 653 | 1.14k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 1.14k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 1.14k | } |
void Envoy::TestUtility::validate<test::server::config_validation::XdsTestCase>(test::server::config_validation::XdsTestCase const&, bool) Line | Count | Source | 653 | 25 | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 25 | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 25 | } |
void Envoy::TestUtility::validate<envoy::extensions::filters::network::local_ratelimit::LocalRateLimitTestCase>(envoy::extensions::filters::network::local_ratelimit::LocalRateLimitTestCase const&, bool) Line | Count | Source | 653 | 1.06k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 1.06k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 1.06k | } |
void Envoy::TestUtility::validate<envoy::config::bootstrap::v3::Bootstrap>(envoy::config::bootstrap::v3::Bootstrap const&, bool) Line | Count | Source | 653 | 3.07k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 3.07k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 3.07k | } |
void Envoy::TestUtility::validate<test::common::http::CodecImplFuzzTestCase>(test::common::http::CodecImplFuzzTestCase const&, bool) Line | Count | Source | 653 | 16.4k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 16.4k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 16.4k | } |
void Envoy::TestUtility::validate<test::common::upstream::HealthCheckTestCase>(test::common::upstream::HealthCheckTestCase const&, bool) Line | Count | Source | 653 | 3.67k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 3.67k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 3.67k | } |
void Envoy::TestUtility::validate<test::common::router::TestCase>(test::common::router::TestCase const&, bool) Line | Count | Source | 653 | 5.76k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 5.76k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 5.76k | } |
void Envoy::TestUtility::validate<test::extensions::filters::listener::tls_inspector::TlsInspectorTestCase>(test::extensions::filters::listener::tls_inspector::TlsInspectorTestCase const&, bool) Line | Count | Source | 653 | 138 | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 138 | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 138 | } |
void Envoy::TestUtility::validate<test::extensions::filters::network::FilterFuzzTestCase>(test::extensions::filters::network::FilterFuzzTestCase const&, bool) Line | Count | Source | 653 | 8.40k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 8.40k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 8.40k | } |
void Envoy::TestUtility::validate<test::extensions::filters::listener::original_src::OriginalSrcTestCase>(test::extensions::filters::listener::original_src::OriginalSrcTestCase const&, bool) Line | Count | Source | 653 | 1.16k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 1.16k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 1.16k | } |
void Envoy::TestUtility::validate<test::extensions::filters::listener::proxy_protocol::ProxyProtocolTestCase>(test::extensions::filters::listener::proxy_protocol::ProxyProtocolTestCase const&, bool) Line | Count | Source | 653 | 125 | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 125 | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 125 | } |
void Envoy::TestUtility::validate<envoy::extensions::filters::http::rbac::RbacTestCase>(envoy::extensions::filters::http::rbac::RbacTestCase const&, bool) Line | Count | Source | 653 | 16.5k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 16.5k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 16.5k | } |
void Envoy::TestUtility::validate<test::common::router::RouteTestCase>(test::common::router::RouteTestCase const&, bool) Line | Count | Source | 653 | 10.4k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 10.4k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 10.4k | } |
void Envoy::TestUtility::validate<envoy::extensions::filters::http::ext_authz::ExtAuthzTestCaseGrpc>(envoy::extensions::filters::http::ext_authz::ExtAuthzTestCaseGrpc const&, bool) Line | Count | Source | 653 | 6.08k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 6.08k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 6.08k | } |
void Envoy::TestUtility::validate<test::extensions::filters::http::ext_proc::ExtProcGrpcTestCase>(test::extensions::filters::http::ext_proc::ExtProcGrpcTestCase const&, bool) Line | Count | Source | 653 | 815 | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 815 | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 815 | } |
void Envoy::TestUtility::validate<test::extensions::filters::http::FilterFuzzTestCase>(test::extensions::filters::http::FilterFuzzTestCase const&, bool) Line | Count | Source | 653 | 886 | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 886 | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 886 | } |
void Envoy::TestUtility::validate<test::extensions::filters::common::expr::EvaluatorTestCase>(test::extensions::filters::common::expr::EvaluatorTestCase const&, bool) Line | Count | Source | 653 | 21.8k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 21.8k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 21.8k | } |
void Envoy::TestUtility::validate<test::common::upstream::RandomLoadBalancerTestCase>(test::common::upstream::RandomLoadBalancerTestCase const&, bool) Line | Count | Source | 653 | 683 | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 683 | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 683 | } |
void Envoy::TestUtility::validate<test::extensions::http::header_validators::envoy_default::PathNormalizerFuzzTestCase>(test::extensions::http::header_validators::envoy_default::PathNormalizerFuzzTestCase const&, bool) Line | Count | Source | 653 | 850 | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 850 | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 850 | } |
void Envoy::TestUtility::validate<envoy::extensions::filters::http::ext_authz::ExtAuthzTestCaseHttp>(envoy::extensions::filters::http::ext_authz::ExtAuthzTestCaseHttp const&, bool) Line | Count | Source | 653 | 4.14k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 4.14k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 4.14k | } |
void Envoy::TestUtility::validate<test::common::upstream::RoundRobinLoadBalancerTestCase>(test::common::upstream::RoundRobinLoadBalancerTestCase const&, bool) Line | Count | Source | 653 | 1.19k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 1.19k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 1.19k | } |
Unexecuted instantiation: void Envoy::TestUtility::validate<test::extensions::filters::listener::FilterFuzzWithDataTestCase>(test::extensions::filters::listener::FilterFuzzWithDataTestCase const&, bool) void Envoy::TestUtility::validate<test::common::http::UtilityTestCase>(test::common::http::UtilityTestCase const&, bool) Line | Count | Source | 653 | 113 | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 113 | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 113 | } |
void Envoy::TestUtility::validate<test::common::upstream::LeastRequestLoadBalancerTestCase>(test::common::upstream::LeastRequestLoadBalancerTestCase const&, bool) Line | Count | Source | 653 | 1.25k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 1.25k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 1.25k | } |
void Envoy::TestUtility::validate<envoy::extensions::filters::network::ext_authz::ExtAuthzTestCase>(envoy::extensions::filters::network::ext_authz::ExtAuthzTestCase const&, bool) Line | Count | Source | 653 | 2.41k | static void validate(const MessageType& message, bool recurse_into_any = false) { | 654 | 2.41k | MessageUtil::validate(message, ProtobufMessage::getStrictValidationVisitor(), recurse_into_any); | 655 | 2.41k | } |
|
656 | | |
657 | | template <class MessageType> |
658 | | static const MessageType& downcastAndValidate(const Protobuf::Message& config) { |
659 | | return MessageUtil::downcastAndValidate<MessageType>( |
660 | | config, ProtobufMessage::getStrictValidationVisitor()); |
661 | | } |
662 | | |
663 | | /** |
664 | | * Extract the Protobuf binary format of a google.protobuf.Message as a string. |
665 | | * @param message message of type type.googleapis.com/google.protobuf.Message. |
666 | | * @return std::string of the Protobuf binary object. |
667 | | */ |
668 | 1.97k | static std::string getProtobufBinaryStringFromMessage(const Protobuf::Message& message) { |
669 | 1.97k | std::string pb_binary_str; |
670 | 1.97k | pb_binary_str.reserve(message.ByteSizeLong()); |
671 | 1.97k | message.SerializeToString(&pb_binary_str); |
672 | 1.97k | return pb_binary_str; |
673 | 1.97k | } |
674 | | |
675 | | template <class MessageType> |
676 | | static Config::DecodedResourcesWrapper |
677 | | decodeResources(std::initializer_list<MessageType> resources, |
678 | | const std::string& name_field = "name") { |
679 | | Config::DecodedResourcesWrapper decoded_resources; |
680 | | for (const auto& resource : resources) { |
681 | | auto owned_resource = std::make_unique<MessageType>(resource); |
682 | | decoded_resources.owned_resources_.emplace_back(new Config::DecodedResourceImpl( |
683 | | std::move(owned_resource), MessageUtil::getStringField(resource, name_field), {}, "")); |
684 | | decoded_resources.refvec_.emplace_back(*decoded_resources.owned_resources_.back()); |
685 | | } |
686 | | return decoded_resources; |
687 | | } |
688 | | |
689 | | template <class MessageType> |
690 | | static Config::DecodedResourcesWrapper decodeResources(std::vector<MessageType> resources, |
691 | | const std::string& name_field = "name") { |
692 | | Config::DecodedResourcesWrapper decoded_resources; |
693 | | for (const auto& resource : resources) { |
694 | | auto owned_resource = std::make_unique<MessageType>(resource); |
695 | | decoded_resources.owned_resources_.emplace_back(new Config::DecodedResourceImpl( |
696 | | std::move(owned_resource), MessageUtil::getStringField(resource, name_field), {}, "")); |
697 | | decoded_resources.refvec_.emplace_back(*decoded_resources.owned_resources_.back()); |
698 | | } |
699 | | return decoded_resources; |
700 | | } |
701 | | |
702 | | template <class MessageType> |
703 | | static Config::DecodedResourcesWrapper |
704 | | decodeResources(const Protobuf::RepeatedPtrField<ProtobufWkt::Any>& resources, |
705 | | const std::string& version, const std::string& name_field = "name") { |
706 | | TestOpaqueResourceDecoderImpl<MessageType> resource_decoder(name_field); |
707 | | return Config::DecodedResourcesWrapper(resource_decoder, resources, version); |
708 | | } |
709 | | |
710 | | template <class MessageType> |
711 | | static Config::DecodedResourcesWrapper |
712 | | decodeResources(const envoy::service::discovery::v3::DiscoveryResponse& resources, |
713 | | const std::string& name_field = "name") { |
714 | | return decodeResources<MessageType>(resources.resources(), resources.version_info(), |
715 | | name_field); |
716 | | } |
717 | | |
718 | | template <class MessageType> |
719 | | static Config::DecodedResourcesWrapper decodeResources( |
720 | | const Protobuf::RepeatedPtrField<envoy::service::discovery::v3::Resource>& resources, |
721 | | const std::string& name_field = "name") { |
722 | | Config::DecodedResourcesWrapper decoded_resources; |
723 | | TestOpaqueResourceDecoderImpl<MessageType> resource_decoder(name_field); |
724 | | for (const auto& resource : resources) { |
725 | | decoded_resources.owned_resources_.emplace_back( |
726 | | new Config::DecodedResourceImpl(resource_decoder, resource)); |
727 | | decoded_resources.refvec_.emplace_back(*decoded_resources.owned_resources_.back()); |
728 | | } |
729 | | return decoded_resources; |
730 | | } |
731 | | |
732 | | template <typename Current> |
733 | | class TestOpaqueResourceDecoderImpl : public Config::OpaqueResourceDecoderImpl<Current> { |
734 | | public: |
735 | | TestOpaqueResourceDecoderImpl(absl::string_view name_field) |
736 | | : Config::OpaqueResourceDecoderImpl<Current>(ProtobufMessage::getStrictValidationVisitor(), |
737 | | name_field) {} |
738 | | }; |
739 | | |
740 | | /** |
741 | | * Returns the string representation of a envoy::config::core::v3::ApiVersion. |
742 | | * |
743 | | * @param api_version to be converted. |
744 | | * @return std::string representation of envoy::config::core::v3::ApiVersion. |
745 | | */ |
746 | | static std::string |
747 | 0 | getVersionStringFromApiVersion(envoy::config::core::v3::ApiVersion api_version) { |
748 | 0 | switch (api_version) { |
749 | 0 | case envoy::config::core::v3::ApiVersion::AUTO: |
750 | 0 | return "AUTO"; |
751 | 0 | case envoy::config::core::v3::ApiVersion::V2: |
752 | 0 | return "V2"; |
753 | 0 | case envoy::config::core::v3::ApiVersion::V3: |
754 | 0 | return "V3"; |
755 | 0 | default: |
756 | 0 | PANIC("reached unexpected code"); |
757 | 0 | } |
758 | 0 | } |
759 | | |
760 | | #ifdef ENVOY_ENABLE_YAML |
761 | | /** |
762 | | * Compare two JSON strings serialized from ProtobufWkt::Struct for equality. When two identical |
763 | | * ProtobufWkt::Struct are serialized into JSON strings, the results have the same set of |
764 | | * properties (values), but the positions may be different. |
765 | | * |
766 | | * @param lhs JSON string on LHS. |
767 | | * @param rhs JSON string on RHS. |
768 | | * @param support_root_array Whether to support parsing JSON arrays. |
769 | | * @return bool indicating whether the JSON strings are equal. |
770 | | */ |
771 | | static bool jsonStringEqual(const std::string& lhs, const std::string& rhs, |
772 | 0 | bool support_root_array = false) { |
773 | 0 | if (!support_root_array) { |
774 | 0 | return protoEqual(jsonToStruct(lhs), jsonToStruct(rhs)); |
775 | 0 | } |
776 | 0 |
|
777 | 0 | return protoEqual(jsonArrayToStruct(lhs), jsonArrayToStruct(rhs)); |
778 | 0 | } |
779 | | |
780 | | /** |
781 | | * Return typed proto message object for YAML. |
782 | | * @param yaml YAML string. |
783 | | * @return MessageType parsed from yaml. |
784 | | */ |
785 | | template <class MessageType> static MessageType parseYaml(const std::string& yaml) { |
786 | | MessageType message; |
787 | | TestUtility::loadFromYaml(yaml, message); |
788 | | return message; |
789 | | } |
790 | | |
791 | | // Strict variants of Protobuf::MessageUtil |
792 | 0 | static void loadFromJson(const std::string& json, Protobuf::Message& message) { |
793 | 0 | MessageUtil::loadFromJson(json, message, ProtobufMessage::getStrictValidationVisitor()); |
794 | 0 | } |
795 | | |
796 | 0 | static void loadFromJson(const std::string& json, ProtobufWkt::Struct& message) { |
797 | 0 | MessageUtil::loadFromJson(json, message); |
798 | 0 | } |
799 | | |
800 | 6.70k | static void loadFromYaml(const std::string& yaml, Protobuf::Message& message) { |
801 | 6.70k | MessageUtil::loadFromYaml(yaml, message, ProtobufMessage::getStrictValidationVisitor()); |
802 | 6.70k | } |
803 | | |
804 | 0 | static void loadFromFile(const std::string& path, Protobuf::Message& message, Api::Api& api) { |
805 | 0 | MessageUtil::loadFromFile(path, message, ProtobufMessage::getStrictValidationVisitor(), api); |
806 | 0 | } |
807 | | |
808 | 0 | static void jsonConvert(const Protobuf::Message& source, Protobuf::Message& dest) { |
809 | 0 | // Explicit round-tripping to support conversions inside tests between arbitrary messages as a |
810 | 0 | // convenience. |
811 | 0 | ProtobufWkt::Struct tmp; |
812 | 0 | MessageUtil::jsonConvert(source, tmp); |
813 | 0 | MessageUtil::jsonConvert(tmp, ProtobufMessage::getStrictValidationVisitor(), dest); |
814 | 0 | } |
815 | | |
816 | 0 | static ProtobufWkt::Struct jsonToStruct(const std::string& json) { |
817 | 0 | ProtobufWkt::Struct message; |
818 | 0 | MessageUtil::loadFromJson(json, message); |
819 | 0 | return message; |
820 | 0 | } |
821 | | |
822 | 0 | static ProtobufWkt::Struct jsonArrayToStruct(const std::string& json) { |
823 | 0 | // Hacky: add a surrounding root message, allowing JSON to be parsed into a struct. |
824 | 0 | std::string root_message = absl::StrCat("{ \"testOnlyArrayRoot\": ", json, "}"); |
825 | 0 |
|
826 | 0 | ProtobufWkt::Struct message; |
827 | 0 | MessageUtil::loadFromJson(root_message, message); |
828 | 0 | return message; |
829 | 0 | } |
830 | | |
831 | | template <class MessageType> |
832 | 0 | static void loadFromYamlAndValidate(const std::string& yaml, MessageType& message) { |
833 | 0 | MessageUtil::loadFromYamlAndValidate(yaml, message, |
834 | 0 | ProtobufMessage::getStrictValidationVisitor()); |
835 | 0 | } |
836 | | #endif |
837 | | }; |
838 | | |
839 | | /** |
840 | | * Wraps the common case of having a cross-thread "one shot" ready condition. |
841 | | * |
842 | | * It functions like absl::Notification except the usage of notifyAll() appears |
843 | | * to trigger tighter simultaneous wakeups in multiple threads, resulting in |
844 | | * more contentions, e.g. for BM_CreateRace in |
845 | | * ../common/stats/symbol_table_speed_test.cc. |
846 | | * |
847 | | * See |
848 | | * https://github.com/abseil/abseil-cpp/blob/master/absl/synchronization/notification.h |
849 | | * for the absl impl, which appears to result in fewer contentions (and in |
850 | | * tests we want contentions). |
851 | | */ |
852 | | class ConditionalInitializer { |
853 | | public: |
854 | | /** |
855 | | * Set the conditional to ready. |
856 | | */ |
857 | | void setReady(); |
858 | | |
859 | | /** |
860 | | * Block until the conditional is ready, will return immediately if it is already ready. This |
861 | | * routine will also reset ready_ so that the initializer can be used again. setReady() should |
862 | | * only be called once in between a call to waitReady(). |
863 | | */ |
864 | | void waitReady(); |
865 | | |
866 | | /** |
867 | | * Waits until ready; does not reset it. This variation is immune to spurious |
868 | | * condvar wakeups, and is also suitable for having multiple threads wait on |
869 | | * a common condition. |
870 | | */ |
871 | | void wait(); |
872 | | |
873 | | private: |
874 | | absl::Mutex mutex_; |
875 | | bool ready_ ABSL_GUARDED_BY(mutex_){false}; |
876 | | }; |
877 | | |
878 | | namespace Tracing { |
879 | | |
880 | | class TestTraceContextImpl : public Tracing::TraceContext { |
881 | | public: |
882 | 0 | TestTraceContextImpl(const std::initializer_list<std::pair<std::string, std::string>>& values) { |
883 | 0 | for (const auto& value : values) { |
884 | 0 | context_map_[value.first] = value.second; |
885 | 0 | } |
886 | 0 | // Backwards compatibility for tracing tests. |
887 | 0 | if (context_map_.contains(":protocol")) { |
888 | 0 | context_protocol_ = context_map_[":protocol"]; |
889 | 0 | } |
890 | 0 | if (context_map_.contains(":authority")) { |
891 | 0 | context_host_ = context_map_[":authority"]; |
892 | 0 | } |
893 | 0 | if (context_map_.contains(":path")) { |
894 | 0 | context_path_ = context_map_[":path"]; |
895 | 0 | } |
896 | 0 | if (context_map_.contains(":method")) { |
897 | 0 | context_method_ = context_map_[":method"]; |
898 | 0 | } |
899 | 0 | } |
900 | 0 | absl::string_view protocol() const override { return context_protocol_; } |
901 | 0 | absl::string_view host() const override { return context_host_; } |
902 | 0 | absl::string_view path() const override { return context_path_; } |
903 | 0 | absl::string_view method() const override { return context_method_; } |
904 | 0 | void forEach(IterateCallback callback) const override { |
905 | 0 | for (const auto& pair : context_map_) { |
906 | 0 | if (!callback(pair.first, pair.second)) { |
907 | 0 | break; |
908 | 0 | } |
909 | 0 | } |
910 | 0 | } |
911 | 0 | absl::optional<absl::string_view> get(absl::string_view key) const override { |
912 | 0 | auto iter = context_map_.find(key); |
913 | 0 | if (iter == context_map_.end()) { |
914 | 0 | return absl::nullopt; |
915 | 0 | } |
916 | 0 | return iter->second; |
917 | 0 | } |
918 | | |
919 | 0 | void set(absl::string_view key, absl::string_view val) override { |
920 | 0 | context_map_.insert({std::string(key), std::string(val)}); |
921 | 0 | } |
922 | 0 | void remove(absl::string_view key) override { context_map_.erase(std::string(key)); } |
923 | | |
924 | | std::string context_protocol_; |
925 | | std::string context_host_; |
926 | | std::string context_path_; |
927 | | std::string context_method_; |
928 | | absl::flat_hash_map<std::string, std::string> context_map_; |
929 | | }; |
930 | | |
931 | | } // namespace Tracing |
932 | | |
933 | | namespace Http { |
934 | | |
935 | | /** |
936 | | * All of the inline header functions that just pass through to the child header map. |
937 | | */ |
938 | | #define DEFINE_TEST_INLINE_HEADER_FUNCS(name) \ |
939 | 5.64M | const HeaderEntry* name() const override { return header_map_->name(); } \ Envoy::Http::TestResponseTrailerMapImpl::GrpcMessage() const Line | Count | Source | 939 | 200 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestResponseTrailerMapImpl::GrpcStatus() const Envoy::Http::TestRequestHeaderMapImpl::Connection() const Line | Count | Source | 939 | 191k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::ContentType() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::EnvoyDecoratorOperation() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::KeepAlive() const Envoy::Http::TestRequestHeaderMapImpl::ProxyConnection() const Line | Count | Source | 939 | 190k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::ProxyStatus() const Envoy::Http::TestRequestHeaderMapImpl::RequestId() const Line | Count | Source | 939 | 222 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::TransferEncoding() const Line | Count | Source | 939 | 8.77k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::Upgrade() const Line | Count | Source | 939 | 583k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::Via() const Envoy::Http::TestRequestHeaderMapImpl::ContentLength() const Line | Count | Source | 939 | 9.81k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::EnvoyAttemptCount() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::ClientTraceId() const Envoy::Http::TestRequestHeaderMapImpl::EnvoyDownstreamServiceCluster() const Line | Count | Source | 939 | 7.79k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::EnvoyDownstreamServiceNode() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::EnvoyExternalAddress() const Envoy::Http::TestRequestHeaderMapImpl::EnvoyForceTrace() const Line | Count | Source | 939 | 127k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::EnvoyHedgeOnPerTryTimeout() const Line | Count | Source | 939 | 5 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::EnvoyInternalRequest() const Line | Count | Source | 939 | 14 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::EnvoyIpTags() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::EnvoyRetryOn() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::EnvoyRetryGrpcOn() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::EnvoyRetriableStatusCodes() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::EnvoyRetriableHeaderNames() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::EnvoyIsTimeoutRetry() const Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath() const Line | Count | Source | 939 | 10.3k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalUrl() const Envoy::Http::TestRequestHeaderMapImpl::EnvoyUpstreamAltStatName() const Line | Count | Source | 939 | 5 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::EnvoyUpstreamRequestTimeoutAltResponse() const Line | Count | Source | 939 | 5 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::Expect() const Line | Count | Source | 939 | 6 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::ForwardedClientCert() const Envoy::Http::TestRequestHeaderMapImpl::ForwardedFor() const Line | Count | Source | 939 | 67.0k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::ForwardedHost() const Envoy::Http::TestRequestHeaderMapImpl::ForwardedProto() const Line | Count | Source | 939 | 67.0k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::GrpcTimeout() const Line | Count | Source | 939 | 189k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::Host() const Line | Count | Source | 939 | 829k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::Method() const Line | Count | Source | 939 | 2.41M | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::Path() const Line | Count | Source | 939 | 577k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::Protocol() const Line | Count | Source | 939 | 2.58k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::Scheme() const Line | Count | Source | 939 | 265k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::TE() const Envoy::Http::TestRequestHeaderMapImpl::UserAgent() const Line | Count | Source | 939 | 122 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::EnvoyExpectedRequestTimeoutMs() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::EnvoyMaxRetries() const Envoy::Http::TestRequestHeaderMapImpl::EnvoyUpstreamRequestTimeoutMs() const Line | Count | Source | 939 | 5 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::EnvoyUpstreamRequestPerTryTimeoutMs() const Envoy::Http::TestRequestHeaderMapImpl::EnvoyUpstreamStreamDurationMs() const Line | Count | Source | 939 | 5 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::ForwardedPort() const Envoy::Http::TestResponseHeaderMapImpl::Connection() const Line | Count | Source | 939 | 1.74k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::ContentType() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::EnvoyDecoratorOperation() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::KeepAlive() const Envoy::Http::TestResponseHeaderMapImpl::ProxyConnection() const Line | Count | Source | 939 | 1.91k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::ProxyStatus() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::RequestId() const Envoy::Http::TestResponseHeaderMapImpl::TransferEncoding() const Line | Count | Source | 939 | 11.1k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestResponseHeaderMapImpl::Upgrade() const Line | Count | Source | 939 | 6.01k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::Via() const Envoy::Http::TestResponseHeaderMapImpl::ContentLength() const Line | Count | Source | 939 | 11.1k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::EnvoyAttemptCount() const Envoy::Http::TestResponseHeaderMapImpl::Date() const Line | Count | Source | 939 | 132 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestResponseHeaderMapImpl::EnvoyDegraded() const Line | Count | Source | 939 | 373 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestResponseHeaderMapImpl::EnvoyImmediateHealthCheckFail() const Line | Count | Source | 939 | 991 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::EnvoyRateLimited() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::EnvoyUpstreamCanary() const Envoy::Http::TestResponseHeaderMapImpl::EnvoyUpstreamHealthCheckedCluster() const Line | Count | Source | 939 | 102 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::Location() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::Server() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::EnvoyUpstreamServiceTime() const Envoy::Http::TestResponseHeaderMapImpl::Status() const Line | Count | Source | 939 | 68.7k | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestResponseHeaderMapImpl::GrpcMessage() const Line | Count | Source | 939 | 348 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
Envoy::Http::TestResponseHeaderMapImpl::GrpcStatus() const Line | Count | Source | 939 | 458 | const HeaderEntry* name() const override { return header_map_->name(); } \ |
|
940 | 1.70M | size_t remove##name() override { \ |
941 | 1.70M | const size_t headers_removed = header_map_->remove##name(); \ |
942 | 1.70M | header_map_->verifyByteSizeInternalForTest(); \ |
943 | 1.70M | return headers_removed; \ |
944 | 1.70M | } \ Unexecuted instantiation: Envoy::Http::TestResponseTrailerMapImpl::removeGrpcMessage() Unexecuted instantiation: Envoy::Http::TestResponseTrailerMapImpl::removeGrpcStatus() Envoy::Http::TestRequestHeaderMapImpl::removeConnection() Line | Count | Source | 940 | 66.8k | size_t remove##name() override { \ | 941 | 66.8k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 66.8k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 66.8k | return headers_removed; \ | 944 | 66.8k | } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeContentType() Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyDecoratorOperation() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeKeepAlive() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeProxyConnection() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeProxyStatus() Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeRequestId() Envoy::Http::TestRequestHeaderMapImpl::removeTransferEncoding() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeUpgrade() Line | Count | Source | 940 | 66.8k | size_t remove##name() override { \ | 941 | 66.8k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 66.8k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 66.8k | return headers_removed; \ | 944 | 66.8k | } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeVia() Envoy::Http::TestRequestHeaderMapImpl::removeContentLength() Line | Count | Source | 940 | 789 | size_t remove##name() override { \ | 941 | 789 | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 789 | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 789 | return headers_removed; \ | 944 | 789 | } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyAttemptCount() Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeClientTraceId() Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyDownstreamServiceCluster() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyDownstreamServiceNode() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyExternalAddress() Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyForceTrace() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyHedgeOnPerTryTimeout() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyInternalRequest() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyIpTags() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyRetryOn() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyRetryGrpcOn() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyRetriableStatusCodes() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyRetriableHeaderNames() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyIsTimeoutRetry() Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyOriginalPath() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyOriginalUrl() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyUpstreamAltStatName() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyUpstreamRequestTimeoutAltResponse() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeExpect() Envoy::Http::TestRequestHeaderMapImpl::removeForwardedClientCert() Line | Count | Source | 940 | 65.8k | size_t remove##name() override { \ | 941 | 65.8k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 65.8k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 65.8k | return headers_removed; \ | 944 | 65.8k | } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeForwardedFor() Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeForwardedHost() Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeForwardedProto() Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeGrpcTimeout() Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeHost() Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeMethod() Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removePath() Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeProtocol() Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeScheme() Envoy::Http::TestRequestHeaderMapImpl::removeTE() Line | Count | Source | 940 | 6.27k | size_t remove##name() override { \ | 941 | 6.27k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 6.27k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 6.27k | return headers_removed; \ | 944 | 6.27k | } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeUserAgent() Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyExpectedRequestTimeoutMs() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyMaxRetries() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyUpstreamRequestTimeoutMs() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyUpstreamRequestPerTryTimeoutMs() Line | Count | Source | 940 | 67.0k | size_t remove##name() override { \ | 941 | 67.0k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 67.0k | return headers_removed; \ | 944 | 67.0k | } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeEnvoyUpstreamStreamDurationMs() Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::removeForwardedPort() Envoy::Http::TestResponseHeaderMapImpl::removeConnection() Line | Count | Source | 940 | 4.48k | size_t remove##name() override { \ | 941 | 4.48k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 4.48k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 4.48k | return headers_removed; \ | 944 | 4.48k | } \ |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeContentType() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeEnvoyDecoratorOperation() Envoy::Http::TestResponseHeaderMapImpl::removeKeepAlive() Line | Count | Source | 940 | 4.58k | size_t remove##name() override { \ | 941 | 4.58k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 4.58k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 4.58k | return headers_removed; \ | 944 | 4.58k | } \ |
Envoy::Http::TestResponseHeaderMapImpl::removeProxyConnection() Line | Count | Source | 940 | 4.58k | size_t remove##name() override { \ | 941 | 4.58k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 4.58k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 4.58k | return headers_removed; \ | 944 | 4.58k | } \ |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeProxyStatus() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeRequestId() Envoy::Http::TestResponseHeaderMapImpl::removeTransferEncoding() Line | Count | Source | 940 | 4.58k | size_t remove##name() override { \ | 941 | 4.58k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 4.58k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 4.58k | return headers_removed; \ | 944 | 4.58k | } \ |
Envoy::Http::TestResponseHeaderMapImpl::removeUpgrade() Line | Count | Source | 940 | 4.48k | size_t remove##name() override { \ | 941 | 4.48k | const size_t headers_removed = header_map_->remove##name(); \ | 942 | 4.48k | header_map_->verifyByteSizeInternalForTest(); \ | 943 | 4.48k | return headers_removed; \ | 944 | 4.48k | } \ |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeVia() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeContentLength() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeEnvoyAttemptCount() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeDate() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeEnvoyDegraded() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeEnvoyImmediateHealthCheckFail() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeEnvoyRateLimited() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeEnvoyUpstreamCanary() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeEnvoyUpstreamHealthCheckedCluster() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeLocation() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeServer() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeEnvoyUpstreamServiceTime() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeStatus() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeGrpcMessage() Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::removeGrpcStatus() |
945 | 1.30M | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ Unexecuted instantiation: Envoy::Http::TestResponseTrailerMapImpl::getGrpcMessageValue() const Envoy::Http::TestResponseTrailerMapImpl::getGrpcStatusValue() const Line | Count | Source | 945 | 2.47k | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::getConnectionValue() const Line | Count | Source | 945 | 24.8k | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::getContentTypeValue() const Line | Count | Source | 945 | 144k | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyDecoratorOperationValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getKeepAliveValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getProxyConnectionValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getProxyStatusValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getRequestIdValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getTransferEncodingValue() const Envoy::Http::TestRequestHeaderMapImpl::getUpgradeValue() const Line | Count | Source | 945 | 13.6k | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getViaValue() const Envoy::Http::TestRequestHeaderMapImpl::getContentLengthValue() const Line | Count | Source | 945 | 222 | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyAttemptCountValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getClientTraceIdValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyDownstreamServiceClusterValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyDownstreamServiceNodeValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyExternalAddressValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyForceTraceValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyHedgeOnPerTryTimeoutValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyInternalRequestValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyIpTagsValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyRetryOnValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyRetryGrpcOnValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyRetriableStatusCodesValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyRetriableHeaderNamesValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyIsTimeoutRetryValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyOriginalPathValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyOriginalUrlValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyUpstreamAltStatNameValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyUpstreamRequestTimeoutAltResponseValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getExpectValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getForwardedClientCertValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getForwardedForValue() const Envoy::Http::TestRequestHeaderMapImpl::getForwardedHostValue() const Line | Count | Source | 945 | 125 | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::getForwardedProtoValue() const Line | Count | Source | 945 | 68.7k | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getGrpcTimeoutValue() const Envoy::Http::TestRequestHeaderMapImpl::getHostValue() const Line | Count | Source | 945 | 202k | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::getMethodValue() const Line | Count | Source | 945 | 192k | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::getPathValue() const Line | Count | Source | 945 | 483k | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getProtocolValue() const Envoy::Http::TestRequestHeaderMapImpl::getSchemeValue() const Line | Count | Source | 945 | 78.2k | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::getTEValue() const Line | Count | Source | 945 | 66.8k | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Envoy::Http::TestRequestHeaderMapImpl::getUserAgentValue() const Line | Count | Source | 945 | 1.20k | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyExpectedRequestTimeoutMsValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyMaxRetriesValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyUpstreamRequestTimeoutMsValue() const Envoy::Http::TestRequestHeaderMapImpl::getEnvoyUpstreamRequestPerTryTimeoutMsValue() const Line | Count | Source | 945 | 5 | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getEnvoyUpstreamStreamDurationMsValue() const Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::getForwardedPortValue() const Envoy::Http::TestResponseHeaderMapImpl::getConnectionValue() const Line | Count | Source | 945 | 171 | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Envoy::Http::TestResponseHeaderMapImpl::getContentTypeValue() const Line | Count | Source | 945 | 2.31k | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getEnvoyDecoratorOperationValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getKeepAliveValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getProxyConnectionValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getProxyStatusValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getRequestIdValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getTransferEncodingValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getUpgradeValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getViaValue() const Envoy::Http::TestResponseHeaderMapImpl::getContentLengthValue() const Line | Count | Source | 945 | 1 | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getEnvoyAttemptCountValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getDateValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getEnvoyDegradedValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getEnvoyImmediateHealthCheckFailValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getEnvoyRateLimitedValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getEnvoyUpstreamCanaryValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getEnvoyUpstreamHealthCheckedClusterValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getLocationValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getServerValue() const Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getEnvoyUpstreamServiceTimeValue() const Envoy::Http::TestResponseHeaderMapImpl::getStatusValue() const Line | Count | Source | 945 | 25.1k | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::getGrpcMessageValue() const Envoy::Http::TestResponseHeaderMapImpl::getGrpcStatusValue() const Line | Count | Source | 945 | 2.26k | absl::string_view get##name##Value() const override { return header_map_->get##name##Value(); } \ |
|
946 | 498k | void set##name(absl::string_view value) override { \ |
947 | 498k | header_map_->set##name(value); \ |
948 | 498k | header_map_->verifyByteSizeInternalForTest(); \ |
949 | 498k | } Unexecuted instantiation: Envoy::Http::TestResponseTrailerMapImpl::setGrpcMessage(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseTrailerMapImpl::setGrpcStatus(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setConnection(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestRequestHeaderMapImpl::setContentType(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 946 | 1 | void set##name(absl::string_view value) override { \ | 947 | 1 | header_map_->set##name(value); \ | 948 | 1 | header_map_->verifyByteSizeInternalForTest(); \ | 949 | 1 | } |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyDecoratorOperation(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setKeepAlive(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setProxyConnection(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setProxyStatus(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestRequestHeaderMapImpl::setRequestId(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 946 | 67.0k | void set##name(absl::string_view value) override { \ | 947 | 67.0k | header_map_->set##name(value); \ | 948 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 949 | 67.0k | } |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setTransferEncoding(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setUpgrade(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setVia(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setContentLength(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyAttemptCount(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setClientTraceId(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyDownstreamServiceCluster(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyDownstreamServiceNode(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestRequestHeaderMapImpl::setEnvoyExternalAddress(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 946 | 67.0k | void set##name(absl::string_view value) override { \ | 947 | 67.0k | header_map_->set##name(value); \ | 948 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 949 | 67.0k | } |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyForceTrace(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyHedgeOnPerTryTimeout(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyInternalRequest(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyIpTags(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyRetryOn(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyRetryGrpcOn(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyRetriableStatusCodes(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyRetriableHeaderNames(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyIsTimeoutRetry(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestRequestHeaderMapImpl::setEnvoyOriginalPath(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 946 | 260 | void set##name(absl::string_view value) override { \ | 947 | 260 | header_map_->set##name(value); \ | 948 | 260 | header_map_->verifyByteSizeInternalForTest(); \ | 949 | 260 | } |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyOriginalUrl(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyUpstreamAltStatName(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyUpstreamRequestTimeoutAltResponse(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setExpect(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setForwardedClientCert(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setForwardedFor(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setForwardedHost(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setForwardedProto(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setGrpcTimeout(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestRequestHeaderMapImpl::setHost(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 946 | 71.5k | void set##name(absl::string_view value) override { \ | 947 | 71.5k | header_map_->set##name(value); \ | 948 | 71.5k | header_map_->verifyByteSizeInternalForTest(); \ | 949 | 71.5k | } |
Envoy::Http::TestRequestHeaderMapImpl::setMethod(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 946 | 69.4k | void set##name(absl::string_view value) override { \ | 947 | 69.4k | header_map_->set##name(value); \ | 948 | 69.4k | header_map_->verifyByteSizeInternalForTest(); \ | 949 | 69.4k | } |
Envoy::Http::TestRequestHeaderMapImpl::setPath(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 946 | 68.2k | void set##name(absl::string_view value) override { \ | 947 | 68.2k | header_map_->set##name(value); \ | 948 | 68.2k | header_map_->verifyByteSizeInternalForTest(); \ | 949 | 68.2k | } |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setProtocol(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestRequestHeaderMapImpl::setScheme(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 946 | 153k | void set##name(absl::string_view value) override { \ | 947 | 153k | header_map_->set##name(value); \ | 948 | 153k | header_map_->verifyByteSizeInternalForTest(); \ | 949 | 153k | } |
Envoy::Http::TestRequestHeaderMapImpl::setTE(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 946 | 719 | void set##name(absl::string_view value) override { \ | 947 | 719 | header_map_->set##name(value); \ | 948 | 719 | header_map_->verifyByteSizeInternalForTest(); \ | 949 | 719 | } |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setUserAgent(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyExpectedRequestTimeoutMs(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyMaxRetries(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyUpstreamRequestTimeoutMs(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyUpstreamRequestPerTryTimeoutMs(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyUpstreamStreamDurationMs(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setForwardedPort(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setConnection(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestResponseHeaderMapImpl::setContentType(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 946 | 7 | void set##name(absl::string_view value) override { \ | 947 | 7 | header_map_->set##name(value); \ | 948 | 7 | header_map_->verifyByteSizeInternalForTest(); \ | 949 | 7 | } |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setEnvoyDecoratorOperation(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setKeepAlive(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setProxyConnection(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setProxyStatus(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setRequestId(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setTransferEncoding(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setUpgrade(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setVia(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setContentLength(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setEnvoyAttemptCount(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestResponseHeaderMapImpl::setDate(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 946 | 132 | void set##name(absl::string_view value) override { \ | 947 | 132 | header_map_->set##name(value); \ | 948 | 132 | header_map_->verifyByteSizeInternalForTest(); \ | 949 | 132 | } |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setEnvoyDegraded(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setEnvoyImmediateHealthCheckFail(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setEnvoyRateLimited(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setEnvoyUpstreamCanary(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestResponseHeaderMapImpl::setEnvoyUpstreamHealthCheckedCluster(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 946 | 1 | void set##name(absl::string_view value) override { \ | 947 | 1 | header_map_->set##name(value); \ | 948 | 1 | header_map_->verifyByteSizeInternalForTest(); \ | 949 | 1 | } |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setLocation(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setServer(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setEnvoyUpstreamServiceTime(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setStatus(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setGrpcMessage(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setGrpcStatus(std::__1::basic_string_view<char, std::__1::char_traits<char> >) |
950 | | |
951 | | #define DEFINE_TEST_INLINE_STRING_HEADER_FUNCS(name) \ |
952 | | public: \ |
953 | | DEFINE_TEST_INLINE_HEADER_FUNCS(name) \ |
954 | 67.0k | void append##name(absl::string_view data, absl::string_view delimiter) override { \ |
955 | 67.0k | header_map_->append##name(data, delimiter); \ |
956 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ |
957 | 67.0k | } \ Unexecuted instantiation: Envoy::Http::TestResponseTrailerMapImpl::appendGrpcMessage(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendConnection(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendContentType(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyDecoratorOperation(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendKeepAlive(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendProxyConnection(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendProxyStatus(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendRequestId(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendTransferEncoding(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendUpgrade(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendVia(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendClientTraceId(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyDownstreamServiceCluster(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyDownstreamServiceNode(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyExternalAddress(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyForceTrace(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyHedgeOnPerTryTimeout(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyInternalRequest(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyIpTags(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyRetryOn(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyRetryGrpcOn(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyRetriableStatusCodes(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyRetriableHeaderNames(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyIsTimeoutRetry(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyOriginalPath(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyOriginalUrl(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyUpstreamAltStatName(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendEnvoyUpstreamRequestTimeoutAltResponse(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendExpect(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendForwardedClientCert(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestRequestHeaderMapImpl::appendForwardedFor(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 954 | 67.0k | void append##name(absl::string_view data, absl::string_view delimiter) override { \ | 955 | 67.0k | header_map_->append##name(data, delimiter); \ | 956 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 957 | 67.0k | } \ |
Envoy::Http::TestRequestHeaderMapImpl::appendForwardedHost(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 954 | 8 | void append##name(absl::string_view data, absl::string_view delimiter) override { \ | 955 | 8 | header_map_->append##name(data, delimiter); \ | 956 | 8 | header_map_->verifyByteSizeInternalForTest(); \ | 957 | 8 | } \ |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendForwardedProto(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendGrpcTimeout(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendHost(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendMethod(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendPath(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendProtocol(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendScheme(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendTE(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::appendUserAgent(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendConnection(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendContentType(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendEnvoyDecoratorOperation(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendKeepAlive(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendProxyConnection(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendProxyStatus(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendRequestId(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendTransferEncoding(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendUpgrade(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendVia(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendDate(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendEnvoyDegraded(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendEnvoyImmediateHealthCheckFail(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendEnvoyRateLimited(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendEnvoyUpstreamCanary(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendEnvoyUpstreamHealthCheckedCluster(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendLocation(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendServer(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::appendGrpcMessage(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) |
958 | 67.4k | void setReference##name(absl::string_view value) override { \ |
959 | 67.4k | header_map_->setReference##name(value); \ |
960 | 67.4k | header_map_->verifyByteSizeInternalForTest(); \ |
961 | 67.4k | } Unexecuted instantiation: Envoy::Http::TestResponseTrailerMapImpl::setReferenceGrpcMessage(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceConnection(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestRequestHeaderMapImpl::setReferenceContentType(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 958 | 35 | void setReference##name(absl::string_view value) override { \ | 959 | 35 | header_map_->setReference##name(value); \ | 960 | 35 | header_map_->verifyByteSizeInternalForTest(); \ | 961 | 35 | } |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyDecoratorOperation(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceKeepAlive(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceProxyConnection(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceProxyStatus(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceRequestId(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceTransferEncoding(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceUpgrade(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceVia(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceClientTraceId(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyDownstreamServiceCluster(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyDownstreamServiceNode(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyExternalAddress(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyForceTrace(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyHedgeOnPerTryTimeout(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyInternalRequest(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 958 | 6 | void setReference##name(absl::string_view value) override { \ | 959 | 6 | header_map_->setReference##name(value); \ | 960 | 6 | header_map_->verifyByteSizeInternalForTest(); \ | 961 | 6 | } |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyIpTags(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyRetryOn(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyRetryGrpcOn(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyRetriableStatusCodes(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyRetriableHeaderNames(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyIsTimeoutRetry(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyOriginalPath(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyOriginalUrl(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyUpstreamAltStatName(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceEnvoyUpstreamRequestTimeoutAltResponse(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceExpect(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceForwardedClientCert(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceForwardedFor(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceForwardedHost(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestRequestHeaderMapImpl::setReferenceForwardedProto(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 958 | 67.0k | void setReference##name(absl::string_view value) override { \ | 959 | 67.0k | header_map_->setReference##name(value); \ | 960 | 67.0k | header_map_->verifyByteSizeInternalForTest(); \ | 961 | 67.0k | } |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceGrpcTimeout(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceHost(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestRequestHeaderMapImpl::setReferenceMethod(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 958 | 35 | void setReference##name(absl::string_view value) override { \ | 959 | 35 | header_map_->setReference##name(value); \ | 960 | 35 | header_map_->verifyByteSizeInternalForTest(); \ | 961 | 35 | } |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferencePath(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceProtocol(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceScheme(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestRequestHeaderMapImpl::setReferenceTE(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 958 | 35 | void setReference##name(absl::string_view value) override { \ | 959 | 35 | header_map_->setReference##name(value); \ | 960 | 35 | header_map_->verifyByteSizeInternalForTest(); \ | 961 | 35 | } |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setReferenceUserAgent(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestResponseHeaderMapImpl::setReferenceConnection(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 958 | 132 | void setReference##name(absl::string_view value) override { \ | 959 | 132 | header_map_->setReference##name(value); \ | 960 | 132 | header_map_->verifyByteSizeInternalForTest(); \ | 961 | 132 | } |
Envoy::Http::TestResponseHeaderMapImpl::setReferenceContentType(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 958 | 15 | void setReference##name(absl::string_view value) override { \ | 959 | 15 | header_map_->setReference##name(value); \ | 960 | 15 | header_map_->verifyByteSizeInternalForTest(); \ | 961 | 15 | } |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceEnvoyDecoratorOperation(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceKeepAlive(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceProxyConnection(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceProxyStatus(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceRequestId(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceTransferEncoding(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceUpgrade(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceVia(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceDate(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceEnvoyDegraded(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceEnvoyImmediateHealthCheckFail(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceEnvoyRateLimited(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceEnvoyUpstreamCanary(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceEnvoyUpstreamHealthCheckedCluster(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceLocation(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestResponseHeaderMapImpl::setReferenceServer(std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 958 | 132 | void setReference##name(absl::string_view value) override { \ | 959 | 132 | header_map_->setReference##name(value); \ | 960 | 132 | header_map_->verifyByteSizeInternalForTest(); \ | 961 | 132 | } |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setReferenceGrpcMessage(std::__1::basic_string_view<char, std::__1::char_traits<char> >) |
962 | | |
963 | | #define DEFINE_TEST_INLINE_NUMERIC_HEADER_FUNCS(name) \ |
964 | | public: \ |
965 | | DEFINE_TEST_INLINE_HEADER_FUNCS(name) \ |
966 | 5.04k | void set##name(uint64_t value) override { \ |
967 | 5.04k | header_map_->set##name(value); \ |
968 | 5.04k | header_map_->verifyByteSizeInternalForTest(); \ |
969 | 5.04k | } Envoy::Http::TestResponseTrailerMapImpl::setGrpcStatus(unsigned long) Line | Count | Source | 966 | 1 | void set##name(uint64_t value) override { \ | 967 | 1 | header_map_->set##name(value); \ | 968 | 1 | header_map_->verifyByteSizeInternalForTest(); \ | 969 | 1 | } |
Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setContentLength(unsigned long) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyAttemptCount(unsigned long) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyExpectedRequestTimeoutMs(unsigned long) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyMaxRetries(unsigned long) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyUpstreamRequestTimeoutMs(unsigned long) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyUpstreamRequestPerTryTimeoutMs(unsigned long) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setEnvoyUpstreamStreamDurationMs(unsigned long) Unexecuted instantiation: Envoy::Http::TestRequestHeaderMapImpl::setForwardedPort(unsigned long) Envoy::Http::TestResponseHeaderMapImpl::setContentLength(unsigned long) Line | Count | Source | 966 | 101 | void set##name(uint64_t value) override { \ | 967 | 101 | header_map_->set##name(value); \ | 968 | 101 | header_map_->verifyByteSizeInternalForTest(); \ | 969 | 101 | } |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setEnvoyAttemptCount(unsigned long) Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setEnvoyUpstreamServiceTime(unsigned long) Envoy::Http::TestResponseHeaderMapImpl::setStatus(unsigned long) Line | Count | Source | 966 | 4.94k | void set##name(uint64_t value) override { \ | 967 | 4.94k | header_map_->set##name(value); \ | 968 | 4.94k | header_map_->verifyByteSizeInternalForTest(); \ | 969 | 4.94k | } |
Unexecuted instantiation: Envoy::Http::TestResponseHeaderMapImpl::setGrpcStatus(unsigned long) |
970 | | |
971 | | /** |
972 | | * Base class for all test header map types. This class wraps an underlying real header map |
973 | | * implementation, passes through all calls, and adds some niceties for testing that we don't |
974 | | * want in the production implementation for performance reasons. The wrapping functionality is |
975 | | * primarily here to deal with complexities around virtual calls in some constructor paths in |
976 | | * HeaderMapImpl. |
977 | | */ |
978 | | template <class Interface, class Impl> class TestHeaderMapImplBase : public Interface { |
979 | | public: |
980 | 795k | TestHeaderMapImplBase() = default; Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::TestHeaderMapImplBase() Line | Count | Source | 980 | 33.9k | TestHeaderMapImplBase() = default; |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::TestHeaderMapImplBase() Line | Count | Source | 980 | 78.0k | TestHeaderMapImplBase() = default; |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::TestHeaderMapImplBase() Line | Count | Source | 980 | 607k | TestHeaderMapImplBase() = default; |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::TestHeaderMapImplBase() Line | Count | Source | 980 | 75.4k | TestHeaderMapImplBase() = default; |
|
981 | 8.27k | TestHeaderMapImplBase(const std::initializer_list<std::pair<std::string, std::string>>& values) { |
982 | 14.2k | for (auto& value : values) { |
983 | 14.2k | header_map_->addCopy(LowerCaseString(value.first), value.second); |
984 | 14.2k | } |
985 | 8.27k | header_map_->verifyByteSizeInternalForTest(); |
986 | 8.27k | } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::TestHeaderMapImplBase(std::initializer_list<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) Line | Count | Source | 981 | 5.48k | TestHeaderMapImplBase(const std::initializer_list<std::pair<std::string, std::string>>& values) { | 982 | 5.48k | for (auto& value : values) { | 983 | 5.48k | header_map_->addCopy(LowerCaseString(value.first), value.second); | 984 | 5.48k | } | 985 | 5.48k | header_map_->verifyByteSizeInternalForTest(); | 986 | 5.48k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::TestHeaderMapImplBase(std::initializer_list<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) Line | Count | Source | 981 | 2.79k | TestHeaderMapImplBase(const std::initializer_list<std::pair<std::string, std::string>>& values) { | 982 | 8.71k | for (auto& value : values) { | 983 | 8.71k | header_map_->addCopy(LowerCaseString(value.first), value.second); | 984 | 8.71k | } | 985 | 2.79k | header_map_->verifyByteSizeInternalForTest(); | 986 | 2.79k | } |
Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::TestHeaderMapImplBase(std::initializer_list<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::TestHeaderMapImplBase(std::initializer_list<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) |
987 | | TestHeaderMapImplBase(const std::initializer_list<std::pair<std::string, std::string>>& values, |
988 | | const uint32_t max_headers_kb, const uint32_t max_headers_count) { |
989 | | if (header_map_) { |
990 | | header_map_.reset(); |
991 | | } |
992 | | header_map_ = Impl::create(max_headers_kb, max_headers_count); |
993 | | |
994 | | for (auto& value : values) { |
995 | | header_map_->addCopy(LowerCaseString(value.first), value.second); |
996 | | } |
997 | | header_map_->verifyByteSizeInternalForTest(); |
998 | | } |
999 | | |
1000 | | TestHeaderMapImplBase(const TestHeaderMapImplBase& rhs) |
1001 | 8.16k | : TestHeaderMapImplBase(*rhs.header_map_) {} Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::TestHeaderMapImplBase(Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl> const&) Line | Count | Source | 1001 | 6.06k | : TestHeaderMapImplBase(*rhs.header_map_) {} |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::TestHeaderMapImplBase(Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl> const&) Line | Count | Source | 1001 | 1.43k | : TestHeaderMapImplBase(*rhs.header_map_) {} |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::TestHeaderMapImplBase(Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl> const&) Line | Count | Source | 1001 | 666 | : TestHeaderMapImplBase(*rhs.header_map_) {} |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::TestHeaderMapImplBase(Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl> const&) Line | Count | Source | 1001 | 6 | : TestHeaderMapImplBase(*rhs.header_map_) {} |
|
1002 | 199k | TestHeaderMapImplBase(const HeaderMap& rhs) { |
1003 | 199k | HeaderMapImpl::copyFrom(*header_map_, rhs); |
1004 | 199k | header_map_->verifyByteSizeInternalForTest(); |
1005 | 199k | } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::TestHeaderMapImplBase(Envoy::Http::HeaderMap const&) Line | Count | Source | 1002 | 190k | TestHeaderMapImplBase(const HeaderMap& rhs) { | 1003 | 190k | HeaderMapImpl::copyFrom(*header_map_, rhs); | 1004 | 190k | header_map_->verifyByteSizeInternalForTest(); | 1005 | 190k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::TestHeaderMapImplBase(Envoy::Http::HeaderMap const&) Line | Count | Source | 1002 | 6.85k | TestHeaderMapImplBase(const HeaderMap& rhs) { | 1003 | 6.85k | HeaderMapImpl::copyFrom(*header_map_, rhs); | 1004 | 6.85k | header_map_->verifyByteSizeInternalForTest(); | 1005 | 6.85k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::TestHeaderMapImplBase(Envoy::Http::HeaderMap const&) Line | Count | Source | 1002 | 1.43k | TestHeaderMapImplBase(const HeaderMap& rhs) { | 1003 | 1.43k | HeaderMapImpl::copyFrom(*header_map_, rhs); | 1004 | 1.43k | header_map_->verifyByteSizeInternalForTest(); | 1005 | 1.43k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::TestHeaderMapImplBase(Envoy::Http::HeaderMap const&) Line | Count | Source | 1002 | 666 | TestHeaderMapImplBase(const HeaderMap& rhs) { | 1003 | 666 | HeaderMapImpl::copyFrom(*header_map_, rhs); | 1004 | 666 | header_map_->verifyByteSizeInternalForTest(); | 1005 | 666 | } |
|
1006 | | void copyFrom(const TestHeaderMapImplBase& rhs) { copyFrom(*rhs.header_map_); } |
1007 | | void copyFrom(const HeaderMap& rhs) { |
1008 | | HeaderMapImpl::copyFrom(*header_map_, rhs); |
1009 | | header_map_->verifyByteSizeInternalForTest(); |
1010 | | } |
1011 | 149k | TestHeaderMapImplBase& operator=(const TestHeaderMapImplBase& rhs) { |
1012 | 149k | if (this == &rhs) { |
1013 | 0 | return *this; |
1014 | 0 | } |
1015 | 149k | clear(); |
1016 | 149k | HeaderMapImpl::copyFrom(*header_map_, rhs); |
1017 | 149k | header_map_->verifyByteSizeInternalForTest(); |
1018 | 149k | return *this; |
1019 | 149k | } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::operator=(Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl> const&) Line | Count | Source | 1011 | 146k | TestHeaderMapImplBase& operator=(const TestHeaderMapImplBase& rhs) { | 1012 | 146k | if (this == &rhs) { | 1013 | 0 | return *this; | 1014 | 0 | } | 1015 | 146k | clear(); | 1016 | 146k | HeaderMapImpl::copyFrom(*header_map_, rhs); | 1017 | 146k | header_map_->verifyByteSizeInternalForTest(); | 1018 | 146k | return *this; | 1019 | 146k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::operator=(Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl> const&) Line | Count | Source | 1011 | 2.79k | TestHeaderMapImplBase& operator=(const TestHeaderMapImplBase& rhs) { | 1012 | 2.79k | if (this == &rhs) { | 1013 | 0 | return *this; | 1014 | 0 | } | 1015 | 2.79k | clear(); | 1016 | 2.79k | HeaderMapImpl::copyFrom(*header_map_, rhs); | 1017 | 2.79k | header_map_->verifyByteSizeInternalForTest(); | 1018 | 2.79k | return *this; | 1019 | 2.79k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::operator=(Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl> const&) Line | Count | Source | 1011 | 239 | TestHeaderMapImplBase& operator=(const TestHeaderMapImplBase& rhs) { | 1012 | 239 | if (this == &rhs) { | 1013 | 0 | return *this; | 1014 | 0 | } | 1015 | 239 | clear(); | 1016 | 239 | HeaderMapImpl::copyFrom(*header_map_, rhs); | 1017 | 239 | header_map_->verifyByteSizeInternalForTest(); | 1018 | 239 | return *this; | 1019 | 239 | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::operator=(Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl> const&) Line | Count | Source | 1011 | 42 | TestHeaderMapImplBase& operator=(const TestHeaderMapImplBase& rhs) { | 1012 | 42 | if (this == &rhs) { | 1013 | 0 | return *this; | 1014 | 0 | } | 1015 | 42 | clear(); | 1016 | 42 | HeaderMapImpl::copyFrom(*header_map_, rhs); | 1017 | 42 | header_map_->verifyByteSizeInternalForTest(); | 1018 | 42 | return *this; | 1019 | 42 | } |
|
1020 | | |
1021 | | // Value added methods on top of HeaderMap. |
1022 | 1.53M | void addCopy(const std::string& key, const std::string& value) { |
1023 | 1.53M | addCopy(LowerCaseString(key), value); |
1024 | 1.53M | } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::addCopy(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 1022 | 1.15M | void addCopy(const std::string& key, const std::string& value) { | 1023 | 1.15M | addCopy(LowerCaseString(key), value); | 1024 | 1.15M | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::addCopy(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 1022 | 60.1k | void addCopy(const std::string& key, const std::string& value) { | 1023 | 60.1k | addCopy(LowerCaseString(key), value); | 1024 | 60.1k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::addCopy(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 1022 | 310k | void addCopy(const std::string& key, const std::string& value) { | 1023 | 310k | addCopy(LowerCaseString(key), value); | 1024 | 310k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::addCopy(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) Line | Count | Source | 1022 | 11.3k | void addCopy(const std::string& key, const std::string& value) { | 1023 | 11.3k | addCopy(LowerCaseString(key), value); | 1024 | 11.3k | } |
|
1025 | 7.07k | std::string get_(const std::string& key) const { return get_(LowerCaseString(key)); } |
1026 | 7.07k | std::string get_(const LowerCaseString& key) const { |
1027 | | // TODO(mattklein123): Possibly allow getting additional headers beyond the first. |
1028 | 7.07k | auto headers = get(key); |
1029 | 7.07k | if (headers.empty()) { |
1030 | 7.07k | return EMPTY_STRING; |
1031 | 7.07k | } else { |
1032 | 0 | return std::string(headers[0]->value().getStringView()); |
1033 | 0 | } |
1034 | 7.07k | } |
1035 | | bool has(const std::string& key) const { return !get(LowerCaseString(key)).empty(); } |
1036 | | bool has(const LowerCaseString& key) const { return !get(key).empty(); } |
1037 | | size_t remove(const std::string& key) { return remove(LowerCaseString(key)); } |
1038 | | |
1039 | | // HeaderMap |
1040 | 0 | bool operator==(const HeaderMap& rhs) const override { return header_map_->operator==(rhs); } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::operator==(Envoy::Http::HeaderMap const&) const Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::operator==(Envoy::Http::HeaderMap const&) const Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::operator==(Envoy::Http::HeaderMap const&) const Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::operator==(Envoy::Http::HeaderMap const&) const |
1041 | 0 | bool operator!=(const HeaderMap& rhs) const override { return header_map_->operator!=(rhs); } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::operator!=(Envoy::Http::HeaderMap const&) const Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::operator!=(Envoy::Http::HeaderMap const&) const Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::operator!=(Envoy::Http::HeaderMap const&) const Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::operator!=(Envoy::Http::HeaderMap const&) const |
1042 | | |
1043 | | bool operator==(const TestHeaderMapImplBase& rhs) const { return header_map_->operator==(rhs); } |
1044 | | bool operator!=(const TestHeaderMapImplBase& rhs) const { return header_map_->operator!=(rhs); } |
1045 | 0 | void addViaMove(HeaderString&& key, HeaderString&& value) override { |
1046 | 0 | header_map_->addViaMove(std::move(key), std::move(value)); |
1047 | 0 | header_map_->verifyByteSizeInternalForTest(); |
1048 | 0 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::addViaMove(Envoy::Http::HeaderString&&, Envoy::Http::HeaderString&&) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::addViaMove(Envoy::Http::HeaderString&&, Envoy::Http::HeaderString&&) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::addViaMove(Envoy::Http::HeaderString&&, Envoy::Http::HeaderString&&) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::addViaMove(Envoy::Http::HeaderString&&, Envoy::Http::HeaderString&&) |
1049 | 0 | void addReference(const LowerCaseString& key, absl::string_view value) override { |
1050 | 0 | header_map_->addReference(key, value); |
1051 | 0 | header_map_->verifyByteSizeInternalForTest(); |
1052 | 0 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::addReference(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::addReference(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::addReference(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::addReference(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) |
1053 | 0 | void addReferenceKey(const LowerCaseString& key, uint64_t value) override { |
1054 | 0 | header_map_->addReferenceKey(key, value); |
1055 | 0 | header_map_->verifyByteSizeInternalForTest(); |
1056 | 0 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::addReferenceKey(Envoy::Http::LowerCaseString const&, unsigned long) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::addReferenceKey(Envoy::Http::LowerCaseString const&, unsigned long) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::addReferenceKey(Envoy::Http::LowerCaseString const&, unsigned long) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::addReferenceKey(Envoy::Http::LowerCaseString const&, unsigned long) |
1057 | 126k | void addReferenceKey(const LowerCaseString& key, absl::string_view value) override { |
1058 | 126k | header_map_->addReferenceKey(key, value); |
1059 | 126k | header_map_->verifyByteSizeInternalForTest(); |
1060 | 126k | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::addReferenceKey(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::addReferenceKey(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::addReferenceKey(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 1057 | 126k | void addReferenceKey(const LowerCaseString& key, absl::string_view value) override { | 1058 | 126k | header_map_->addReferenceKey(key, value); | 1059 | 126k | header_map_->verifyByteSizeInternalForTest(); | 1060 | 126k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::addReferenceKey(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 1057 | 5 | void addReferenceKey(const LowerCaseString& key, absl::string_view value) override { | 1058 | 5 | header_map_->addReferenceKey(key, value); | 1059 | 5 | header_map_->verifyByteSizeInternalForTest(); | 1060 | 5 | } |
|
1061 | 0 | void addCopy(const LowerCaseString& key, uint64_t value) override { |
1062 | 0 | header_map_->addCopy(key, value); |
1063 | 0 | header_map_->verifyByteSizeInternalForTest(); |
1064 | 0 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::addCopy(Envoy::Http::LowerCaseString const&, unsigned long) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::addCopy(Envoy::Http::LowerCaseString const&, unsigned long) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::addCopy(Envoy::Http::LowerCaseString const&, unsigned long) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::addCopy(Envoy::Http::LowerCaseString const&, unsigned long) |
1065 | 1.61M | void addCopy(const LowerCaseString& key, absl::string_view value) override { |
1066 | 1.61M | header_map_->addCopy(key, value); |
1067 | 1.61M | header_map_->verifyByteSizeInternalForTest(); |
1068 | 1.61M | } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::addCopy(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 1065 | 62.3k | void addCopy(const LowerCaseString& key, absl::string_view value) override { | 1066 | 62.3k | header_map_->addCopy(key, value); | 1067 | 62.3k | header_map_->verifyByteSizeInternalForTest(); | 1068 | 62.3k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::addCopy(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 1065 | 11.3k | void addCopy(const LowerCaseString& key, absl::string_view value) override { | 1066 | 11.3k | header_map_->addCopy(key, value); | 1067 | 11.3k | header_map_->verifyByteSizeInternalForTest(); | 1068 | 11.3k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::addCopy(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 1065 | 1.22M | void addCopy(const LowerCaseString& key, absl::string_view value) override { | 1066 | 1.22M | header_map_->addCopy(key, value); | 1067 | 1.22M | header_map_->verifyByteSizeInternalForTest(); | 1068 | 1.22M | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::addCopy(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 1065 | 313k | void addCopy(const LowerCaseString& key, absl::string_view value) override { | 1066 | 313k | header_map_->addCopy(key, value); | 1067 | 313k | header_map_->verifyByteSizeInternalForTest(); | 1068 | 313k | } |
|
1069 | 925 | void appendCopy(const LowerCaseString& key, absl::string_view value) override { |
1070 | 925 | header_map_->appendCopy(key, value); |
1071 | 925 | header_map_->verifyByteSizeInternalForTest(); |
1072 | 925 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::appendCopy(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::appendCopy(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::appendCopy(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 1069 | 925 | void appendCopy(const LowerCaseString& key, absl::string_view value) override { | 1070 | 925 | header_map_->appendCopy(key, value); | 1071 | 925 | header_map_->verifyByteSizeInternalForTest(); | 1072 | 925 | } |
Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::appendCopy(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) |
1073 | 0 | void setReference(const LowerCaseString& key, absl::string_view value) override { |
1074 | 0 | header_map_->setReference(key, value); |
1075 | 0 | header_map_->verifyByteSizeInternalForTest(); |
1076 | 0 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::setReference(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::setReference(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::setReference(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::setReference(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) |
1077 | 231k | void setReferenceKey(const LowerCaseString& key, absl::string_view value) override { |
1078 | 231k | header_map_->setReferenceKey(key, value); |
1079 | 231k | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::setReferenceKey(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::setReferenceKey(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::setReferenceKey(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 1077 | 216k | void setReferenceKey(const LowerCaseString& key, absl::string_view value) override { | 1078 | 216k | header_map_->setReferenceKey(key, value); | 1079 | 216k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::setReferenceKey(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 1077 | 15.5k | void setReferenceKey(const LowerCaseString& key, absl::string_view value) override { | 1078 | 15.5k | header_map_->setReferenceKey(key, value); | 1079 | 15.5k | } |
|
1080 | 37.6k | void setCopy(const LowerCaseString& key, absl::string_view value) override { |
1081 | 37.6k | header_map_->setCopy(key, value); |
1082 | 37.6k | header_map_->verifyByteSizeInternalForTest(); |
1083 | 37.6k | } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::setCopy(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 1080 | 10.8k | void setCopy(const LowerCaseString& key, absl::string_view value) override { | 1081 | 10.8k | header_map_->setCopy(key, value); | 1082 | 10.8k | header_map_->verifyByteSizeInternalForTest(); | 1083 | 10.8k | } |
Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::setCopy(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::setCopy(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 1080 | 26.7k | void setCopy(const LowerCaseString& key, absl::string_view value) override { | 1081 | 26.7k | header_map_->setCopy(key, value); | 1082 | 26.7k | header_map_->verifyByteSizeInternalForTest(); | 1083 | 26.7k | } |
Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::setCopy(Envoy::Http::LowerCaseString const&, std::__1::basic_string_view<char, std::__1::char_traits<char> >) |
1084 | 1.82k | uint64_t byteSize() const override { return header_map_->byteSize(); } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::byteSize() const Line | Count | Source | 1084 | 326 | uint64_t byteSize() const override { return header_map_->byteSize(); } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::byteSize() const Line | Count | Source | 1084 | 158 | uint64_t byteSize() const override { return header_map_->byteSize(); } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::byteSize() const Line | Count | Source | 1084 | 1.18k | uint64_t byteSize() const override { return header_map_->byteSize(); } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::byteSize() const Line | Count | Source | 1084 | 158 | uint64_t byteSize() const override { return header_map_->byteSize(); } |
|
1085 | 1.04k | uint32_t maxHeadersKb() const override { return header_map_->maxHeadersKb(); } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::maxHeadersKb() const Line | Count | Source | 1085 | 326 | uint32_t maxHeadersKb() const override { return header_map_->maxHeadersKb(); } |
Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::maxHeadersKb() const Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::maxHeadersKb() const Line | Count | Source | 1085 | 718 | uint32_t maxHeadersKb() const override { return header_map_->maxHeadersKb(); } |
Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::maxHeadersKb() const |
1086 | 2.23k | uint32_t maxHeadersCount() const override { return header_map_->maxHeadersCount(); } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::maxHeadersCount() const Line | Count | Source | 1086 | 698 | uint32_t maxHeadersCount() const override { return header_map_->maxHeadersCount(); } |
Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::maxHeadersCount() const Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::maxHeadersCount() const Line | Count | Source | 1086 | 1.53k | uint32_t maxHeadersCount() const override { return header_map_->maxHeadersCount(); } |
Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::maxHeadersCount() const |
1087 | 467k | HeaderMap::GetResult get(const LowerCaseString& key) const override { |
1088 | 467k | return header_map_->get(key); |
1089 | 467k | } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::get(Envoy::Http::LowerCaseString const&) const Line | Count | Source | 1087 | 3.24k | HeaderMap::GetResult get(const LowerCaseString& key) const override { | 1088 | 3.24k | return header_map_->get(key); | 1089 | 3.24k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::get(Envoy::Http::LowerCaseString const&) const Line | Count | Source | 1087 | 8.66k | HeaderMap::GetResult get(const LowerCaseString& key) const override { | 1088 | 8.66k | return header_map_->get(key); | 1089 | 8.66k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::get(Envoy::Http::LowerCaseString const&) const Line | Count | Source | 1087 | 374k | HeaderMap::GetResult get(const LowerCaseString& key) const override { | 1088 | 374k | return header_map_->get(key); | 1089 | 374k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::get(Envoy::Http::LowerCaseString const&) const Line | Count | Source | 1087 | 81.4k | HeaderMap::GetResult get(const LowerCaseString& key) const override { | 1088 | 81.4k | return header_map_->get(key); | 1089 | 81.4k | } |
|
1090 | 645k | void iterate(HeaderMap::ConstIterateCb cb) const override { header_map_->iterate(cb); } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::iterate(std::__1::function<Envoy::Http::HeaderMap::Iterate (Envoy::Http::HeaderEntry const&)>) const Line | Count | Source | 1090 | 3.89k | void iterate(HeaderMap::ConstIterateCb cb) const override { header_map_->iterate(cb); } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::iterate(std::__1::function<Envoy::Http::HeaderMap::Iterate (Envoy::Http::HeaderEntry const&)>) const Line | Count | Source | 1090 | 4.56k | void iterate(HeaderMap::ConstIterateCb cb) const override { header_map_->iterate(cb); } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::iterate(std::__1::function<Envoy::Http::HeaderMap::Iterate (Envoy::Http::HeaderEntry const&)>) const Line | Count | Source | 1090 | 606k | void iterate(HeaderMap::ConstIterateCb cb) const override { header_map_->iterate(cb); } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::iterate(std::__1::function<Envoy::Http::HeaderMap::Iterate (Envoy::Http::HeaderEntry const&)>) const Line | Count | Source | 1090 | 30.6k | void iterate(HeaderMap::ConstIterateCb cb) const override { header_map_->iterate(cb); } |
|
1091 | 0 | void iterateReverse(HeaderMap::ConstIterateCb cb) const override { |
1092 | 0 | header_map_->iterateReverse(cb); |
1093 | 0 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::iterateReverse(std::__1::function<Envoy::Http::HeaderMap::Iterate (Envoy::Http::HeaderEntry const&)>) const Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::iterateReverse(std::__1::function<Envoy::Http::HeaderMap::Iterate (Envoy::Http::HeaderEntry const&)>) const Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::iterateReverse(std::__1::function<Envoy::Http::HeaderMap::Iterate (Envoy::Http::HeaderEntry const&)>) const Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::iterateReverse(std::__1::function<Envoy::Http::HeaderMap::Iterate (Envoy::Http::HeaderEntry const&)>) const |
1094 | 269k | void clear() override { |
1095 | 269k | header_map_->clear(); |
1096 | 269k | header_map_->verifyByteSizeInternalForTest(); |
1097 | 269k | } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::clear() Line | Count | Source | 1094 | 26.7k | void clear() override { | 1095 | 26.7k | header_map_->clear(); | 1096 | 26.7k | header_map_->verifyByteSizeInternalForTest(); | 1097 | 26.7k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::clear() Line | Count | Source | 1094 | 47.9k | void clear() override { | 1095 | 47.9k | header_map_->clear(); | 1096 | 47.9k | header_map_->verifyByteSizeInternalForTest(); | 1097 | 47.9k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::clear() Line | Count | Source | 1094 | 170k | void clear() override { | 1095 | 170k | header_map_->clear(); | 1096 | 170k | header_map_->verifyByteSizeInternalForTest(); | 1097 | 170k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::clear() Line | Count | Source | 1094 | 24.1k | void clear() override { | 1095 | 24.1k | header_map_->clear(); | 1096 | 24.1k | header_map_->verifyByteSizeInternalForTest(); | 1097 | 24.1k | } |
|
1098 | 105k | size_t remove(const LowerCaseString& key) override { |
1099 | 105k | size_t headers_removed = header_map_->remove(key); |
1100 | 105k | header_map_->verifyByteSizeInternalForTest(); |
1101 | 105k | return headers_removed; |
1102 | 105k | } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::remove(Envoy::Http::LowerCaseString const&) Line | Count | Source | 1098 | 5.11k | size_t remove(const LowerCaseString& key) override { | 1099 | 5.11k | size_t headers_removed = header_map_->remove(key); | 1100 | 5.11k | header_map_->verifyByteSizeInternalForTest(); | 1101 | 5.11k | return headers_removed; | 1102 | 5.11k | } |
Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::remove(Envoy::Http::LowerCaseString const&) Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::remove(Envoy::Http::LowerCaseString const&) Line | Count | Source | 1098 | 98.1k | size_t remove(const LowerCaseString& key) override { | 1099 | 98.1k | size_t headers_removed = header_map_->remove(key); | 1100 | 98.1k | header_map_->verifyByteSizeInternalForTest(); | 1101 | 98.1k | return headers_removed; | 1102 | 98.1k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::remove(Envoy::Http::LowerCaseString const&) Line | Count | Source | 1098 | 2.67k | size_t remove(const LowerCaseString& key) override { | 1099 | 2.67k | size_t headers_removed = header_map_->remove(key); | 1100 | 2.67k | header_map_->verifyByteSizeInternalForTest(); | 1101 | 2.67k | return headers_removed; | 1102 | 2.67k | } |
|
1103 | 0 | size_t removeIf(const HeaderMap::HeaderMatchPredicate& predicate) override { |
1104 | 0 | size_t headers_removed = header_map_->removeIf(predicate); |
1105 | 0 | header_map_->verifyByteSizeInternalForTest(); |
1106 | 0 | return headers_removed; |
1107 | 0 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::removeIf(std::__1::function<bool (Envoy::Http::HeaderEntry const&)> const&) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::removeIf(std::__1::function<bool (Envoy::Http::HeaderEntry const&)> const&) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::removeIf(std::__1::function<bool (Envoy::Http::HeaderEntry const&)> const&) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::removeIf(std::__1::function<bool (Envoy::Http::HeaderEntry const&)> const&) |
1108 | 0 | size_t removePrefix(const LowerCaseString& key) override { |
1109 | 0 | size_t headers_removed = header_map_->removePrefix(key); |
1110 | 0 | header_map_->verifyByteSizeInternalForTest(); |
1111 | 0 | return headers_removed; |
1112 | 0 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::removePrefix(Envoy::Http::LowerCaseString const&) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::removePrefix(Envoy::Http::LowerCaseString const&) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::removePrefix(Envoy::Http::LowerCaseString const&) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::removePrefix(Envoy::Http::LowerCaseString const&) |
1113 | 104k | size_t size() const override { return header_map_->size(); } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::size() const Line | Count | Source | 1113 | 864 | size_t size() const override { return header_map_->size(); } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::size() const Line | Count | Source | 1113 | 75 | size_t size() const override { return header_map_->size(); } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::size() const Line | Count | Source | 1113 | 98.9k | size_t size() const override { return header_map_->size(); } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::size() const Line | Count | Source | 1113 | 4.98k | size_t size() const override { return header_map_->size(); } |
|
1114 | 16.8k | bool empty() const override { return header_map_->empty(); } Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::empty() const Line | Count | Source | 1114 | 738 | bool empty() const override { return header_map_->empty(); } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::empty() const Line | Count | Source | 1114 | 1.66k | bool empty() const override { return header_map_->empty(); } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::empty() const Line | Count | Source | 1114 | 9.62k | bool empty() const override { return header_map_->empty(); } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::empty() const Line | Count | Source | 1114 | 4.83k | bool empty() const override { return header_map_->empty(); } |
|
1115 | 0 | void dumpState(std::ostream& os, int indent_level = 0) const override { |
1116 | 0 | header_map_->dumpState(os, indent_level); |
1117 | 0 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::dumpState(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int) const Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::dumpState(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int) const Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::dumpState(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int) const Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::dumpState(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int) const |
1118 | | |
1119 | | using Handle = typename CustomInlineHeaderRegistry::Handle<Interface::header_map_type>; |
1120 | 549 | const HeaderEntry* getInline(Handle handle) const override { |
1121 | 549 | return header_map_->getInline(handle); |
1122 | 549 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::getInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)1>) const Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::getInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)3>) const Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::getInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)0>) const Line | Count | Source | 1120 | 549 | const HeaderEntry* getInline(Handle handle) const override { | 1121 | 549 | return header_map_->getInline(handle); | 1122 | 549 | } |
Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::getInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)2>) const |
1123 | 0 | void appendInline(Handle handle, absl::string_view data, absl::string_view delimiter) override { |
1124 | 0 | header_map_->appendInline(handle, data, delimiter); |
1125 | 0 | header_map_->verifyByteSizeInternalForTest(); |
1126 | 0 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::appendInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)1>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::appendInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)3>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::appendInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)0>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::appendInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)2>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >) |
1127 | 0 | void setReferenceInline(Handle handle, absl::string_view value) override { |
1128 | 0 | header_map_->setReferenceInline(handle, value); |
1129 | 0 | header_map_->verifyByteSizeInternalForTest(); |
1130 | 0 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::setReferenceInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)1>, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::setReferenceInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)3>, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::setReferenceInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)0>, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::setReferenceInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)2>, std::__1::basic_string_view<char, std::__1::char_traits<char> >) |
1131 | 1 | void setInline(Handle handle, absl::string_view value) override { |
1132 | 1 | header_map_->setInline(handle, value); |
1133 | 1 | header_map_->verifyByteSizeInternalForTest(); |
1134 | 1 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::setInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)1>, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::setInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)3>, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::setInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)0>, std::__1::basic_string_view<char, std::__1::char_traits<char> >) Line | Count | Source | 1131 | 1 | void setInline(Handle handle, absl::string_view value) override { | 1132 | 1 | header_map_->setInline(handle, value); | 1133 | 1 | header_map_->verifyByteSizeInternalForTest(); | 1134 | 1 | } |
Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::setInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)2>, std::__1::basic_string_view<char, std::__1::char_traits<char> >) |
1135 | 0 | void setInline(Handle handle, uint64_t value) override { |
1136 | 0 | header_map_->setInline(handle, value); |
1137 | 0 | header_map_->verifyByteSizeInternalForTest(); |
1138 | 0 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::setInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)1>, unsigned long) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::setInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)3>, unsigned long) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::setInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)0>, unsigned long) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::setInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)2>, unsigned long) |
1139 | 0 | size_t removeInline(Handle handle) override { |
1140 | 0 | const size_t rc = header_map_->removeInline(handle); |
1141 | 0 | header_map_->verifyByteSizeInternalForTest(); |
1142 | 0 | return rc; |
1143 | 0 | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::removeInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)1>) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::removeInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)3>) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::removeInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)0>) Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::removeInline(Envoy::Http::CustomInlineHeaderRegistry::Handle<(Envoy::Http::CustomInlineHeaderRegistry::Type)2>) |
1144 | 30.9k | StatefulHeaderKeyFormatterOptConstRef formatter() const override { |
1145 | 30.9k | return StatefulHeaderKeyFormatterOptConstRef(header_map_->formatter()); |
1146 | 30.9k | } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::formatter() const Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::formatter() const Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::formatter() const Line | Count | Source | 1144 | 8.77k | StatefulHeaderKeyFormatterOptConstRef formatter() const override { | 1145 | 8.77k | return StatefulHeaderKeyFormatterOptConstRef(header_map_->formatter()); | 1146 | 8.77k | } |
Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::formatter() const Line | Count | Source | 1144 | 22.1k | StatefulHeaderKeyFormatterOptConstRef formatter() const override { | 1145 | 22.1k | return StatefulHeaderKeyFormatterOptConstRef(header_map_->formatter()); | 1146 | 22.1k | } |
|
1147 | 0 | StatefulHeaderKeyFormatterOptRef formatter() override { return header_map_->formatter(); } Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestTrailerMap, Envoy::Http::RequestTrailerMapImpl>::formatter() Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseTrailerMap, Envoy::Http::ResponseTrailerMapImpl>::formatter() Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::RequestHeaderMap, Envoy::Http::RequestHeaderMapImpl>::formatter() Unexecuted instantiation: Envoy::Http::TestHeaderMapImplBase<Envoy::Http::ResponseHeaderMap, Envoy::Http::ResponseHeaderMapImpl>::formatter() |
1148 | | |
1149 | | std::unique_ptr<Impl> header_map_{Impl::create()}; |
1150 | | }; |
1151 | | |
1152 | | /** |
1153 | | * Typed test implementations for all of the concrete header types. |
1154 | | */ |
1155 | | class TestRequestHeaderMapImpl |
1156 | | : public TestHeaderMapImplBase<RequestHeaderMap, RequestHeaderMapImpl> { |
1157 | | public: |
1158 | | using TestHeaderMapImplBase::TestHeaderMapImplBase; |
1159 | | |
1160 | | INLINE_REQ_STRING_HEADERS(DEFINE_TEST_INLINE_STRING_HEADER_FUNCS) |
1161 | | INLINE_REQ_NUMERIC_HEADERS(DEFINE_TEST_INLINE_NUMERIC_HEADER_FUNCS) |
1162 | | INLINE_REQ_RESP_STRING_HEADERS(DEFINE_TEST_INLINE_STRING_HEADER_FUNCS) |
1163 | | INLINE_REQ_RESP_NUMERIC_HEADERS(DEFINE_TEST_INLINE_NUMERIC_HEADER_FUNCS) |
1164 | | }; |
1165 | | |
1166 | | using TestRequestTrailerMapImpl = TestHeaderMapImplBase<RequestTrailerMap, RequestTrailerMapImpl>; |
1167 | | |
1168 | | class TestResponseHeaderMapImpl |
1169 | | : public TestHeaderMapImplBase<ResponseHeaderMap, ResponseHeaderMapImpl> { |
1170 | | public: |
1171 | | using TestHeaderMapImplBase::TestHeaderMapImplBase; |
1172 | | |
1173 | | INLINE_RESP_STRING_HEADERS(DEFINE_TEST_INLINE_STRING_HEADER_FUNCS) |
1174 | | INLINE_RESP_NUMERIC_HEADERS(DEFINE_TEST_INLINE_NUMERIC_HEADER_FUNCS) |
1175 | | INLINE_REQ_RESP_STRING_HEADERS(DEFINE_TEST_INLINE_STRING_HEADER_FUNCS) |
1176 | | INLINE_REQ_RESP_NUMERIC_HEADERS(DEFINE_TEST_INLINE_NUMERIC_HEADER_FUNCS) |
1177 | | INLINE_RESP_STRING_HEADERS_TRAILERS(DEFINE_TEST_INLINE_STRING_HEADER_FUNCS) |
1178 | | INLINE_RESP_NUMERIC_HEADERS_TRAILERS(DEFINE_TEST_INLINE_NUMERIC_HEADER_FUNCS) |
1179 | | }; |
1180 | | |
1181 | | class TestResponseTrailerMapImpl |
1182 | | : public TestHeaderMapImplBase<ResponseTrailerMap, ResponseTrailerMapImpl> { |
1183 | | public: |
1184 | | using TestHeaderMapImplBase::TestHeaderMapImplBase; |
1185 | | |
1186 | | INLINE_RESP_STRING_HEADERS_TRAILERS(DEFINE_TEST_INLINE_STRING_HEADER_FUNCS) |
1187 | | INLINE_RESP_NUMERIC_HEADERS_TRAILERS(DEFINE_TEST_INLINE_NUMERIC_HEADER_FUNCS) |
1188 | | }; |
1189 | | |
1190 | | // Helper method to create a header map from an initializer list. Useful due to make_unique's |
1191 | | // inability to infer the initializer list type. |
1192 | | template <class T> |
1193 | | inline std::unique_ptr<T> |
1194 | | makeHeaderMap(const std::initializer_list<std::pair<std::string, std::string>>& values) { |
1195 | | return std::make_unique<T, const std::initializer_list<std::pair<std::string, std::string>>&>( |
1196 | | values); |
1197 | | } |
1198 | | |
1199 | | } // namespace Http |
1200 | | |
1201 | | namespace Api { |
1202 | | ApiPtr createApiForTest(); |
1203 | | ApiPtr createApiForTest(Filesystem::Instance& filesystem); |
1204 | | ApiPtr createApiForTest(Random::RandomGenerator& random); |
1205 | | ApiPtr createApiForTest(Stats::Store& stat_store); |
1206 | | ApiPtr createApiForTest(Stats::Store& stat_store, Random::RandomGenerator& random); |
1207 | | ApiPtr createApiForTest(Event::TimeSystem& time_system); |
1208 | | ApiPtr createApiForTest(Stats::Store& stat_store, Event::TimeSystem& time_system); |
1209 | | } // namespace Api |
1210 | | |
1211 | | // Useful for testing ScopeTrackedObject order of deletion. |
1212 | | class MessageTrackedObject : public ScopeTrackedObject { |
1213 | | public: |
1214 | 0 | MessageTrackedObject(absl::string_view sv) : sv_(sv) {} |
1215 | 0 | void dumpState(std::ostream& os, int /*indent_level*/) const override { os << sv_; } |
1216 | | |
1217 | | private: |
1218 | | absl::string_view sv_; |
1219 | | }; |
1220 | | |
1221 | 0 | MATCHER_P(HeaderMapEqualIgnoreOrder, expected, "") { |
1222 | 0 | const bool equal = TestUtility::headerMapEqualIgnoreOrder(*arg, *expected); |
1223 | 0 | if (!equal) { |
1224 | 0 | *result_listener << "\n" |
1225 | 0 | << TestUtility::addLeftAndRightPadding("Expected header map:") << "\n" |
1226 | 0 | << *expected |
1227 | 0 | << TestUtility::addLeftAndRightPadding("is not equal to actual header map:") |
1228 | 0 | << "\n" |
1229 | 0 | << *arg << TestUtility::addLeftAndRightPadding("") // line full of padding |
1230 | 0 | << "\n"; |
1231 | 0 | } |
1232 | 0 | return equal; |
1233 | 0 | } |
1234 | | |
1235 | | #if defined(ENVOY_ENABLE_FULL_PROTOS) |
1236 | | MATCHER_P(ProtoEq, expected, "") { |
1237 | | const bool equal = |
1238 | | TestUtility::protoEqual(arg, expected, /*ignore_repeated_field_ordering=*/false); |
1239 | | if (!equal) { |
1240 | | *result_listener << "\n" |
1241 | | << "==========================Expected proto:===========================\n" |
1242 | | << expected.DebugString() |
1243 | | << "------------------is not equal to actual proto:---------------------\n" |
1244 | | << arg.DebugString() |
1245 | | << "====================================================================\n"; |
1246 | | } |
1247 | | return equal; |
1248 | | } |
1249 | | |
1250 | | MATCHER_P(ProtoEqIgnoreRepeatedFieldOrdering, expected, "") { |
1251 | | const bool equal = |
1252 | | TestUtility::protoEqual(arg, expected, /*ignore_repeated_field_ordering=*/true); |
1253 | | if (!equal) { |
1254 | | *result_listener << "\n" |
1255 | | << TestUtility::addLeftAndRightPadding("Expected proto:") << "\n" |
1256 | | << expected.DebugString() |
1257 | | << TestUtility::addLeftAndRightPadding("is not equal to actual proto:") << "\n" |
1258 | | << arg.DebugString() |
1259 | | << TestUtility::addLeftAndRightPadding("") // line full of padding |
1260 | | << "\n"; |
1261 | | } |
1262 | | return equal; |
1263 | | } |
1264 | | |
1265 | | MATCHER_P2(ProtoEqIgnoringField, expected, ignored_field, "") { |
1266 | | const bool equal = TestUtility::protoEqualIgnoringField(arg, expected, ignored_field); |
1267 | | if (!equal) { |
1268 | | std::string but_ignoring = absl::StrCat("(but ignoring ", ignored_field, ")"); |
1269 | | *result_listener << "\n" |
1270 | | << TestUtility::addLeftAndRightPadding("Expected proto:") << "\n" |
1271 | | << TestUtility::addLeftAndRightPadding(but_ignoring) << "\n" |
1272 | | << expected.DebugString() |
1273 | | << TestUtility::addLeftAndRightPadding("is not equal to actual proto:") << "\n" |
1274 | | << arg.DebugString() |
1275 | | << TestUtility::addLeftAndRightPadding("") // line full of padding |
1276 | | << "\n"; |
1277 | | } |
1278 | | return equal; |
1279 | | } |
1280 | | |
1281 | | MATCHER_P(RepeatedProtoEq, expected, "") { |
1282 | | const bool equal = TestUtility::repeatedPtrFieldEqual(arg, expected); |
1283 | | if (!equal) { |
1284 | | *result_listener << "\n" |
1285 | | << TestUtility::addLeftAndRightPadding("Expected repeated:") << "\n" |
1286 | | << RepeatedPtrUtil::debugString(expected) << "\n" |
1287 | | << TestUtility::addLeftAndRightPadding("is not equal to actual repeated:") |
1288 | | << "\n" |
1289 | | << RepeatedPtrUtil::debugString(arg) << "\n" |
1290 | | << TestUtility::addLeftAndRightPadding("") // line full of padding |
1291 | | << "\n"; |
1292 | | } |
1293 | | return equal; |
1294 | | } |
1295 | | |
1296 | | MATCHER_P(DecodedResourcesEq, expected, "") { |
1297 | | const bool equal = std::equal(arg.begin(), arg.end(), expected.begin(), expected.end(), |
1298 | | TestUtility::decodedResourceEq); |
1299 | | if (!equal) { |
1300 | | const auto format_resources = |
1301 | | [](const std::vector<Config::DecodedResourceRef>& resources) -> std::string { |
1302 | | std::vector<std::string> resource_strs; |
1303 | | std::transform( |
1304 | | resources.begin(), resources.end(), std::back_inserter(resource_strs), |
1305 | | [](const Config::DecodedResourceRef& resource) -> std::string { |
1306 | | return fmt::format( |
1307 | | "<name: {}, aliases: {}, version: {}, resource: {}>", resource.get().name(), |
1308 | | absl::StrJoin(resource.get().aliases(), ","), resource.get().version(), |
1309 | | resource.get().hasResource() ? resource.get().resource().DebugString() : "(none)"); |
1310 | | }); |
1311 | | return absl::StrJoin(resource_strs, ", "); |
1312 | | }; |
1313 | | *result_listener << "\n" |
1314 | | << TestUtility::addLeftAndRightPadding("Expected resources:") << "\n" |
1315 | | << format_resources(expected) << "\n" |
1316 | | << TestUtility::addLeftAndRightPadding("are not equal to actual resources:") |
1317 | | << "\n" |
1318 | | << format_resources(arg) << "\n" |
1319 | | << TestUtility::addLeftAndRightPadding("") // line full of padding |
1320 | | << "\n"; |
1321 | | } |
1322 | | return equal; |
1323 | | } |
1324 | | |
1325 | | MATCHER_P(Percent, rhs, "") { |
1326 | | envoy::type::v3::FractionalPercent expected; |
1327 | | expected.set_numerator(rhs); |
1328 | | expected.set_denominator(envoy::type::v3::FractionalPercent::HUNDRED); |
1329 | | return TestUtility::protoEqual(expected, arg, /*ignore_repeated_field_ordering=*/false); |
1330 | | } |
1331 | | |
1332 | | #endif |
1333 | | |
1334 | | #ifdef ENVOY_ENABLE_YAML |
1335 | | MATCHER_P(JsonStringEq, expected, "") { |
1336 | | const bool equal = TestUtility::jsonStringEqual(arg, expected); |
1337 | | if (!equal) { |
1338 | | *result_listener << "\n" |
1339 | | << TestUtility::addLeftAndRightPadding("Expected JSON string:") << "\n" |
1340 | | << expected |
1341 | | << TestUtility::addLeftAndRightPadding("is not equal to actual JSON string:") |
1342 | | << "\n" |
1343 | | << arg << TestUtility::addLeftAndRightPadding("") // line full of padding |
1344 | | << "\n"; |
1345 | | } |
1346 | | return equal; |
1347 | | } |
1348 | | #endif |
1349 | | |
1350 | | #ifdef WIN32 |
1351 | | #define DISABLE_UNDER_WINDOWS return |
1352 | | #else |
1353 | | #define DISABLE_UNDER_WINDOWS \ |
1354 | | do { \ |
1355 | | } while (0) |
1356 | | #endif |
1357 | | |
1358 | | } // namespace Envoy |