object-introspection/test/integration/std_list_del_allocator.toml
Alastair Robertson 2060a0491e CodeGen v2: Enable independent running without CodeGen v1
Create DrgnExporter to translate Type Graph "Type" nodes into drgn_type
structs, suitable for use in OICache and TreeBuilder.
2023-12-15 14:57:24 +00:00

67 lines
1.7 KiB
TOML

definitions = '''
namespace nsA {
struct C {
int a;
};
}
namespace nsB {
struct C {
int b;
};
}
template<typename T>
class CustomAllocator: public std::allocator<T>
{
};
// Naming conflict will only work if OI deletes the allocator field
struct Foo {
std::list<nsA::C, CustomAllocator<nsA::C>> v1;
std::list<nsB::C, CustomAllocator<nsB::C>> v2;
};
'''
includes = ["list"]
[cases]
[cases.a]
param_types = ["const Foo&"]
setup = '''
Foo foo;
foo.v1.resize(1);
foo.v2.resize(2);
return {foo};
'''
expect_json = '''[{
"staticSize":48,
"dynamicSize":12,
"members":[
{"name":"v1", "staticSize":24, "dynamicSize":4, "length":1, "capacity":1, "elementStaticSize":4,
"members":[
{"name":"", "staticSize":4, "dynamicSize":0,
"members":[
{"name":"a", "staticSize":4, "dynamicSize":0}
]}
]},
{"name":"v2", "staticSize":24, "dynamicSize":8, "length":2, "capacity":2, "elementStaticSize":4,
"members":[
{"name":"", "staticSize":4, "dynamicSize":0,
"members":[
{"name":"b", "staticSize":4, "dynamicSize":0}
]},
{"name":"", "staticSize":4, "dynamicSize":0,
"members":[
{"name":"b", "staticSize":4, "dynamicSize":0}
]}
]}
]}]'''
expect_json_v2 = '''[{
"staticSize": 48,
"exclusiveSize": 0,
"members": [
{"name": "v1", "staticSize": 24, "exclusiveSize": 24, "length": 1, "capacity": 1},
{"name": "v2", "staticSize": 24, "exclusiveSize": 24, "length": 2, "capacity": 2}
]}]'''