object-introspection/test
Jake Hillion 7de35863f5 tbv2: fix Thrift isset lookups with padding
Thrift isset was failing with a SEGV if the struct contained padding. This is
because we indexed the `isset_indexes` data structure using our field index
rather than the index of the field in Thrift. This then gave a rubbish index
for any exceeding which happens if we have added padding in the middle of the
struct, and this index was looked up in the bitset which can cause a SEGV.

Track a new index `thriftFieldIdx` which is only incremented if we've looked up
a Thrift index.

Namespaced the generated Thrift structs while I was there. This isn't necessary
anymore but cleans things up.

Test plan:
- Added a test case with lots of padding. These don't run in the CI but it
  passes locally.
- `FILTER='OilIntegration.*' make test` - no failures
- `FILTER='OidIntegration.*' make test` - no new failures
2024-01-19 19:16:46 +00:00
..
integration tbv2: fix Thrift isset lookups with padding 2024-01-19 19:16:46 +00:00
ci.oid.toml Update to clang/llvm 15 (#342) 2023-09-14 06:02:32 -07:00
CMakeLists.txt TypeGraph: Add IdentifyContainers mutator pass 2023-11-06 11:28:00 +00:00
integration_entry_doStuff_arg0.oid Initial commit 2022-12-19 06:37:51 -08:00
integration_entry_doStuff_this.oid Initial commit 2022-12-19 06:37:51 -08:00
integration_entry_inc_arg0.oid Initial commit 2022-12-19 06:37:51 -08:00
integration_mttest.cpp Update to clang/llvm 15 (#342) 2023-09-14 06:02:32 -07:00
integration_return_incN_arg0.oid Initial commit 2022-12-19 06:37:51 -08:00
integration_sleepy.cpp Update to clang/llvm 15 (#342) 2023-09-14 06:02:32 -07:00
integration.py integration_py: fix expected sizes 2023-05-31 19:00:10 +02:00
main.cpp Tests: Split common code out into type_graph_utils 2023-05-31 15:49:37 +01:00
mocks.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
mttest.h formatting: force pointers/references with the type 2023-03-24 20:18:18 +00:00
test_add_children.cpp circleci: clean up codegen v1 runs 2024-01-03 17:29:59 +00:00
test_add_padding.cpp clang-format: disable bin packing 2023-11-13 18:19:53 +00:00
test_alignment_calc.cpp TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
test_codegen.cpp TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
test_compiler.cpp clang-format: disable bin packing 2023-11-13 18:19:53 +00:00
test_container_info.cpp ContainerInfo: Move matcher regex construction to class ctor and add unit tests 2023-05-26 18:21:59 +01:00
test_drgn_parser.cpp incomplete: name type in compiler errors 2024-01-09 15:08:25 +00:00
test_drgn_parser.h TypeGraph: Stop identifying containers in DrgnParser 2023-11-06 11:45:57 +00:00
test_enforce_compatibility.cpp CodeGen v2: Enable independent running without CodeGen v1 2023-12-15 14:57:24 +00:00
test_flattener.cpp incomplete: name type in compiler errors 2024-01-09 15:08:25 +00:00
test_identify_containers.cpp TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
test_key_capture.cpp clang-format: disable bin packing 2023-11-13 18:19:53 +00:00
test_name_gen.cpp incomplete: name type in compiler errors 2024-01-09 15:08:25 +00:00
test_node_tracker.cpp TypeGraph: Remove NodeTracker from the TypeGraph class 2023-08-24 15:01:45 +01:00
test_parser.cpp clang-format: disable bin packing 2023-11-13 18:19:53 +00:00
test_prune.cpp TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
test_remove_members.cpp incomplete: name type in compiler errors 2024-01-09 15:08:25 +00:00
test_remove_top_level_pointer.cpp clang-format: disable bin packing 2023-11-13 18:19:53 +00:00
test_topo_sorter.cpp tbv2: fix pointer codegen 2024-01-18 16:22:18 +00:00
test_type_identifier.cpp TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
type_graph_utils.cpp TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00
type_graph_utils.h TypeGraph: Add IdentifyContainers mutator pass 2023-11-06 11:28:00 +00:00
TypeGraphParser.cpp incomplete: name type in compiler errors 2024-01-09 15:08:25 +00:00
TypeGraphParser.h TypeGraph: Fix handling for classes which inherit from containers 2023-12-14 18:02:45 +00:00