[test] Increase test assertion for reasonable auxv values.
authorJordan Rupprecht <rupprecht@google.com>
Tue, 13 Sep 2022 02:41:06 +0000 (19:41 -0700)
committerJordan Rupprecht <rupprecht@google.com>
Tue, 13 Sep 2022 02:41:06 +0000 (19:41 -0700)
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.

lldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py

index ac9c7fe..bf4001f 100644 (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