Age | Commit message (Collapse) | Author |
|
Fixes [Bug #17146]
|
|
This test caused issues occasionally on JRuby because it's
possible for a producer thread to run to completion before the
status checks begin. This results in Thread#status returning false
and the =~ call triggering a warning (3.1) or error (3.2) and
either emitting thousands of deprecation warnings or failing
outright.
The patch here introduces a mutex that remains locked until all
producer threads are seen to have started. The lock is then
released and the test proceeds. This prevents any producers from
running to completion, which in turn prevents consumers running to
completion, avoiding the warnings or error calling =~ on false.
This patch also modifies the status checks to to_s the thread
status, preventing any prematurely terminated threads from
triggering similar deprecation warnings or missing method errors
when =~ is called on nil.
Notes:
Merged: https://github.com/ruby/ruby/pull/7830
|
|
This reverts commit bbbec4b87c1e66909f5bee9acd3e460b8c1ad663.
Because the commit is a bug. The `apply_timeout_scale` to scale the timeout is
called 2 times in the process.
The `test/ruby/test_thread_queue.rb#test_thr_kill` is calling
`EnvUtil.apply_timeout_scale`, and
calling `tool/lib/core_assertions.rb#assert_normal_exit`.
calling `tool/lib/envutil.rb#invoke_ruby` (`EnvUtil.invoke_ruby`)
calling the `apply_timeout_scale`.
```
$ make test-all V=1 TESTS="-v test/ruby/test_thread_queue.rb -n TestThreadQueue#test_thr_kill --timeout-scale=2"
```
Notes:
Merged-By: junaruga
|
|
Notes:
Merged-By: ioquatix <[email protected]>
|
|
`assert_normal_exit` uses keyword arguments since 2013, commit
05dd6b194cc29961a7cecfd5c3852f06dd56a871.
Notes:
Merged: https://github.com/ruby/ruby/pull/7589
|
|
`Queue` and `SizedQueue` still check array members. Only the test of
`ConditionVariable` is useless.
|
|
These tests were added at a198bb3929a4562a12b4aa245a297c7d3695149f,
when these classes were `Struct`s. Since these classes have been
rewritten, these tests no longer make sense.
|
|
|
|
[Feature #18944]
If both `non_block=true` and `timeout:` are supplied, ArgumentError
is raised.
Notes:
Merged: https://github.com/ruby/ruby/pull/6207
|
|
They occasionaly fail with;
```
FLeaked thread: TestThreadQueue#test_queue_pop_timeout: #<Thread:0x0000000108e38e48 /Users/runner/work/ruby/ruby/src/test/ruby/test_thread_queue.rb:123 sleep>
.Finished thread: TestThreadQueue#test_deny_pushers: #<Thread:0x0000000108e38e48 /Users/runner/work/ruby/ruby/src/test/ruby/test_thread_queue.rb:123 dead>
...
Retrying...
1) Failure:
TestThreadQueue#test_sized_queue_pop_timeout [/Users/runner/work/ruby/ruby/src/test/ruby/test_thread_queue.rb:157]:
<#<Thread:0x00000001084bc7e8 /Users/runner/work/ruby/ruby/src/test/ruby/test_thread_queue.rb:156 sleep>> expected but was
<nil>.
2) Failure:
TestThreadQueue#test_queue_pop_timeout [/Users/runner/work/ruby/ruby/src/test/ruby/test_thread_queue.rb:124]:
<#<Thread:0x00000001083ff058 /Users/runner/work/ruby/ruby/src/test/ruby/test_thread_queue.rb:123 sleep>> expected but was
<nil>.
```
I'm hoping joining for longer should help avoid this.
Notes:
Merged: https://github.com/ruby/ruby/pull/6210
|
|
[Feature #18774]
As well as `SizedQueue#pop(timeout: sec)`
If both `non_block=true` and `timeout:` are supplied, ArgumentError
is raised.
Notes:
Merged: https://github.com/ruby/ruby/pull/6185
|
|
|
|
|
|
|
|
Enumerable implements #to_a but not #to_array.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3380
|
|
On Arch, sending a signal in a loop seems hardly to yield the execution.
```
1) Error:
TestThreadQueue#test_queue_with_trap:
Timeout::Error: execution of assert_in_out_err expired timeout (10 sec)
```
https://rubyci.org/logs/rubyci.s3.amazonaws.com/arch/ruby-master/log/20200209T120002Z.fail.html.gz
This change allows the test to pass.
|
|
* MinGW - skip spec in spec/ruby/optional/capi/thread_spec.rb
C-API Thread function rb_thread_call_without_gvl
-- runs a C function with the global lock unlocked and unlocks IO with the generic RUBY_UBF_IO
stops/freezes spec tests
See https://bugs.ruby-lang.org/issues/16265
* MinGW - skip test test/resolv/test_dns.rb
Test times out in CI (both AppVeyor & Actions), cannot repo locally
* MinGW - skip test test/ruby/test_thread_queue.rb
* Add Actions mingw.yml
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2395
|
|
|
|
|
|
|
|
|
|
for mswin. We tried to increase timeout and execute separately but both
didn't work. Let me skip this until somebody starts to work on fixing
this behavior, since this makes AppVeyor almost impossible to be used as CI.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_thread_{cv,queue}.rb: Move under the test/ruby directory.
and rename TestThread* from Test*.
* test/test_sync.rb: Move toplevel of test diretory because sync is still
standard library.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|