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