https://github.com/feg208 updated https://github.com/llvm/llvm-project/pull/89637
>From 41175787b1f5d1451d5ea88618ca6c229a415c0f Mon Sep 17 00:00:00 2001 From: Fred Grim <fg...@apple.com> Date: Mon, 22 Apr 2024 10:17:14 -0700 Subject: [PATCH] [lldb] Reenable test HostTest.GetProcessInfo with relaxed constraints This test was commented out which, besides being bad form, disabled the test entirely. But we do want to validate that this timings are not decreasing. The test is modified to reflect those expectations. --- lldb/unittests/Host/linux/HostTest.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lldb/unittests/Host/linux/HostTest.cpp b/lldb/unittests/Host/linux/HostTest.cpp index 733909902474d7..8ecaf3ec0decb0 100644 --- a/lldb/unittests/Host/linux/HostTest.cpp +++ b/lldb/unittests/Host/linux/HostTest.cpp @@ -69,17 +69,21 @@ TEST_F(HostTest, GetProcessInfo) { EXPECT_EQ(HostInfo::GetArchitecture(HostInfo::eArchKindDefault), Info.GetArchitecture()); // Test timings - /* - * This is flaky in the buildbots on all archs + // In some sense this is a pretty trivial test. What it is trying to + // accomplish is just to validate that these values are never decreasing + // which would be unambiguously wrong. We can not reliably show them + // to be always increasing because the microsecond granularity means that, + // with hardware variations the number of loop iterations need to always + // be increasing for faster and faster machines. ASSERT_TRUE(Host::GetProcessInfo(getpid(), Info)); ProcessInstanceInfo::timespec user_time = Info.GetUserTime(); static volatile unsigned u = 0; for (unsigned i = 0; i < 10'000'000; i++) { - u = i; + u += i; } + ASSERT_TRUE(u > 0); ASSERT_TRUE(Host::GetProcessInfo(getpid(), Info)); ProcessInstanceInfo::timespec next_user_time = Info.GetUserTime(); - ASSERT_TRUE(user_time.tv_sec < next_user_time.tv_sec || - user_time.tv_usec < next_user_time.tv_usec); - */ + ASSERT_TRUE(user_time.tv_sec <= next_user_time.tv_sec || + user_time.tv_usec <= next_user_time.tv_usec); } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits