[test] Increase test assertion for reasonable auxv values.

While auxv keys are usually small, e.g. less than 50, they can sometimes be larger, especially on a downstream kernel where a custom auxv entry is intentionally high to avoid conflicting with the standard lower numbers. This test fails on a system with an auxv value bigger than 1000, but instead of putting this test at that value plus one, it looks like 2023 (i.e. `AT_SUN_CAP_HW2`) is another large one out there. Use 2500 as a limit to still have this be a reasonable "small" check but still allow all known auxv keys.

Semi-related change: this test case prints the auxv dict at the trace level, but only _after_ the assertion fails, making it not print what the offending value is as the test case aborts. Move it earlier so we can see what the "unreasonable" auxv value is.
This commit is contained in:
Jordan Rupprecht 2022-09-12 19:41:06 -07:00
parent 5fcb5d7759
commit e07e1d4425
1 changed files with 4 additions and 3 deletions

View File

@ -112,11 +112,12 @@ class TestGdbRemoteAuxvSupport(gdbremote_testcase.GdbRemoteTestCaseBase):
auxv_dict = self.build_auxv_dict(endian, word_size, auxv_data)
self.assertIsNotNone(auxv_dict)
# Verify keys look reasonable.
# Verify keys look reasonable. While AUX values are most commonly
# small (usually smaller than 50), they can sometimes be larger.
self.trace("auxv dict: {}".format(auxv_dict))
for auxv_key in auxv_dict:
self.assertTrue(auxv_key >= 1)
self.assertTrue(auxv_key <= 1000)
self.trace("auxv dict: {}".format(auxv_dict))
self.assertTrue(auxv_key <= 2500)
@skipIfWindows
@expectedFailureNetBSD