summaryrefslogtreecommitdiff
path: root/spec
AgeCommit message (Collapse)Author
2020-03-29spec/ruby/core/time/: Use near time for timezone testYusuke Endoh
`time_with_zone.zone.should == (time_with_zone - 60*60).zone` fails when the time is immediately before the change of summer time. https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11s/ruby-master/log/20200328T232504Z.fail.html.gz ``` 1) Time#+ preserves time zone FAILED Expected "CET" == "CEST" to be truthy but was false ``` It is acceptable as it fails at most twice per year, but it would be good to use near time objects to reduce the possibility.
2020-03-29spec/bundler/other/platform_spec.rb: skip an attempt to simulate JRubyYusuke Endoh
2020-03-28Increase the number of Process.times attemptsTakashi Kokubun
CI of 5806c54447439f2ba22892e4045e78dd80f96f0c did not succeed https://travis-ci.org/github/ruby/ruby/jobs/668072714
2020-03-28Improve reliability of the Process.times specBenoit Daloze
2020-03-28Do not check that #stime changes in Process.times specBenoit Daloze
* Since the spec might not spend any time in system calls.
2020-03-28Remove debugging codeBenoit Daloze
2020-03-28Remove Process.clock_getres "matches the resolution in practice" specsBenoit Daloze
* Almost all platforms return incorrect values for Process.clock_getres, it should be removed: https://bugs.ruby-lang.org/issues/16740
2020-03-28Remove spec which is an incorrect usage of rb_rescue2()Benoit Daloze
* It segfaults on MRI.
2020-03-28spec/ruby/library/rbconfig/rbconfig_spec.rb: restore "not windows" guardYusuke Endoh
https://github.com/ruby/ruby/runs/541455267 ``` 1) RbConfig::CONFIG libdir/LIBRUBY_SO is the path to libruby and it exists if and only if ENABLE_SHARED FAILED Expected File.exist? "d:/Ruby26-x64/lib/x64-msvcrt-ruby260.dll" to be truthy but was false D:/a/ruby/ruby/src/spec/ruby/library/rbconfig/rbconfig_spec.rb:46:in `block (3 levels) in <top (required)>' D:/a/ruby/ruby/src/spec/ruby/library/rbconfig/rbconfig_spec.rb:4:in `<top (required)>' ```
2020-03-28Fixed RbConfig spec for multiarchNobuyoshi Nakada
2020-03-28Guard RbConfig spec unless installedNobuyoshi Nakada
2020-03-28spec/ruby/optional/capi/kernel_spec.rb: stop a spec that causes SEGVYusuke Endoh
I think the wrong terminating argument cannot work. To stop the noisy CI failures, the spec is tentatively suspended.
2020-03-28Update to ruby/spec@ec84479Benoit Daloze
2020-03-28Update to ruby/mspec@16b5a0aBenoit Daloze
2020-03-24Show failed timesNobuyoshi Nakada
2020-03-23Try to avoid random failures on clock_getres_spec.rbTakashi Kokubun
This spec fails too often https://github.com/ruby/ruby/runs/529546249 https://github.com/ruby/ruby/runs/524933256
2020-03-22Support obj.clone(freeze: true) for freezing cloneJeremy Evans
This freezes the clone even if the receiver is not frozen. It is only for consistency with freeze: false not freezing the clone even if the receiver is frozen. Because Object#clone is now partially implemented in Ruby and not fully implemented in C, freeze: nil must be supported to provide the default behavior of only freezing the clone if the receiver is frozen. This requires modifying delegate and set, to set freeze: nil instead of freeze: true as the keyword parameter for initialize_clone. Those are the two libraries in stdlib that override initialize_clone. Implements [Feature #16175] Notes: Merged: https://github.com/ruby/ruby/pull/2969
2020-03-21Removed non-RUBY_INTEGER_UNIFICATION codeNobuyoshi Nakada
2020-03-16`Proc` made by `Hash#to_proc` should be a lambda [Bug #12671]Yusuke Endoh
Like `Symbol#to_proc` (f0b815dc670b61eba1daaa67a8613ac431d32b16)
2020-03-16hash.c: Do not use the fast path (rb_yield_values) for lambda blocksYusuke Endoh
As a semantics, Hash#each yields a 2-element array (pairs of keys and values). So, `{ a: 1 }.each(&->(k, v) { })` should raise an exception due to lambda's arity check. However, the optimization that avoids Array allocation by using rb_yield_values for blocks whose arity is more than 1 (introduced at b9d29603375d17c3d1d609d9662f50beaec61fa1 and some commits), seemed to overlook the lambda case, and wrongly allowed the code above to work. This change experimentally attempts to make it strict; now the code above raises an ArgumentError. This is an incompatible change; if the compatibility issue is bigger than our expectation, it may be reverted (until Ruby 3.0 release). [Bug #12706]
2020-03-15Enclosed version constantNobuyoshi Nakada
2020-03-15Added guard against [Bug #16497]Nobuyoshi Nakada
2020-03-15[ruby/stringio] StringIO#initialize default to the source string encodingJean Boussier
[Bug #16497] https://github.com/ruby/stringio/commit/4958a5ccab
2020-03-12Update some syslog tests to absurb the format change of FreeBSD syslogYusuke Endoh
FreeBSD ``` $ ruby -rsyslog -e 'Syslog.open("rubyspec", Syslog::LOG_PERROR) {|s| s.log(Syslog::LOG_ALERT, "Hello") }' rubyspec 78462 - - Hello ``` Linux ``` $ ruby -rsyslog -e 'Syslog.open("rubyspec", Syslog::LOG_PERROR) {|s| s.log(Syslog::LOG_ALERT, "Hello") }' rubyspec: Hello ``` https://github.com/freebsd/freebsd/commit/591ef7c8076109cff3c41f9bb50da996a34121e9
2020-03-10Added version guard for OpenSSL::ConfigNobuyoshi Nakada
2020-03-09Don't display singleton class in Method#inspect unless method defined thereJeremy Evans
Previously, if an object has a singleton class, and you call Object#method on the object, the resulting string would include the object's singleton class, even though the method was not defined in the singleton class. Change this so the we only show the singleton class if the method is defined in the singleton class. Fixes [Bug #15608] Notes: Merged: https://github.com/ruby/ruby/pull/2949 Merged-By: jeremyevans <code@jeremyevans.net>
2020-03-08Do not autosplat when calling procs that accept rest and keywordsJeremy Evans
When providing a single array to a block that takes a splat, pass the array as one argument of the splat instead of as the splat itself, even if the block also accepts keyword arguments. Previously, this behavior was only used for blocks that did not accept keywords. Implements [Feature#16166] Notes: Merged: https://github.com/ruby/ruby/pull/2502
2020-03-07Removed unnecessary `chomp`Nobuyoshi Nakada
As `String#split` with the default argument drops trailing newline as a separator, preceding `String#chomp` is futile.
2020-03-07Fix a typoKazuhiro NISHIYAMA
2020-03-05spec/ruby/core/process/exec_spec.rb: remove a guard for openbsdYusuke Endoh
openbsd current seems to behave the same as other OSs. https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20200305T063005Z.fail.html.gz
2020-02-29Adjust typesNobuyoshi Nakada
2020-02-28Bump rake from 10.5.0 to 12.3.3 in /spec/mspec (#2942)dependabot[bot]
Bumps [rake](https://github.com/ruby/rake) from 10.5.0 to 12.3.3. - [Release notes](https://github.com/ruby/rake/releases) - [Changelog](https://github.com/ruby/rake/blob/master/History.rdoc) - [Commits](https://github.com/ruby/rake/compare/v10.5.0...v12.3.3) Signed-off-by: dependabot[bot] <support@github.com> Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2020-02-28Update to ruby/spec@41bf282Benoit Daloze
2020-02-28Update to ruby/mspec@a514ad7Benoit Daloze
2020-02-27Remove support for passing nil to IO#ungetcJeremy Evans
Fixes [Bug #13675] Notes: Merged: https://github.com/ruby/ruby/pull/2935
2020-02-23Warn non-nil `$/` [Feature #14240]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/2920
2020-02-23Warn non-nil `$\` [Feature #14240]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/2920
2020-02-22Expand Symbol#to_proc specs to be clearerBenoit Daloze
2020-02-22Proc from Symbol needs a receiverNobuyoshi Nakada
So its arity should be -2 instead of -1. [Bug #16640] https://bugs.ruby-lang.org/issues/16640#change-84337
2020-02-19`Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]Nobuyoshi Nakada
2020-02-13spec/ruby/library/socket/constants/constants_spec.rb: skip on AndroidYusuke Endoh
IP_MAX_MEMBERSHIPS seems not to be defined on Android
2020-02-13spec/ruby/library/socket/addrinfo/getnameinfo_spec.rb: skip on AndroidYusuke Endoh
FreeBSD's GETNAMEINFO(3) says: > If a link-layer address or UNIX-domain address is passed to > getnameinfo(), its ASCII representation will be stored in host. The > string pointed to by serv will be set to the empty string if non-NULL; > flags will always be ignored. Android seems to behave like FreeBSD.
2020-02-13spec/ruby/library/etc/: skip the specs related to group on AndroidYusuke Endoh
User/group system on Android seems different from normal Linux.
2020-02-13spec/ruby/library/socket/addrinfo: skip the specs that uses SOCK_SEQPACKET ↵Yusuke Endoh
on Android SOCK_SEQPACKET seems not to be supported on Android
2020-02-13spec/ruby/library/syslog: skip the specs that use LOG_PERROR on AndroidYusuke Endoh
LOG_PERROR is defined on Android, but not implemented yet. See also f3c4e620ac612eab6370b1fb82feaa4e651542bb.
2020-02-13spec/ruby: skip the specs that use /etc/passwd on AndroidYusuke Endoh
There is no /etc/passwd on Android
2020-02-13spec/ruby/library/etc/confstr_spec.rb: skip on AndroidYusuke Endoh
There seems to be no _CS_PATH on Android.
2020-02-13spec/ruby/core/process/spawn_spec.rb: Use / instead of /tmpYusuke Endoh
because there is no /tmp on Android.
2020-02-13spec/ruby/core/process/clock_getres_spec.rb: skip on AndroidYusuke Endoh
in the same way as FreeBSD and OpenBSD. I guess that the spec makes too strong assumption.
2020-02-13spec/ruby/core/encoding/locale_charmap_spec.rb: locale_charmap is UTF-8 on ↵Yusuke Endoh
Android nl_langinfo(CODESET) always returns UTF-8 on Android, regardless to LC_ALL=C.