diff --git a/src/main.cc b/src/main.cc index 1a93791dd413f46a023ff96d7339acaa84ce9b03..697c7d0ffc630d476bb7e723620d767c71c02ac5 100644 --- a/src/main.cc +++ b/src/main.cc @@ -541,13 +541,12 @@ main(int argc, char **argv) __libc_stack_end = (void*) &argv; #endif start_time = ev_time(); -#ifndef __APPLE__ /* set locale to make iswXXXX function work */ if (setlocale(LC_CTYPE, "C.UTF-8") == NULL && setlocale(LC_CTYPE, "en_US.UTF-8") == NULL && setlocale(LC_CTYPE, "en_US.utf8") == NULL) fprintf(stderr, "Failed to set locale to C.UTF-8\n"); -#endif + if (argc > 1 && access(argv[1], R_OK) != 0) { if (argc == 2 && argv[1][0] != '-') { /* diff --git a/test/box/alter.result b/test/box/alter.result index 53f7dfb64fdcca637e18344855ede0e2d1953971..5af47e145ce9f4d43e0f08356db3df7774cf3c98 100644 --- a/test/box/alter.result +++ b/test/box/alter.result @@ -299,7 +299,14 @@ box.schema.space.create('_5'):drop() box.schema.space.create('valid_identifier'):drop() --- ... -box.schema.space.create('ынтыпрайзный_空間'):drop() -- unicode +-- some OS-es ship incomplete locales, breaking ID validation +weird_chars='' +--- +... +if jit.os~='OSX' and jit.os~='BSD' then weird_chars='空間' end +--- +... +box.schema.space.create('ынтыпрайзный_'..weird_chars):drop() -- unicode --- ... box.schema.space.create('utf8_наше_ФÑÑ‘'):drop() -- unicode diff --git a/test/box/alter.test.lua b/test/box/alter.test.lua index 316f7d480ec6e9f4bf2469bcb64dcbe1c15a6c9c..5b5bc4ebe79c3f5cbb45eaf0f189540ebc616396 100644 --- a/test/box/alter.test.lua +++ b/test/box/alter.test.lua @@ -106,7 +106,10 @@ box.schema.space.create('') box.schema.space.create('_Abcde'):drop() box.schema.space.create('_5'):drop() box.schema.space.create('valid_identifier'):drop() -box.schema.space.create('ынтыпрайзный_空間'):drop() -- unicode +-- some OS-es ship incomplete locales, breaking ID validation +weird_chars='' +if jit.os~='OSX' and jit.os~='BSD' then weird_chars='空間' end +box.schema.space.create('ынтыпрайзный_'..weird_chars):drop() -- unicode box.schema.space.create('utf8_наше_ФÑÑ‘'):drop() -- unicode space = box.schema.space.create('test') diff --git a/test/box/bsdsocket.result b/test/box/bsdsocket.result index 1e2f905354f43363164f67f8715e1deb50034bbc..763617fe2aaa50b07b4e41746090e4f0e013933b 100644 --- a/test/box/bsdsocket.result +++ b/test/box/bsdsocket.result @@ -603,7 +603,7 @@ sc:nonblock(true) --- - true ... -sc:sysconnect('127.0.0.1', 3458) or errno() == errno.EINPROGRESS +sc:sysconnect('127.0.0.1', 3458) or errno() == errno.EINPROGRESS or errno() == errno.ECONNREFUSED --- - true ... @@ -619,9 +619,12 @@ string.match(tostring(sc), ', peer') == nil --- - true ... -require('errno').strerror(sc:getsockopt('SOL_SOCKET', 'SO_ERROR')) +socket_error = sc:getsockopt('SOL_SOCKET', 'SO_ERROR') --- -- Connection refused +... +socket_error == errno.ECONNREFUSED or socket_error == 0 +--- +- true ... --# setopt delimiter ';' socket.getaddrinfo('127.0.0.1', '80', { type = 'SOCK_DGRAM', diff --git a/test/box/bsdsocket.test.lua b/test/box/bsdsocket.test.lua index 1a431295f0d67dc9bbcfaa495acf2de5f892e867..0a8da452f234b4e74818221b9cadab5c752b4749 100644 --- a/test/box/bsdsocket.test.lua +++ b/test/box/bsdsocket.test.lua @@ -201,11 +201,12 @@ sc = socket('PF_INET', 'SOCK_STREAM', 'tcp') sc ~= nil sc:getsockopt('SOL_SOCKET', 'SO_ERROR') sc:nonblock(true) -sc:sysconnect('127.0.0.1', 3458) or errno() == errno.EINPROGRESS +sc:sysconnect('127.0.0.1', 3458) or errno() == errno.EINPROGRESS or errno() == errno.ECONNREFUSED string.match(tostring(sc), ', peer') == nil sc:writable() string.match(tostring(sc), ', peer') == nil -require('errno').strerror(sc:getsockopt('SOL_SOCKET', 'SO_ERROR')) +socket_error = sc:getsockopt('SOL_SOCKET', 'SO_ERROR') +socket_error == errno.ECONNREFUSED or socket_error == 0 --# setopt delimiter ';' socket.getaddrinfo('127.0.0.1', '80', { type = 'SOCK_DGRAM', diff --git a/test/box/net.box.result b/test/box/net.box.result index 391de7170253fe668104fd5ca2bcb49a99b32339..bdc2ea18b4a7eaa3af4ab6e5a429fddb63caa7f8 100644 --- a/test/box/net.box.result +++ b/test/box/net.box.result @@ -446,6 +446,12 @@ cn.space.net_box_test_space:get(354) cn:_fatal('Test fatal error') --- ... +-- We expect the connection to enter 'closed' state due to 'reconnect_after' +-- option missing, however 'error'->'closed' transition happens in some +-- unrelated fiber, scheduling quirks bite (again) (sigh) +fiber.sleep(0) +--- +... cn.state --- - closed diff --git a/test/box/net.box.test.lua b/test/box/net.box.test.lua index 28281fafa9527c78f18a76fd39d8d8b6c125ba7f..6f0d769c41f4cb452d4abaabb0ad155458c94189 100644 --- a/test/box/net.box.test.lua +++ b/test/box/net.box.test.lua @@ -170,6 +170,10 @@ cn.space.net_box_test_space:get(354) -- -- 1. no reconnect cn:_fatal('Test fatal error') +-- We expect the connection to enter 'closed' state due to 'reconnect_after' +-- option missing, however 'error'->'closed' transition happens in some +-- unrelated fiber, scheduling quirks bite (again) (sigh) +fiber.sleep(0) cn.state cn:ping() cn:call('test_foo') diff --git a/test/box/snapshot_daemon.result b/test/box/snapshot_daemon.result index 11bc61955b0db21b030ad3374d942d02213660f2..4d75b71d7ef778469de8b93df1cdbef04cbe3d39 100644 --- a/test/box/snapshot_daemon.result +++ b/test/box/snapshot_daemon.result @@ -10,37 +10,7 @@ fiber = require 'fiber' PERIOD = 0.03 --- ... ---# setopt delimiter ';' -ffi = require 'ffi' -ffi.cdef[[int uname(char *buf)]] - -function uname() - local name = ffi.new('char[?]', 4096) - ffi.C.uname(name) - return ffi.string(name) -end - -if uname() ~= 'Linux' then - PERIOD = 1.5 -end - ---- -... ---# setopt delimiter '' -ffi = require 'ffi' -ffi.cdef[[int uname(char *buf)]] - -function uname() - local name = ffi.new('char[?]', 4096) - ffi.C.uname(name) - return ffi.string(name) -end - -if uname() ~= 'Linux' then - PERIOD = 1.5 -end - - +if jit.os ~= 'Linux' then PERIOD = 1.5 end --- ... space = box.schema.space.create('snapshot_daemon') @@ -108,10 +78,6 @@ box.cfg{snapshot_period = 3600 * 4, snapshot_count = 4 } space:drop() --- ... -PERIOD ---- -- 0.03 -... box.cfg{ snapshot_count = .2 } --- - error: 'Incorrect value for option ''snapshot_count'': must be an integer' diff --git a/test/box/snapshot_daemon.test.lua b/test/box/snapshot_daemon.test.lua index 29b0904dc0be8c05ce11242eb40c7e8ada784132..c78e958e875c3f05a0e129326c79cc6fc0483286 100644 --- a/test/box/snapshot_daemon.test.lua +++ b/test/box/snapshot_daemon.test.lua @@ -4,23 +4,7 @@ fiber = require 'fiber' PERIOD = 0.03 - ---# setopt delimiter ';' - -ffi = require 'ffi' -ffi.cdef[[int uname(char *buf)]] - -function uname() - local name = ffi.new('char[?]', 4096) - ffi.C.uname(name) - return ffi.string(name) -end - -if uname() ~= 'Linux' then - PERIOD = 1.5 -end - ---# setopt delimiter '' +if jit.os ~= 'Linux' then PERIOD = 1.5 end space = box.schema.space.create('snapshot_daemon') @@ -68,8 +52,6 @@ fio.basename(snaps[1], '.snap') >= fio.basename(xlogs[1], '.xlog') box.cfg{snapshot_period = 3600 * 4, snapshot_count = 4 } space:drop() -PERIOD - box.cfg{ snapshot_count = .2 } daemon = box.internal.snapshot_daemon