diff --git a/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs b/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs index a1b9dac6d94f6..89a8e822a9b6d 100644 --- a/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs +++ b/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs @@ -709,7 +709,7 @@ internal async Task CheckCustomType(JToken actual_val, JToken exp_val, string la } } - internal async Task CheckProps(JToken actual, object exp_o, string label, int num_fields = -1) + internal async Task CheckProps(JToken actual, object exp_o, string label, int num_fields = -1, bool skip_num_fields_check = false) { if (exp_o.GetType().IsArray || exp_o is JArray) { @@ -738,8 +738,11 @@ internal async Task CheckProps(JToken actual, object exp_o, string label, int nu if (exp == null) exp = JObject.FromObject(exp_o); - num_fields = num_fields < 0 ? exp.Values().Count() : num_fields; - Assert.True(num_fields == actual.Count(), $"[{label}] Number of fields don't match, Expected: {num_fields}, Actual: {actual.Count()}"); + if (!skip_num_fields_check) + { + num_fields = num_fields < 0 ? exp.Values().Count() : num_fields; + Assert.True(num_fields == actual.Count(), $"[{label}] Number of fields don't match, Expected: {num_fields}, Actual: {actual.Count()}"); + } foreach (var kvp in exp) { @@ -832,7 +835,7 @@ internal async Task GetObjectOnFrame(JToken frame, string name) } // Find an object with @name, *fetch* the object, and check against @o - internal async Task CompareObjectPropertiesFor(JToken locals, string name, object o, string label = null, int num_fields = -1) + internal async Task CompareObjectPropertiesFor(JToken locals, string name, object o, string label = null, int num_fields = -1, bool skip_num_fields_check = false) { if (label == null) label = name; @@ -840,7 +843,7 @@ internal async Task CompareObjectPropertiesFor(JToken locals, string nam try { if (o != null) - await CheckProps(props, o, label, num_fields); + await CheckProps(props, o, label, num_fields, skip_num_fields_check); return props; } catch diff --git a/src/mono/wasm/debugger/DebuggerTestSuite/MiscTests.cs b/src/mono/wasm/debugger/DebuggerTestSuite/MiscTests.cs index b4eb66ed87861..ece8701b61cb7 100644 --- a/src/mono/wasm/debugger/DebuggerTestSuite/MiscTests.cs +++ b/src/mono/wasm/debugger/DebuggerTestSuite/MiscTests.cs @@ -563,7 +563,7 @@ await CompareObjectPropertiesFor(frame_locals, "ts", Days = TNumber(3530), Minutes = TNumber(2), Seconds = TNumber(4), - }, "ts_props", num_fields: 12); + }, "ts_props", skip_num_fields_check: true); // DateTimeOffset await CompareObjectPropertiesFor(frame_locals, "dto", @@ -572,7 +572,7 @@ await CompareObjectPropertiesFor(frame_locals, "dto", Day = TNumber(2), Year = TNumber(2020), DayOfWeek = TEnum("System.DayOfWeek", "Thursday") - }, "dto_props", num_fields: 20); + }, "dto_props", skip_num_fields_check: true); var DT = new DateTime(2004, 10, 15, 1, 2, 3); var DTO = new DateTimeOffset(dt0, new TimeSpan(2, 14, 0));