Skip to content

Commit 8e2dbca

Browse files
committed
update tests
1 parent 2d5ec4f commit 8e2dbca

File tree

1 file changed

+21
-19
lines changed

1 file changed

+21
-19
lines changed

src/native/managed/cdacreader/tests/MethodTableTests.cs

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public unsafe class MethodTableTests
2424
{ nameof(Data.MethodTable.ParentMethodTable), new () { Offset = 40, Type = DataType.pointer}},
2525
{ nameof(Data.MethodTable.NumInterfaces), new () { Offset = 48, Type = DataType.uint16}},
2626
{ nameof(Data.MethodTable.NumVirtuals), new () { Offset = 50, Type = DataType.uint16}},
27+
{ nameof(Data.MethodTable.PerInstInfo), new () { Offset = 56, Type = DataType.pointer}},
2728
}
2829
};
2930

@@ -33,6 +34,7 @@ public unsafe class MethodTableTests
3334
{ nameof (Data.EEClass.MethodTable), new () { Offset = 8, Type = DataType.pointer}},
3435
{ nameof (Data.EEClass.CorTypeAttr), new () { Offset = 16, Type = DataType.uint32}},
3536
{ nameof (Data.EEClass.NumMethods), new () { Offset = 20, Type = DataType.uint16}},
37+
{ nameof (Data.EEClass.InternalCorElementType), new () { Offset = 22, Type = DataType.uint8}},
3638
}
3739
};
3840

@@ -150,7 +152,7 @@ public void HasRuntimeTypeSystemContract(MockTarget.Architecture arch)
150152
{
151153
Contracts.IRuntimeTypeSystem metadataContract = target.Contracts.RuntimeTypeSystem;
152154
Assert.NotNull(metadataContract);
153-
Contracts.MethodTableHandle handle = metadataContract.GetMethodTableHandle(TestFreeObjectMethodTableAddress);
155+
Contracts.TypeHandle handle = metadataContract.GetTypeHandle(TestFreeObjectMethodTableAddress);
154156
Assert.NotEqual(TargetPointer.Null, handle.Address);
155157
Assert.True(metadataContract.IsFreeObjectMethodTable(handle));
156158
});
@@ -187,9 +189,9 @@ public void ValidateSystemObjectMethodTable(MockTarget.Architecture arch)
187189
{
188190
Contracts.IRuntimeTypeSystem metadataContract = target.Contracts.RuntimeTypeSystem;
189191
Assert.NotNull(metadataContract);
190-
Contracts.MethodTableHandle systemObjectMethodTableHandle = metadataContract.GetMethodTableHandle(systemObjectMethodTablePtr);
191-
Assert.Equal(systemObjectMethodTablePtr.Value, systemObjectMethodTableHandle.Address.Value);
192-
Assert.False(metadataContract.IsFreeObjectMethodTable(systemObjectMethodTableHandle));
192+
Contracts.TypeHandle systemObjectTypeHandle = metadataContract.GetTypeHandle(systemObjectMethodTablePtr);
193+
Assert.Equal(systemObjectMethodTablePtr.Value, systemObjectTypeHandle.Address.Value);
194+
Assert.False(metadataContract.IsFreeObjectMethodTable(systemObjectTypeHandle));
193195
});
194196
}
195197

@@ -226,10 +228,10 @@ public void ValidateSystemStringMethodTable(MockTarget.Architecture arch)
226228
{
227229
Contracts.IRuntimeTypeSystem metadataContract = target.Contracts.RuntimeTypeSystem;
228230
Assert.NotNull(metadataContract);
229-
Contracts.MethodTableHandle systemStringMethodTableHandle = metadataContract.GetMethodTableHandle(systemStringMethodTablePtr);
230-
Assert.Equal(systemStringMethodTablePtr.Value, systemStringMethodTableHandle.Address.Value);
231-
Assert.False(metadataContract.IsFreeObjectMethodTable(systemStringMethodTableHandle));
232-
Assert.True(metadataContract.IsString(systemStringMethodTableHandle));
231+
Contracts.TypeHandle systemStringTypeHandle = metadataContract.GetTypeHandle(systemStringMethodTablePtr);
232+
Assert.Equal(systemStringMethodTablePtr.Value, systemStringTypeHandle.Address.Value);
233+
Assert.False(metadataContract.IsFreeObjectMethodTable(systemStringTypeHandle));
234+
Assert.True(metadataContract.IsString(systemStringTypeHandle));
233235
});
234236
}
235237

