- Apr 11, 2023
-
-
Timur Safin authored
It's frequently needed to see interaction of a luatest script and its chield launched via popen. Now we display extra debugging information received from children pipes directly to the parent screen. It's hidden by default by luatest (if everything goes well), but could be displayed with `luatest -c` option. ``` luatest -c -v app-luatest/console_debugger_session_test.lua ``` NO_DOC=internal NO_CHANGELOG=internal
-
- Apr 10, 2023
-
-
Georgy Moiseev authored
NO_DOC=Test update NO_CHANGELOG=Test update
-
Georgy Moiseev authored
Rework "running tests with built-in package" assert since now checks is a callable table package with subpackages instead of a single function. NO_DOC=No tagged version since checks initial embedding NO_CHANGELOG=No tagged version since checks initial embedding
-
Mergen Imeev authored
This patch replaces the type for some int and uint32_t values with size_t to avoid problems with integer overflow. Closes tarantool/security#119 NO_DOC=bugfix
-
- Apr 07, 2023
-
-
Yaroslav Lobankov authored
Skip unstable tests of `replication-luatest/linearizable_test.lua` due to tarantool-qa#277. NO_DOC=testing stuff NO_TEST=testing stuff NO_CHANGELOG=testing stuff
-
Yaroslav Lobankov authored
The fixed tests often failed with fail | 2023-03-01 15:54:30.550 [3724975] main/103/server_instance.lua F> can't initialize storage: unlink, called on fd 63, aka unix/:(socket), peer of unix/:(socket): Address already in use We fixed a similar issue in commit 3d3e9dea ("test: fix flaky box-luatest/gh_7917_log_row_on_recovery_error_test") by using unique instance names. Let's do the same here. NO_DOC=testing stuff NO_TEST=testing stuff NO_CHANGELOG=testing stuff
-
Oleg Chaplashkin authored
Server API from the luatest has been changed: `server:clean()` method has been removed. Use `server:drop()` instead. Follows up tarantool/luatest#296 NO_DOC=test fix NO_TEST=test fix NO_CHANGELOG=test fix
-
Oleg Chaplashkin authored
Bump test-run to new version with the following improvements: - Bump luatest to 0.5.7-33-g8523e5c [1] [1] tarantool/test-run@7db594d Part of tarantool/luatest#296 NO_DOC=testing stuff NO_TEST=testing stuff NO_CHANGELOG=testing stuff
-
Mergen Imeev authored
Tuples that have been inserted into system spaces after the _space definition has been inserted into _space have the same format as the space into which they were inserted. However, previously inserted tuples have an incomplete tuple format with parts missing. One piece that is missing information is the JSON token, which is used to determine the number of fields. The tarantoolsqlIdxKeyCompare() function contains the correct checks for the case when the number of fields from the format is equal to or less than the fieldno field, but uses tuple_format_field() before this check, resulting in an assertion. This patch forces tarantoolsqlIdxKeyCompare() to call tuple_format_field() only after checking that fieldno is less than field_count. Closes #8418 NO_DOC=Bugfix in debug.
-
- Apr 06, 2023
-
-
Vladimir Davydov authored
This may result in invalid statistics if there's more than 4 GB allocated for index extents. Fixes commit a75f4b7e ("memtx: introduce read view statistics"). Follow-up #8501 Coverity report 1537026, 1537027. NO_DOC=bug fix NO_CHANGELOG=unreleased NO_TEST=complicated; checked by coverity
-
Vladimir Davydov authored
Allow to register tweaks for variables of type double. Such tweak can be set to any integer or double value. Follow-up #7883 NO_DOC=internal NO_TEST=internal NO_CHANGELOG=internal
-
- Apr 05, 2023
-
-
Kirill Yukhin authored
To make changelog preparation less stressful let's pass each and every change to changelogs/ directly through the doc team. NO_CHANGELOG=no code changes NO_TEST=no code changes NO_DOC=no code changes
-
Kseniia Antonova authored
Fix grammar, punctuation, and wording NO_CHANGELOG=changelog NO_DOC=changelog NO_TEST=changelog
-
Yaroslav Lobankov authored
* Add an extra step that should be considered as a workaround for the runner agent (ChristopherHX/github-act-runner) that is used on FreeBSD machines. Without it, env.ARTIFACT_EXISTS will be undefined for some reason. * In the s3-upload-artifact action change `if: env.ARTIFACT_EXISTS` to `if: env.ARTIFACT_EXISTS == 'true'` to be compatible with the FreeBSD runner agent. Follows up tarantool/multivac#116 NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci
-
Serge Petrenko authored
Add a new possible value for `bootstrap_strategy` configuration option - "config". When bootstrap_strategy is "config", the user may use `bootstrap_leader` configuration option to specify the URI or UUID of the desired bootstrap leader. Closes #7999 @TarantoolBot document Title: new configuration option - `bootstrap_leader`. Configuration receives a new parameter - `bootstrap_leader`. The parameter specifies the desired node to bootstrap from. The parameter is valid only when another option - `bootstrap_strategy` - is set to `'config'`. The user may pass either the bootstrap leader's URI or its UUID string. If bootstrap leader is passed as a UUID, the node will bootstrap from the peer whose UUID matches the given one. If bootstrap leader is passed as a URI, the URI must contain the same host:port pair (or unix socket path) used for this node in `box.cfg.replication`. In this case the node will bootstrap from the remote peer listed in the corresponding replication entry. For example, this call will return an error: ```lua box.cfg{ bootstrap_strategy = 'config', bootstrap_leader = 'localhost:3301', replication = {'127.0.0.1:3301'}, } ``` But this call will succeed: ```lua box.cfg{ bootstrap_strategy = 'config', bootstrap_leader = 127.0.0.1:3301', replication = {'127.0.0.1:3301'}, } ``` In the example above, setting either or both of `bootstrap_leader` and `replication` to `"user:password@127.0.0.1:3301` will work just fine, i.e. only the bootstrap leader's host and port are matched against replication entries. If `bootstrap_leader` points at the instance being configured, the same URI entry for the instance must still be present in `replication` configuration parameter, like this: ```lua box.cfg{ listen = 'localhost:1234', bootstrap_leader = 'localhost:1234', replication = {'localhost:1234', ...}, } ``` The only exception to this is setting `bootstrap_leader` to the same UUID as instance_uuid, like this: ```lua box.cfg{ listen = 'something', bootstrap_leader = '11111111-1111-1111-1111-111111111111', instance_uuid = '11111111-1111-1111-1111-111111111111', ``` In this case the node will bootstrap the cluster on its own.
-
Serge Petrenko authored
The test will include test cases for other possible bootstrap strategies, so rename it properly. Doing this in a separate commit helps to minimize the diff. In-scope-of #7999 NO_DOC=test rename NO_TEST=test rename NO_CHANGELOG=test rename
-
Serge Petrenko authored
replicaset_connect() sleeps in a loop while waiting for the connections to be established and checks a bunch of conditions in between the loop cycles to check if it can proceed (with either a success or a failure). The conditions are already quite complicated and multiple, but it's going to get worse with the addition of bootstrap_strategy "config" and "supervised": during bootstrap replicaset_connect() will proceed as soon as the configured bootstrap leader is connected. Factor all these checks out to a helper function for simplicity. Part-of #7999 NO_DOC=refactoring NO_TEST=refactoring NO_CHANGELOG=refactoring
-
Serge Petrenko authored
Add uri_is_nil() and uri_addr_is_equal() helpers. In-scope-of #7999 NO_DOC=not user-visible NO_TEST=tested implicitly in the next commit NO_CHANGELOG=not user-visible
-
Serge Petrenko authored
Some time ago we decided that new checkers added to box_check_config() shouldn't throw. Instead they return -1 and box_check_config() raises an error. box_check_uuid() will be used in one of the upcoming checkers, so make it return -1 and set diag in case of error. Since it's used by box_check_instance_uuid() and box_check_replicaset_uuid(), fix them as well. In-scope-of #7999 NO_DOC=refactoring NO_TEST=refactoring NO_CHANGELOG=refactoring
-
Serge Petrenko authored
Checking a single uri will be needed in upcoming commits. In-scope-of #7999 NO_DOC=refactoring NO_TEST=refactoring NO_CHANGELOG=refactoring
-
- Apr 03, 2023
-
-
Sergey Bronnikov authored
We manage using sanitizers with CMake flags: ENABLE_ASAN and ENABLE_UB_SANITIZER. sql_fuzzer enables Address Sanitizer by passing -fsanitize=address directly to CFLAGS. It works fine on OSS Fuzz, but breaks building fuzzers for Sydr [1], because Sydr requires building with disabled sanitizers, see documentation [2]. 1. https://github.com/ispras/oss-sydr-fuzz/pull/164 2. https://sydr-fuzz.github.io/docs/#%D0%BE%D0%B1%D0%B5%D1%80%D1%82%D0%BA%D0%B0-sydr Fixes #8529 NO_CHANGELOG=<fuzzing testing> NO_DOC=<fuzzing testing> NO_TEST=<fuzzing testing>
-
Yaroslav Lobankov authored
NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci
-
Anna Balaeva authored
This patch adds the step to all workflows with test-run tests to save test artifacts to S3 for providing artifact link from Multivac Grafana dashboard. Resolves tarantool/multivac#116 NO_DOC=CI NO_TEST=CI NO_CHANGELOG=CI Co-authored-by:
Yaroslav Lobankov <y.lobankov@tarantool.org>
-
Anna Balaeva authored
This patch adds a local GitHub action to save test artifacts to S3. Print a warning if the provided artifact path doesn't exist. Part of tarantool/multivac#116 NO_DOC=CI NO_TEST=CI NO_CHANGELOG=CI Co-authored-by:
Yaroslav Lobankov <y.lobankov@tarantool.org>
-
Rimma Tolkacheva authored
Patch adds a grammar-based SQL fuzzer that based on libprotobuf-mutator [1] and libFuzzer [2]. Tarantool's SQL grammar [3][4] is described in Protobuf format in a file sql_query.proto, fuzzing engine generates SQL query in Protobuf format and then serializes it to a string (std::string) in sql_query_proto_to_string.* files. Resulted string is passed to SQL engine in Tarantool. NOTE: Current version of SQL grammar and serializers implements only `CREATE TABLE` and `SELECT` queries with all supported options. 1. https://github.com/google/libprotobuf-mutator 2. https://llvm.org/docs/LibFuzzer.html 3. https://www.tarantool.io/en/doc/latest/reference/reference_sql/sql_statements_and_clauses/ 4. https://www.tarantool.io/en/doc/latest/reference/reference_sql/sql_user_guide/ Part of #4826 NO_DOC=<fuzzing testing of SQL>
-
Sergey Bronnikov authored
Seed corpus was generated by fuzzing test itself. Needed for #4826 NO_CHANGELOG=<fuzzing testing of SQL> NO_DOC=<fuzzing testing of SQL> NO_TEST=<fuzzing testing of SQL>
-
Sergey Bronnikov authored
SQL queries generated by fuzzing test could trigger a code that want access to a space cache. Usually this cause an abort, because fuzzing test doesn't perform a complete initialization of tarantool instance. To avoid this we isolated problem parts of code with macro FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION. More appropriate solution will be implemented later. With introduced macro FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION we change behaviour of SQL engine and this breaks SQL regression tests. Therefore FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION is disabled in test-release-asan. Needed for #4826 NO_CHANGELOG=internal NO_DOC=internal NO_TEST=internal
-
Sergey Bronnikov authored
SQL fuzzing test requires an entrypoint for SQL engine and the most suitable function for such purpose is sql_stmt_compile(). However, this function is not in a public API, and we don't want to expose it as public function. As a solution function sql_fuzz() is introduced, it is defined under a macro FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION. Needed for #4826 NO_CHANGELOG=internal NO_DOC=internal NO_TEST=internal
-
Sergey Bronnikov authored
Patch introduce a macro FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION. It is a common build macro recommended in libFuzzer's documentation [1]. 1. https://llvm.org/docs/LibFuzzer.html#fuzzer-friendly-build-mode Needed for #4826 NO_CHANGELOG=build NO_DOC=build NO_TEST=build
-
Sergey Bronnikov authored
Follows-up #4823 NO_CHANGELOG=internal NO_DOC=internal NO_TEST=internal
-
- Mar 31, 2023
-
-
Sergey Bronnikov authored
Function `datetime_strptime` decodes string with datetime according to specified format, it accepts a datetime struct, buffer with datetime and string with format in arguments. Fuzzing test used static string "iso8601" as a format and it blocked fuzzing test to cover functions used by datetime_strptime under the hood. Fuzz introspector shows that code coveraged by a test is quite low. Patch updates the test to make it more effective: buffer with datetime and format string are generated using FDP (Fuzzing Data Provider). Test file extension was changed to .cc, because FuzzingDataProvider is used and we need building it by C++ compiler. Function `tnt_strptime` uses assert, that triggered by fuzzing tests. Therefore it was replaced with to if..then. 1. https://storage.googleapis.com/oss-fuzz-introspector/tarantool/ Fixes #8490 NO_CHANGELOG=fuzzing test NO_DOC=fuzzing test NO_TEST=fuzzing test
-
Timur Safin authored
Fixes #8502 Needed for #8490 NO_DOC=bugfix NO_TEST=covered by fuzzing test
-
Mikhail Elhimov authored
NO_DOC=gdb extension NO_TEST=gdb extension NO_CHANGELOG=gdb extension
-
Mikhail Elhimov authored
Closes #8317 NO_DOC=gdb extension NO_TEST=gdb extension NO_CHANGELOG=gdb extension
-
Mikhail Elhimov authored
Rearrange code to simplify support of multiple types of lists NO_DOC=gdb extension NO_TEST=gdb extension NO_CHANGELOG=gdb extension
-
Mikhail Elhimov authored
Follow-up commit 4eb0a0dd ("gdb: check if address refers to symbol with 'info symbol' command"). NO_DOC=gdb extension NO_TEST=gdb extension NO_CHANGELOG=gdb extension
-
Andrey Saranchin authored
Original test was flaky and passed even if the problem was not fixed in Release build and more rarely in Debug. Let's improve this test to be more reliable. Closes tarantool/tarantool-qa#203 NO_CHANGELOG=test NO_DOC=test
-
Nikolay Shirokovskiy authored
Currently test can fail if in developer environment .inputrc is custom. Follow-up #4317 NO_TEST=test fix NO_DOC=test fix NO_CHANGELOG=test fix
-
- Mar 30, 2023
-
-
Nikolay Shirokovskiy authored
Remove parts that used before flightrec reader API is added. - fix test_max_record_size case of prbuf unit test to use reader from file - drop prbuf reader from buffer in memory - drop prbuf Lua FFI interface Follow up: https://github.com/tarantool/tarantool-ee/issues/319 NO_DOC=internal NO_CHANGELOG=internal
-
Nikolay Shirokovskiy authored
Found by EE CI in release asan in flightrec test which uses prbuf. Change prbuf test so that the issue is tested in CE where the prbuf code resides. Follow-up https://github.com/tarantool/tarantool-ee/issues/319 NO_DOC=bug fix NO_CHANGELOG=unreleased bug fix
-