mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-07-22 06:57:59 +02:00
See: https://blog.saeloun.com/2023/11/15/rails-7-1-message-pack-as-message-serializer/ Bug: https://bugs.gentoo.org/917059 Signed-off-by: Matoro Mahri <matoro_gentoo@matoro.tk> Signed-off-by: Hans de Graaff <graaff@gentoo.org>
65 lines
2.8 KiB
Diff
65 lines
2.8 KiB
Diff
https://bugs.gentoo.org/show_bug.cgi?id=917059
|
|
https://github.com/rails/rails/pull/50097
|
|
|
|
From 2ddb90f63e0fffea493cb1987850797608c4d895 Mon Sep 17 00:00:00 2001
|
|
From: matoro <matoro@users.noreply.github.com>
|
|
Date: Sat, 18 Nov 2023 12:46:23 -0500
|
|
Subject: [PATCH] Skip activesupport event processing tests on platforms w/o
|
|
highres clock
|
|
|
|
On platforms without a high-resolution (nanosecond) clock, it is likely
|
|
that the processing of an event will take less time than one complete
|
|
clock resolution cycle, which means that the start and end times will be
|
|
equal and the duration zero, failing these tests. Usually these issues
|
|
are fixed by adding a sleep of equal to one clock resolution cycle, but
|
|
that is not applicable here since the duration measurement occurs in the
|
|
actual library code rather than the test code, so just skip these tests
|
|
on such platforms. Also tested and confirmed that the tests are not
|
|
skipped under normal platforms with a highres clock.
|
|
---
|
|
test/log_subscriber_test.rb | 9 +++++++--
|
|
test/notifications_test.rb | 9 ++++++---
|
|
2 files changed, 13 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/test/log_subscriber_test.rb b/test/log_subscriber_test.rb
|
|
index 455f6952e31b..0fd3ff69eb19 100644
|
|
--- a/test/log_subscriber_test.rb
|
|
+++ b/test/log_subscriber_test.rb
|
|
@@ -108,10 +108,15 @@ def test_event_attributes
|
|
assert_equal 0, event.cpu_time
|
|
assert_equal 0, event.allocations
|
|
else
|
|
- assert_operator event.cpu_time, :>, 0
|
|
+ # These assertions may fail on platforms without nanosecond-resolution clocks
|
|
+ if Process.clock_getres(Process::CLOCK_MONOTONIC) <= 1.0e-09
|
|
+ assert_operator event.cpu_time, :>, 0
|
|
+ end
|
|
assert_operator event.allocations, :>, 0
|
|
end
|
|
- assert_operator event.duration, :>, 0
|
|
+ if Process.clock_getres(Process::CLOCK_MONOTONIC) <= 1.0e-09
|
|
+ assert_operator event.duration, :>, 0
|
|
+ end
|
|
assert_operator event.idle_time, :>=, 0
|
|
end
|
|
|
|
diff --git a/test/notifications_test.rb b/test/notifications_test.rb
|
|
index 87416602bb2f..9bc7e393e3a9 100644
|
|
--- a/test/notifications_test.rb
|
|
+++ b/test/notifications_test.rb
|
|
@@ -36,9 +36,12 @@ def test_subscribe_events
|
|
event = events.first
|
|
assert event, "should have an event"
|
|
assert_operator event.allocations, :>, 0
|
|
- assert_operator event.cpu_time, :>, 0
|
|
- assert_operator event.idle_time, :>=, 0
|
|
- assert_operator event.duration, :>, 0
|
|
+ # These assertions may fail on platforms without nanosecond-resolution clocks
|
|
+ if Process.clock_getres(Process::CLOCK_MONOTONIC) <= 1.0e-09
|
|
+ assert_operator event.cpu_time, :>, 0
|
|
+ assert_operator event.idle_time, :>=, 0
|
|
+ assert_operator event.duration, :>, 0
|
|
+ end
|
|
end
|
|
|
|
def test_subscribe_to_events_where_payload_is_changed_during_instrumentation
|