@@ -258,7 +260,7 @@ public void MethodTableEEClassInvalidThrows(MockTarget.Architecture arch)
258260
{
259261
Contracts.IRuntimeTypeSystem metadataContract = target.Contracts.RuntimeTypeSystem;
260262
Assert.NotNull(metadataContract);
261-
Assert.Throws<InvalidOperationException>(() => metadataContract.GetMethodTableHandle(badMethodTablePtr));
263+
Assert.Throws<InvalidOperationException>(() => metadataContract.GetTypeHandle(badMethodTablePtr));
262264
});
263265
}
264266

@@ -308,11 +310,11 @@ public void ValidateGenericInstMethodTable(MockTarget.Architecture arch)
308310
{
309311
Contracts.IRuntimeTypeSystem metadataContract = target.Contracts.RuntimeTypeSystem;
310312
Assert.NotNull(metadataContract);
311-
Contracts.MethodTableHandle genericInstanceMethodTableHandle = metadataContract.GetMethodTableHandle(genericInstanceMethodTablePtr);
312-
Assert.Equal(genericInstanceMethodTablePtr.Value, genericInstanceMethodTableHandle.Address.Value);
313-
Assert.False(metadataContract.IsFreeObjectMethodTable(genericInstanceMethodTableHandle));
314-
Assert.False(metadataContract.IsString(genericInstanceMethodTableHandle));
315-
Assert.Equal(numMethods, metadataContract.GetNumMethods(genericInstanceMethodTableHandle));
313+
Contracts.TypeHandle genericInstanceTypeHandle = metadataContract.GetTypeHandle(genericInstanceMethodTablePtr);
314+
Assert.Equal(genericInstanceMethodTablePtr.Value, genericInstanceTypeHandle.Address.Value);
315+
Assert.False(metadataContract.IsFreeObjectMethodTable(genericInstanceTypeHandle));
316+
Assert.False(metadataContract.IsString(genericInstanceTypeHandle));
317+
Assert.Equal(numMethods, metadataContract.GetNumMethods(genericInstanceTypeHandle));
316318
});
317319
}
318320

@@ -365,11 +367,11 @@ public void ValidateArrayInstMethodTable(MockTarget.Architecture arch)
365367
{
366368
Contracts.IRuntimeTypeSystem metadataContract = target.Contracts.RuntimeTypeSystem;
367369
Assert.NotNull(metadataContract);
368-
Contracts.MethodTableHandle arrayInstanceMethodTableHandle = metadataContract.GetMethodTableHandle(arrayInstanceMethodTablePtr);
369-
Assert.Equal(arrayInstanceMethodTablePtr.Value, arrayInstanceMethodTableHandle.Address.Value);
370-
Assert.False(metadataContract.IsFreeObjectMethodTable(arrayInstanceMethodTableHandle));
371-
Assert.False(metadataContract.IsString(arrayInstanceMethodTableHandle));
372-
Assert.Equal(arrayInstanceComponentSize, metadataContract.GetComponentSize(arrayInstanceMethodTableHandle));
370+
Contracts.TypeHandle arrayInstanceTypeHandle = metadataContract.GetTypeHandle(arrayInstanceMethodTablePtr);
371+
Assert.Equal(arrayInstanceMethodTablePtr.Value, arrayInstanceTypeHandle.Address.Value);
372+
Assert.False(metadataContract.IsFreeObjectMethodTable(arrayInstanceTypeHandle));
373+
Assert.False(metadataContract.IsString(arrayInstanceTypeHandle));
374+
Assert.Equal(arrayInstanceComponentSize, metadataContract.GetComponentSize(arrayInstanceTypeHandle));
373375
});
374376

375377
}

0 commit comments

Comments
 (0)