Commit 757d5e4
* Add tests for deserialization of maps into non-empty maps
Tests added for both primitive and non-primitive mapped types:
- Deserialization into a non-empty map.
- Reuse of the same target map in two consecutive deserializations.
- Content of the target map preserved when the deserialization fails.
These tests show the issues described in #339.
* Fix deserialization of maps into non-empty maps
Deserialize into a new map and move it into the output one once the
whole deserialization succeeds.
This way the output map is not left cleared or partially filled when an
exception is thrown inside the deserialization loop, and the previous
content of a non-empty output map is always replaced. This applies to
both the primitive and non-primitive mapped type overloads.
Fixes #339.
* Fix MSVC C4244 warning in map deserialization tests
Use explicit static_cast<uint16_t> for map keys, as done in
DeserializeIntoANonEmptyMapInXCDRv1. int literals converted to
uint16_t trigger warning C4244, treated as error by Windows CI.
---------
(cherry picked from commit b2457c4)
Signed-off-by: lijiapei <l2249712344@gmail.com>
Co-authored-by: lijiapei <lilingjie@cvte.com>
1 parent e93b83d commit 757d5e4
2 files changed
Lines changed: 179 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2011 | 2011 | | |
2012 | 2012 | | |
2013 | 2013 | | |
| 2014 | + | |
2014 | 2015 | | |
2015 | 2016 | | |
2016 | 2017 | | |
| |||
2021 | 2022 | | |
2022 | 2023 | | |
2023 | 2024 | | |
| 2025 | + | |
2024 | 2026 | | |
2025 | 2027 | | |
2026 | 2028 | | |
| |||
2040 | 2042 | | |
2041 | 2043 | | |
2042 | 2044 | | |
2043 | | - | |
2044 | | - | |
2045 | 2045 | | |
2046 | 2046 | | |
2047 | 2047 | | |
| |||
2051 | 2051 | | |
2052 | 2052 | | |
2053 | 2053 | | |
2054 | | - | |
| 2054 | + | |
2055 | 2055 | | |
2056 | 2056 | | |
2057 | 2057 | | |
| |||
2073 | 2073 | | |
2074 | 2074 | | |
2075 | 2075 | | |
2076 | | - | |
2077 | | - | |
2078 | 2076 | | |
2079 | 2077 | | |
2080 | 2078 | | |
| |||
2083 | 2081 | | |
2084 | 2082 | | |
2085 | 2083 | | |
2086 | | - | |
| 2084 | + | |
2087 | 2085 | | |
2088 | 2086 | | |
2089 | 2087 | | |
| |||
2093 | 2091 | | |
2094 | 2092 | | |
2095 | 2093 | | |
| 2094 | + | |
| 2095 | + | |
2096 | 2096 | | |
2097 | 2097 | | |
2098 | 2098 | | |
2099 | 2099 | | |
2100 | 2100 | | |
| 2101 | + | |
2101 | 2102 | | |
2102 | 2103 | | |
2103 | 2104 | | |
| |||
2109 | 2110 | | |
2110 | 2111 | | |
2111 | 2112 | | |
| 2113 | + | |
2112 | 2114 | | |
2113 | 2115 | | |
2114 | 2116 | | |
| |||
2120 | 2122 | | |
2121 | 2123 | | |
2122 | 2124 | | |
2123 | | - | |
| 2125 | + | |
2124 | 2126 | | |
2125 | 2127 | | |
2126 | 2128 | | |
| |||
2129 | 2131 | | |
2130 | 2132 | | |
2131 | 2133 | | |
| 2134 | + | |
| 2135 | + | |
2132 | 2136 | | |
2133 | 2137 | | |
2134 | 2138 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2331 | 2331 | | |
2332 | 2332 | | |
2333 | 2333 | | |
| 2334 | + | |
| 2335 | + | |
| 2336 | + | |
| 2337 | + | |
| 2338 | + | |
| 2339 | + | |
| 2340 | + | |
| 2341 | + | |
| 2342 | + | |
| 2343 | + | |
| 2344 | + | |
| 2345 | + | |
| 2346 | + | |
| 2347 | + | |
| 2348 | + | |
| 2349 | + | |
| 2350 | + | |
| 2351 | + | |
| 2352 | + | |
| 2353 | + | |
| 2354 | + | |
| 2355 | + | |
| 2356 | + | |
| 2357 | + | |
| 2358 | + | |
| 2359 | + | |
| 2360 | + | |
| 2361 | + | |
| 2362 | + | |
| 2363 | + | |
| 2364 | + | |
| 2365 | + | |
| 2366 | + | |
| 2367 | + | |
| 2368 | + | |
| 2369 | + | |
| 2370 | + | |
| 2371 | + | |
| 2372 | + | |
| 2373 | + | |
| 2374 | + | |
| 2375 | + | |
| 2376 | + | |
| 2377 | + | |
| 2378 | + | |
| 2379 | + | |
| 2380 | + | |
| 2381 | + | |
| 2382 | + | |
| 2383 | + | |
| 2384 | + | |
| 2385 | + | |
| 2386 | + | |
| 2387 | + | |
| 2388 | + | |
| 2389 | + | |
| 2390 | + | |
| 2391 | + | |
| 2392 | + | |
| 2393 | + | |
| 2394 | + | |
| 2395 | + | |
| 2396 | + | |
| 2397 | + | |
| 2398 | + | |
| 2399 | + | |
| 2400 | + | |
| 2401 | + | |
| 2402 | + | |
| 2403 | + | |
| 2404 | + | |
| 2405 | + | |
| 2406 | + | |
| 2407 | + | |
| 2408 | + | |
| 2409 | + | |
| 2410 | + | |
| 2411 | + | |
| 2412 | + | |
| 2413 | + | |
| 2414 | + | |
| 2415 | + | |
| 2416 | + | |
| 2417 | + | |
| 2418 | + | |
| 2419 | + | |
| 2420 | + | |
| 2421 | + | |
| 2422 | + | |
| 2423 | + | |
| 2424 | + | |
| 2425 | + | |
| 2426 | + | |
| 2427 | + | |
| 2428 | + | |
| 2429 | + | |
| 2430 | + | |
| 2431 | + | |
| 2432 | + | |
| 2433 | + | |
| 2434 | + | |
| 2435 | + | |
| 2436 | + | |
| 2437 | + | |
| 2438 | + | |
| 2439 | + | |
| 2440 | + | |
| 2441 | + | |
| 2442 | + | |
| 2443 | + | |
| 2444 | + | |
| 2445 | + | |
| 2446 | + | |
| 2447 | + | |
| 2448 | + | |
| 2449 | + | |
| 2450 | + | |
| 2451 | + | |
| 2452 | + | |
| 2453 | + | |
| 2454 | + | |
| 2455 | + | |
| 2456 | + | |
| 2457 | + | |
| 2458 | + | |
| 2459 | + | |
| 2460 | + | |
| 2461 | + | |
| 2462 | + | |
| 2463 | + | |
| 2464 | + | |
| 2465 | + | |
| 2466 | + | |
| 2467 | + | |
| 2468 | + | |
| 2469 | + | |
| 2470 | + | |
| 2471 | + | |
| 2472 | + | |
| 2473 | + | |
| 2474 | + | |
| 2475 | + | |
| 2476 | + | |
| 2477 | + | |
| 2478 | + | |
| 2479 | + | |
| 2480 | + | |
| 2481 | + | |
| 2482 | + | |
| 2483 | + | |
| 2484 | + | |
| 2485 | + | |
| 2486 | + | |
| 2487 | + | |
| 2488 | + | |
| 2489 | + | |
| 2490 | + | |
| 2491 | + | |
| 2492 | + | |
| 2493 | + | |
| 2494 | + | |
| 2495 | + | |
| 2496 | + | |
| 2497 | + | |
| 2498 | + | |
| 2499 | + | |
| 2500 | + | |
| 2501 | + | |
2334 | 2502 | | |
2335 | 2503 | | |
2336 | 2504 | | |
| |||
0 commit comments