- Mar 15, 2021
-
-
Sergey Bronnikov authored
We use cmake instead of autotools to build curl. Change was introduced in commit 11dcc9cb ("build: remove autotools from packages spec"). No sense to require autoconf, automake and libtool to build tarantool. Part of #5652
-
Sergey Bronnikov authored
Part of #5652
-
Sergey Bronnikov authored
Fix package names with Python modules on Centos 7, OpenSUSE, Fedora. All supported RPM-based distributives (Fedora 33, Fedora 32, OpenSUSE 15.2, OpenSUSE 15.1, CentOS 8) contains python3, python3-six and python3-gevent packages except CentOS 7 and CentOS 6. We don't run tests when make packages for CentOS 6. For CentOS 7 we create our own RPM packages for Python3 dependencies. Patch unblocks regression testing on Fedora 33. Part of #5652 Closes tarantool/tarantool-qa#17
-
Sergey Bronnikov authored
- install python3 on mac machines - run test-run without specifying path to python interpreter - get rid our own tarantool brew-tap that depends on Python 2 Part of #5652
-
Sergey Bronnikov authored
getaddrinfo() is a POSIX function that returns addrinfo structure in success and error value for the failure.POSIX standard [1] describes possible error values but description have a status of recommendation. When non-existent hostname is passed to getaddrinfo() it fails with error, but error value may be different on Linux and FreeBSD. We have testcases where we check error messages obtained from getaddinfo() ignoring this fact and sometime test fails on FreeBSD [2]. 1. https://pubs.opengroup.org/onlinepubs/9699919799/functions/freeaddrinfo.html 2. https://github.com/tarantool/tarantool/runs/2107188391 Part of #5652
-
Alexander Turenko authored
Part of #5652
-
Alexander Turenko authored
Response object is a unpacked msgpack structure, returned by Tarantool. Nor msgpack-python [1] that used in tarantool-python nor msgpack [2] itself cannot guarantee an order of keys in unpacked dictionaries. Therefore we have different keys order with running tests under Python 2 and Python 3, for example box-py/call.test.py. To workaround a problem proposed a conversion of dictionaries in a tuple to lists before printing Response object. Requires changes in tarantool-python [3]. 1. https://github.com/msgpack/msgpack-python/pull/164 2. https://github.com/msgpack/msgpack/issues/215 3. https://github.com/tarantool/tarantool-python/pull/186 Part of #5652 Follows up #5538
-
Sergey Bronnikov authored
Test output with running on Python 2 and Python 3 is not the same. [009] box-py/iproto.test.py [ fail ] [009] [009] Test failed! Result content mismatch: [009] --- box-py/iproto.result Sat Mar 13 17:46:54 2021 [009] +++ /rw_bins/test/var/rejects/box-py/iproto.reject Sat Mar 13 17:50:51 2021 [009] @@ -29,7 +29,7 @@ [009] IPROTO_UPDATE [009] query {'IPROTO_CODE': 4} {'IPROTO_SPACE_ID': 280} [009] True [009] -query {'IPROTO_CODE': 4} {'IPROTO_SPACE_ID': 280, 'IPROTO_KEY': (1,)} [009] +query {'IPROTO_CODE': 4} {'IPROTO_KEY': (1,), 'IPROTO_SPACE_ID': 280} [009] True [009] [009] [009] [009] Last 15 lines of Tarantool Log file [Instance "box"][/rw_bins/test/var/009_box-py/box.log]: 1. https://github.com/tarantool/tarantool/pull/5751/checks?check_run_id=2103097418 Part of #5652 Follows up #5538
-
Sergey Bronnikov authored
Part of #5652
-
Sergey Bronnikov authored
Part of #5652
-
Sergey Kaplun authored
golden100 is an array of int32_t elements. So sizeof(uint64_t) is exactly double array element size. In other words, only half of golden100 array is checked. This patch makes calculation of array size type-independed. Reviewed-by:
Cyrill Gorcunov <gorcunov@gmail.com>
-
- Mar 12, 2021
-
-
Artem Starshov authored
The reason why tarantool -e always enters interactive mode is that statement after option -e isn't considered as a script. In man PUC-Rio lua there are different names for statement -e (stat) and script, but they have the same behavior regarding interactive mode. (Also cases, when interpreter loads stdin, have the same behaviour). NOTE: test for this code fix uses errinjs, and the last one should work only in debug mode, so added `release_disabled` in suite.ini. But there is a bug in test-run: `release_disable` disables tests at each build type. Partially this problem is descripted in tarantool/test-run#199. Fixes #5040
-
Artem Starshov authored
Sometimes, it's useful to set error injections via environment variables and this commit adds this opportunity. e.g: `ERRINJ_WAL_WRITE=true tarantool` will be launched with ERRINJ_WAL_WRITE setted to true. Errinjs with bool parameters can be set to "true", "false", "True", "False", "TRUE", "FALSE", etc. (case-insensitive variable). Errinjs with int or double parameters should be whole valid ("123s" is invalid). e.g. for int or double: "123", "-1", "2.34", "+2.34". NOTE: errinjs should work only in debug mode, so added `release_disabled` in suite.ini. But there is a bug in test-run: `release_disable` disables tests at each build type. Partially this problem is descripted in tarantool/test-run#199. Part of #5040
-
- Mar 11, 2021
-
-
Oleg Babin authored
Seems previously "path" wasn't installed to index schema. This patch fixes it and introduces a test. Closes #5451
-
Alexander Turenko authored
This commit adds the misc module support into the pretest_clean machinery: so `_G.misc` and `package.loaded.misc` are not cleared before running of a test of the 'core = tarantool' type. See [1] for details. [1]: https://github.com/tarantool/test-run/commit/34ea4afd6543d8bc29c371ec2effb756a7460520 Follows up #5187
-
mechanik20051988 authored
Relay structure must have alignas(CACHELINE_SIZE), but when we use simple malloc or same function to allocate memory for this structure we get pointer with incorrect alignment. So now we allocate memory for this struct using aligned_alloc.
-
mechanik20051988 authored
Granularity is an option that allows user to set multiplicity of memory allocation in small allocator. Granulatiry must be exponent of two and >= 4. By default granularity value == sizeof(intptr_t), as it was before, when this option was not provided. @TarantoolBot document Title: Add 'granularity' option to box.cfg{} Add granularity option that allows user to set multiplicity of memory allocation in small allocator. Granularity determines not only alignment of objects, but also size of the objects in the pool. Thus, the greater the granularity, the greater the memory loss per one memory allocation, but tuples with different sizes are allocated from the same mempool, and we do not lose memory on the slabs, when we have highly distributed tuple sizes. This is somewhat similar to a large alloc factor. The smaller the granularity, the less memory loss per allocation, if the user has many small tuples of approximately the same size, it will be nice to set granularity == 4 to save memory. This option must be set once during start, default value == sizeof(intptr_t) (8 on 64 bit platforms), as it was before, when this option was not provided. Granularity must be exponent of two and >= 4. Together with the slab_alloc_factor, this option gives you full control over the behavior of small allocator. Closes #5518
-
- Mar 10, 2021
-
-
Alexander V. Tikhonov authored
Found that ubuntu-latest that switched in Github Actions from ubuntu-18.04 to ubuntu-20.04, doesn't have createrepo package available in Ubuntu repositories to be installed. It happened because createrepo written on python2, which is not supported by ubuntu-20.04. Anyway createrepo tool was rewritten on C to make it available for the later distributions, its new naming is createrepo_c. It is already avaliable in Ubuntu 21.04, but still not backported to 20.04 version. So we need to wait its avalaibility in Ubuntu 22.04 either its backported version in 20.04 [1]. As for now we need to use ubuntu-18.04 in Actions. [1]: https://answers.launchpad.net/createrepo/+question/690448
-
Igor Munkin authored
LuaJIT submodule is bumped to introduce the following changes: * test: adjust LuaJIT test suite for Tarantool * test: change LuaJIT test suite to match b4e6bf0 * test: change LuaJIT test suite to match 5a61e1a * test: change LuaJIT test suite to match c198167 * test: change LuaJIT test suite to match de5568e * test: add LuaJIT-test-cleanup test suite * test: fix Lua command in utils.selfrun * test: fix luacheck invocation for non-real paths Within this changeset LuaJIT-test-cleanup suite[1] is added to Tarantool testing. Considering Tarantool specific changes in runtime the suite itself is adjusted in LuaJIT submodule. However, there is <strict> module enabled by default in Debug build, so the testing environment need to be tweaked via test/luajit-test-init.lua script to be run prior to every LuaJIT suite test is started. [1]: https://github.com/LuaJIT/LuaJIT-test-cleanup/tree/014708b/test Closes #4064 Part of #4473 Reviewed-by:
Sergey Kaplun <skaplun@tarantool.org> Reviewed-by:
Sergey Ostanevich <sergos@tarantool.org> Signed-off-by:
Igor Munkin <imun@tarantool.org>
-
- Mar 08, 2021
-
-
pkubaj authored
On my ARM system __CC_ARM is not defined. Checking whether we don't run on non-x86 may also make supporting other architectures (like POWER or RISC-V) easier.
-
Alexander Turenko authored
This commit updates test-run with an update of tarantool-python, which eliminates the test-run submodule from tarantool-python. In other words, we have no test-run submodule inside test-run anymore. The goal is to don't confuse luacheck with old revisions of test-run / tarantool-python code and to make recursive clone faster. See [1] and [2] for details. [1]: https://github.com/tarantool/test-run/pull/268 [2]: https://github.com/tarantool/tarantool-python/commit/dccf18fd07ac684195fdd386d2a5285b9582d380
-
- Mar 05, 2021
-
-
Alexander Turenko authored
Now `make luacheck` gracefully handles different cases[^1]: in-source and out-of-source build (within the source tree or outside), current working directory as a real path or with symlink components. As result of looking into those problems I filed the issue [1] against luacheck. It seems, there are problems around absolute paths with symlinks components. [^1]: We have the similar problems with LuaJIT's luacheck rule. They will be fixed in a separate patch. [1]: https://github.com/mpeterv/luacheck/issues/208 Reviewed-by:
Sergey Bronnikov <sergeyb@tarantool.org> Reviewed-by:
Igor Munkin <imun@tarantool.org>
-
HustonMmmavr authored
The static build isn't as portable as it should be. In fact, the OPENSSLDIR is configured at build time, but in runtime, it may (and do) differ: ``` $ strace tarantool -e 'require("http.client").get("https://...")' ... openat(AT_FDCWD, "/__w/sdk/sdk/build/tarantool/static-build/" "openssl-prefix/ssl/cert.pem", O_RDONLY) = -1 ENOENT (No such file or directory) ... stat("/__w/sdk/sdk/build/tarantool/static-build/" "openssl-prefix/ssl/certs/...", ...) = -1 ENOENT (No such file or directory) ... ``` As a result, statically build tarantool can't open some https links with an error: ``` tarantool> http_client = require('http.client').new({max_connections = 5}) tarantool> http_client:get('https://..../', {verbose = true}) * Trying X.Y.Z.W:443... * TCP_NODELAY set * Connected to .... (X.Y.Z.W) port 443 (#0) * ALPN, offering http/1.1 * SSL certificate problem: self signed certificate in certificate chain * Closing connection 0 --- - status: 495 reason: SSL peer certificate or SSH remote key was not OK ... ``` Also this error may occur at dynamically build tarantool in case of linkage tarantool binary with incorrectly configured openssl. In this patch, we adopt the approach from the golang ecosystem [1-3]. At startup, tarantool scans several popular locations and uses it for `SSL_CERT_DIR` and/or `SSL_CERT_FILE` setting. See also [4,5] - it's fun. [1] https://serverfault.com/a/722646 [2] https://golang.org/src/crypto/x509/root_unix.go [3] https://golang.org/src/crypto/x509/root_linux.go [4] https://github.com/edenhill/librdkafka/blob/cb69d2a8486344252e0fcaa1f959c4ab2d8afff3/src/rdkafka_ssl.c#L845 [5] https://www.happyassassin.net/posts/2015/01/12/a-note-about-ssltls-trusted-certificate-stores-and-platforms/ Close #5615 Co-authored-by:
Yaroslav Dynnikov <yaroslav.dynnikov@gmail.com>
-
- Mar 04, 2021
-
-
Igor Munkin authored
* core: fix cdata decrementing Closes #5820 Follows up #5187
-
- Mar 03, 2021
-
-
Vladislav Shpilevoy authored
Fiber_cond to pop fibers from the queue uses rlist_shift() + fiber_wakeup() calls. The shift wasn't needed, because fibers are linked with 'state' member, which is moved by fiber_wakeup() anyway. Closes #5855
-
Sergey Bronnikov authored
Closes #5463 Reviewed-by:
Vladislav Shpilevoy <v.shpilevoy@tarantool.org> Reviewed-by:
Igor Munkin <imun@tarantool.org>
-
Alexander V. Tikhonov authored
Added cleanup routine for performance workflows before sources checkout to avoid of fails on previously created files from inside docker with any UID:GID.
-
Alexander V. Tikhonov authored
Decided to use performance image with pre-installed benchmarks from docker.io repository instead of gitlab-ci.
-
- Mar 02, 2021
-
-
Serge Petrenko authored
Follow-up #5762
-
Sergey Bronnikov authored
W611 (A line consists of nothing but whitespace) Note: changes were made automatically in vim with regexp "%s/^\s*$//g". Closes #5739
-
Sergey Bronnikov authored
Closes #5464
-
Sergey Bronnikov authored
W621 (Inconsistent indentation (SPACE followed by TAB)) Part of #5464
-
Sergey Bronnikov authored
W612 (A line contains trailing whitespace) W613 (Trailing whitespace in a string) W614 (Trailing whitespace in a comment) Note: changes were made automatically in vim with regexp "%s/\s\+$//e". Part of #5464
-
Sergey Bronnikov authored
W542 (An empty if branch) Part of #5464
-
Sergey Bronnikov authored
W512 (Loop can be executed at most once) Part of #5464
-
Sergey Bronnikov authored
W511 (Unreachable code) Part of #5464
-
Sergey Bronnikov authored
W311 (Value assigned to a local variable is unused) Part of #5464
-
Sergey Bronnikov authored
W231 (Local variable is set but never accessed) Part of #5464
-
Sergey Bronnikov authored
W213 (Unused loop variable) Part of #5464
-
Sergey Bronnikov authored
W212 (Unused argument) Part of #5464
-