116 Commits

Author SHA1 Message Date
Takashi Kokubun
195e32977f Skip test_udp_server on s390x RHEL 7.1
It seems like it never succeeds on this CI.
2023-03-11 20:51:49 -08:00
Takashi Kokubun
2e875549a9 s/MJIT/RJIT/ 2023-03-06 23:44:01 -08:00
Hiroshi SHIBATA
bfa6d0f6d7
fixup 8cd6f2a0872e74c6cc089d2a4f8140483080c67a
we should handle ensure block when omit this test
2022-09-07 09:41:28 +09:00
Hiroshi SHIBATA
8cd6f2a087
omit random failure tests with FreeBSD
http://rubyci.s3.amazonaws.com/freebsd13/ruby-master/log/20220906T043002Z.fail.html.gz
  http://rubyci.s3.amazonaws.com/freebsd13/ruby-master/log/20220905T103002Z.fail.html.gz
2022-09-06 16:27:12 +09:00
Hiroshi SHIBATA
55cdb8b013
Use omit instead of skip: test/socket/**/*.rb 2021-12-28 20:29:54 +09:00
Takashi Kokubun
1a63468831
Prepare for removing RubyVM::JIT (#5262) 2021-12-13 23:07:46 -08:00
Naohisa Goto
f8f2885bd0 Revert "test/socket/test_socket.rb: skip on Solaris"
This reverts commit 27fb9d272daaae89089dfb61849ebe8e7aa6c833.

The test failure on Solaris 10 is due to incomplete IPv6 configuration
on the CI server, that have already been fixed.

Reference for the fix: https://centrify.force.com/support/Article/KB-1179-X11-Forwarding-fails-with-Centrify-OpenSSH-5-0-Solaris/
2021-11-30 00:07:30 +09:00
Yusuke Endoh
27fb9d272d test/socket/test_socket.rb: skip on Solaris
The test fails on Solaris 10. Maybe due to the IPv6 configuration on the
server, but I have no idea at all. I've asked @ngoto to investigate the
issue, so will tentatively skip the tests on Solaris

http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20210729T040002Z.fail.html.gz
2021-07-29 13:51:43 +09:00
Nobuyoshi Nakada
e9974a466a
Get rid of sporadic WSAEACCES on Windows [ruby-dev:42661] 2021-05-21 18:26:07 +09:00
Nobuyoshi Nakada
c711093559 Get rid of sporadic WSAEACCES on Windows [ruby-dev:42661] 2021-05-20 21:56:58 +09:00
Takashi Kokubun
e1fee7f949
Rename RubyVM::MJIT to RubyVM::JIT
because the name "MJIT" is an internal code name, it's inconsistent with
--jit while they are related to each other, and I want to discourage future
JIT implementation-specific (e.g. MJIT-specific) APIs by this rename.

[Feature #17490]
2021-01-13 22:46:51 -08:00
Hiroshi SHIBATA
30f1316401
Skip test when UDP server is no response. 2021-01-13 11:27:30 +09:00
Masaki Matsushita
5d8bcc4870 Revert getaddrinfo_a()
getaddrinfo_a() gets stuck after fork().
To avoid this, we need 1 second sleep to wait for internal
worker threads of getaddrinfo_a() to be finished, but that is unacceptable.

[Bug #17220] [Feature #17134] [Feature #17187]
2020-12-07 13:33:53 +09:00
Masaki Matsushita
5e58a9033f Reduce timeout of test_getaddrinfo_after_fork 2020-12-05 17:43:35 +09:00
Benoit Daloze
b4ec4a41c2 Guard all accesses to RubyVM::MJIT with defined?(RubyVM::MJIT) &&
* Otherwise those tests, etc cannot run on alternative Ruby implementations.
2020-12-04 16:45:54 +01:00
Masaki Matsushita
94d49ed31c Add a hook before fork() for getaddrinfo_a()
We need stop worker threads in getaddrinfo_a() before fork().
This change adds a hook before fork() that cancel all outstanding requests
and wait for all ongoing requests. Then, it waits for all worker
threads to be finished.

Fixes [Bug #17220]
2020-12-04 23:31:51 +09:00
Kazuhiro NISHIYAMA
2f6a8baac6
Test interfaces include localhost
When interfaces do not include localhost,
some other tests may fail.
2019-12-06 16:03:16 +09:00
Takashi Kokubun
afe8bf2489
Try extending timeout of IO.select
hoping to stabilize:
https://app.wercker.com/ruby/ruby/runs/mjit-test1/5d6df8a8a952c20008acf75b?step=5d6df90e4971a6000714c627
2019-09-03 20:34:52 +09:00
Kazuhiro NISHIYAMA
63ab7046a1
Skip POINTOPOINT of IPv4 too instead of IPv6 only
Fix following error on `utun*`:
```
  1) Error:
TestSocket#test_udp_server:
Errno::ECONNREFUSED: Connection refused - recvmsg(2)
```
2019-09-02 12:01:47 +09:00
Nobuyoshi Nakada
409b0ec4c3
Suppress unused variable warnings 2019-06-30 11:45:37 +09:00
normal
ce48b55805 test/socket/test_socket.rb (timestamp_retry_rw): IO.select before recvmsg
CI failures are still happening from these tests, but try
to break out of it earlier instead of holding up the job.

[Bug #14898]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-20 20:45:40 +00:00
normal
12f11714c2 test/socket/test_socket.rb (test_timestampns): retry send
It looks like we need to retry test_timestampns in addition
to test_timestamp; so share some code while we're at it.

cf. http://ci.rvm.jp/results/trunk-test@frontier/1153126
[ruby-core:88104] [Bug #14898]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-02 06:09:38 +00:00
normal
eb78bedab7 test/socket/test_socket.rb (test_timestamp): retry send
I theorize there can be UDP packet loss even over loopback if
the kernel is under memory pressure.  Retry sending periodically
until recvmsg succeeds.

i[ruby-core:87842] [Bug #14898]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-07 05:34:03 +00:00
eregon
15689ed778 Fix test-all tests to avoid creating report_on_exception warnings
* The warnings are shown by Thread.report_on_exception defaulting to
  true. [Feature #14143] [ruby-core:83979]
* Improves tests by narrowing down the scope where an exception
  is expected.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-12 18:44:49 +00:00
nobu
fb89004a3b socket.c: null byte at Socket.getnameinfo
* ext/socket/socket.c (sock_s_getnameinfo): check null byte.
  patched by tommy (Masahiro Tomita) in [ruby-dev:50286].
  [Bug #13994]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-11 06:16:04 +00:00
odaira
acfd12ae36 * test/socket/test_socket.rb (test_udp_recvmsg_truncation):
AIX does not set the MSG_TRUNC flag for a message partially read
  by recvmsg(2) with the MSG_PEEK flag set.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-10 00:55:37 +00:00
naruse
6e181393c6 ignore exception is the address is IPv6
some environments disables IPv6 even if they have IPv6 addresses.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 17:53:11 +00:00
ngoto
0917a3dea2 * test/socket/test_socket.rb (test/socket/test_socket.rb): skip the test when Socket::SO_TIMESTAMP is not defined.
Fix error on Solaris 10. [Bug #11728] [ruby-dev:49377]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 16:19:06 +00:00
akr
1ca597236f * test/socket/test_socket.rb (test_udp_recvmsg_truncation): rflags is
nil on Solaris 10 which have no HAVE_STRUCT_MSGHDR_MSG_CONTROL.
  Reported by Naohisa Goto. [ruby-core:71557] [Bug #11709]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 17:22:34 +00:00
akr
1f2b9a46a1 add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 13:19:01 +00:00
normal
508b5fdd52 socket: fix recvmsg without argument
* ext/socket/ancdata.c (bsock_recvmsg_internal): grow buffer
  on unspecified maxdatlen
  [ruby-core:71517] [Bug #11701]
* ext/socket/lib/socket.rb (Socket#recvmsg): nil default for dlen
  (Socket#recvmsg_nonblock): ditto
* test/socket/test_socket.rb (test_recvmsg_udp_no_arg): new test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-17 22:00:23 +00:00
akr
373e87a74d * ext/socket/lib/socket.rb: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-14 13:15:33 +00:00
nobu
ae042f21fb use assert_raise
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-02 02:18:44 +00:00
akr
eb9f446ebf * ext/socket/unixsocket.c (rsock_init_unixsock): Open a socket
after path length check.
  This fixes a fd leak by TestSocket_UNIXSocket#test_too_long_path.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-28 15:42:09 +00:00
nobu
391cad0cb3 test_socket.rb: ignore interface without address
* test/socket/test_socket.rb (test_udp_server): ignore interface
  with no address assigned.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-28 05:11:05 +00:00
naruse
c3ebc82832 use Socket.getifaddrs to show interface names and so on
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-27 12:29:08 +00:00
akr
e8e6ecdef0 test_udp_server don't test IPv6 link-local addresses.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-24 11:12:10 +00:00
akr
bd4fdb714f Use Etc.uname instead of uname command invocation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 08:45:37 +00:00
hsbt
93156392dd * test/socket/test_addrinfo.rb: remove unused variables.
* test/socket/test_nonblock.rb: ditto.
* test/socket/test_socket.rb: ditto.
* test/socket/test_unix.rb: ditto.
* test/testunit/test_parallel.rb: ditto.
* test/webrick/test_filehandler.rb: ditto.
* test/xmlrpc/test_features.rb: ditto.
* test/zlib/test_zlib.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-18 12:05:09 +00:00
akr
4fd53e476e * ext/socket/lib/socket.rb: Don't test $! in "ensure" clause because
it may be set before the body.
  Reported by ko1 and mrkn.  [ruby-core:59088] [Bug #9247]

* lib/cgi/core.rb: Ditto.

* lib/drb/ssl.rb: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-13 16:11:12 +00:00
akr
b323d7d54c * ext/socket: New method, Socket.getifaddrs, implemented.
[ruby-core:54777] [Feature #8368]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-11 08:32:26 +00:00
akr
adb575e21e * ext/socket/ancdata.c (bsock_sendmsg_internal): Always set
controls_num to raise NotImplementedError appropriately.
  (bsock_recvmsg_internal): Raise NotImplementedError if
  :scm_rights=>true is given on platforms which don't have
  4.4BSD style control message.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-09 11:48:29 +00:00
akr
cb302bf351 * ext/socket/rubysocket.h (SockAddrStringValueWithAddrinfo): New macro.
(rsock_sockaddr_string_value_with_addrinfo): New declaration.
  (rsock_addrinfo_inspect_sockaddr): Ditto.
  (rsock_sys_fail_addrinfo): Ditto.
  (rsock_sys_fail_sockaddr_or_addrinfo): Ditto.

* ext/socket/raddrinfo.c (rsock_addrinfo_inspect_sockaddr): Renamed
  from addrinfo_inspect_sockaddr and exported.
  (rsock_sockaddr_string_value_with_addrinfo): New function to obtain
  string and possibly addrinfo object.

* ext/socket/socket.c (rsock_sys_fail_sockaddr): Don't use
  rsock_sys_fail_host_port which is IP dependent.  Invoke
  rsock_sys_fail_addrinfo.
  (rsock_sys_fail_addrinfo): New function using
  rsock_addrinfo_inspect_sockaddr.
  (rsock_sys_fail_addrinfo_or_sockaddr): New function.
  (sock_connect): Use SockAddrStringValueWithAddrinfo and
  rsock_sys_fail_addrinfo_or_sockaddr.
  (sock_connect_nonblock): Ditto.
  (sock_bind): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 05:50:42 +00:00
akr
d933fb2296 * ext/socket: Improve socket exception message to show socket address.
[ruby-core:45617] [Feature #6583] proposed Eric Hodel.

* ext/socket/rubysocket.h (rsock_sys_fail_host_port): Declared.
  (rsock_sys_fail_path): Ditto.
  (rsock_sys_fail_sockaddr): Ditto.

* ext/socket/udpsocket.c (udp_connect): Use rsock_sys_fail_host_port.
  (udp_bind): Ditto.
  (udp_send): Ditto.

* ext/socket/init.c (rsock_init_sock): Specify a string for rb_sys_fail
  argument.
  (make_fd_nonblock): Ditto.
  (rsock_s_accept): Ditto.

* ext/socket/ipsocket.c (init_inetsock_internal): Use
  rsock_sys_fail_host_port.

* ext/socket/socket.c (rsock_sys_fail_host_port): Defined.
  (rsock_sys_fail_path): Ditto.
  (rsock_sys_fail_sockaddr): Ditto.
  (setup_domain_and_type): Use rsock_sys_fail_sockaddr.
  (sock_connect_nonblock): Ditto.
  (sock_bind): Ditto.
  (sock_gethostname): Specify a string for rb_sys_fail argument.
  (socket_s_ip_address_list): Ditto.

* ext/socket/basicsocket.c (bsock_shutdown): Specify a string for
  rb_sys_fail argument.
  (bsock_setsockopt): Use rsock_sys_fail_path.
  (bsock_getsockopt): Ditto.
  (bsock_getpeereid): Refine the argument for rb_sys_fail.

* ext/socket/unixsocket.c (rsock_init_unixsock): Use
  rsock_sys_fail_path.
  (unix_path): Ditto.
  (unix_send_io): Ditto.
  (unix_recv_io): Ditto.
  (unix_addr): Ditto.
  (unix_peeraddr): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 02:39:44 +00:00
naruse
24793ac32d Revert "Darwin 12 (OS X Mountain Lion) also has Bug #6692"
This reverts commit r37033.
darwin12 seems to use an address started with fe80.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-26 04:03:26 +00:00
naruse
6fc41b0291 Darwin 12 (OS X Mountain Lion) also has Bug #6692
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-26 01:26:09 +00:00
naruse
040207ea01 Show nd6 options and whether the packet is reached to the server or not.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-24 03:09:32 +00:00
naruse
612ff592ff Add version check for darwin's bug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-24 00:42:22 +00:00
drbrain
f35b1d0633 * test/socket/test_socket.rb: Ignore IPv6 unique local addresses on OS
X (iCloud Back to my Mac addresses) for test_udp_socket since they do
  not act as loopback addresses.  [Bug #6692]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-20 00:40:48 +00:00
naruse
3e972bbaba Check IFDISABLED on Mac OS X.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-14 07:46:02 +00:00