Add bin and edit workflow
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 9s

This commit is contained in:
2026-09-16 13:11:16 -06:00
parent c8ac4fcae5
commit 4cee170d66
17576 changed files with 895740 additions and 2 deletions
@@ -0,0 +1,35 @@
require 'em_test_helper'
class TestConnectionWrite < Test::Unit::TestCase
# This test takes advantage of the fact that EM::_RunSelectOnce iterates over the connections twice:
# - once to determine which ones to call Write() on
# - and once to call Write() on each of them.
#
# But state may change in the meantime before Write() is finally called.
# And that is what we try to exploit to get Write() to be called when bWatchOnly is true, and bNotifyWritable is false,
# to cause an assertion failure.
module SimpleClient
def notify_writable
$conn2.notify_writable = false # Being naughty in callback
# If this doesn't crash anything, the test passed!
end
end
def test_with_naughty_callback
EM.run do
r1, _ = IO.pipe
r2, _ = IO.pipe
# Adding EM.watches
$conn1 = EM.watch(r1, SimpleClient)
$conn2 = EM.watch(r2, SimpleClient)
$conn1.notify_writable = true
$conn2.notify_writable = true
EM.stop
end
end
end