Commit Graph
134 Commits
Author SHA1 Message Date
John Sully 54571108f5 Revert ci.yml to unstable branch version 2022-05-23 14:56:45 -04:00
John Sully dec18fb3a1 Update ci.yml
Change min tested version to 18.04
2022-04-13 13:34:18 -04:00
Vivek Saini b029a10bf7 Updated CI to run rotation test 2022-02-02 17:28:55 -05:00
John Sully aab7bbdf4c Merge branch 'unstable' into keydbpro
Former-commit-id: 14c24ce161ddcbddb701a20062659261397cb0e4
2021-05-29 06:49:05 +00:00
John Sully 7cd60ccf36 Use correct make flags
Former-commit-id: 682990eeb3
2021-05-29 01:07:35 +00:00
John Sully a43a69f47a Merge branch 'unstable' into keydbpro
Former-commit-id: 205d8f18d2bb8df5253bab40578b006b7aa73fd5
2021-05-28 23:32:46 +00:00
John Sully 25f083a1f4 Merge tag '6.2.2' into unstable
Former-commit-id: 93ebb31b17
2021-05-21 05:54:39 +00:00
John Sully f6b81914d8 Merge tag '6.2.1' into unstable
Former-commit-id: bfed57e3e0
2021-05-19 02:59:48 +00:00
sundb 364b7c376d Add run all test support with define REDIS_TEST (#8570)
1. Add `redis-server test all` support to run all tests.
2. Add redis test to daily ci.
3. Add `--accurate` option to run slow tests for more iterations (so that
   by default we run less cycles (shorter time, and less prints).
4. Move dict benchmark to REDIS_TEST.
5. fix some leaks in tests
6. make quicklist tests run on a specific fill set of options rather than huge ranges
7. move some prints in quicklist test outside their loops to reduce prints
8. removing sds.h from dict.c since it is now used in both redis-server and
   redis-cli (uses hiredis sds)
2021-03-10 09:13:11 +02:00
Harkrishn PatroandHarkrishn Patro ee9b7a3431 Run daily workflows only on redis/redis repo. (#8625)
Co-authored-by: Harkrishn Patro <harkrisp@amazon.com>
2021-03-09 12:35:41 +02:00
Yossi Gottlieb a21cfa197a Cleanup usage of malloc_usable_size. (#8554)
* Add better control of malloc_usable_size() usage.
* Use malloc_usable_size on alpine libc daily job.
* Add no-malloc-usable-size daily jobs.
* Fix zmalloc(0) when HAVE_MALLOC_SIZE is undefined.

In order to align with the jemalloc behavior, this should never return
NULL or OOM panic.
2021-02-25 09:24:41 +02:00
Yossi Gottlieb 1cb0f85172 Fix compile errors with no HAVE_MALLOC_SIZE. (#8533)
Also adds a new daily CI test, relying on the fact that we don't use malloc_size() on alpine libmusl.

Fixes #8531
2021-02-23 17:08:49 +02:00
Yossi Gottlieb 665da8a056 Fix failed tests on Linux Alpine and add a CI job. (#8532)
* Remove linux/version.h dependency.

This introduces unnecessary dependencies, and generally not a good idea
as the platform we build on may be different than the platform we run
on.

To determine if sync_file_range exists we can simply rely on header file
hints.

* Fix setproctitle() on libmusl.

The previous ifdef checks were a bit too strict for no apparent
reason.

* Fix tests failure on Linux with no backtrace.

* Add alpine daily CI job.
2021-02-23 12:57:45 +02:00
filipe oliveira 00565c7b38 Removed time sensitive checks from block on background tests. Fixed uninitialized variable (#8479)
- removes time sensitive checks from block on background tests during leak checks.
- fix uninitialized variable on RedisModuleBlockedClient() when calling
  RM_BlockedClientMeasureTimeEnd() without RM_BlockedClientMeasureTimeStart()
2021-02-10 08:59:07 +02:00
John Sully 2780384c2b Merge branch 'unstable' into keydbpro
Former-commit-id: e2140793f2bf565972ada799af73bf4457e2718d
2021-02-08 18:17:09 +00:00
Oran Agra cd99db31f1 Update CI on Ubuntu to tcl8.6 (since 20.04 is now used) (#8460)
Github started shifting some repositoreis to use ubuntu 20.04 by default
tcl8.5 is missing in these, but 8.6 exists in both 20.04 and 18.04
2021-02-07 15:41:49 +02:00
Yossi Gottlieb b07ddb2c04 Add --dump-logs tests option. (#8459)
Dump the entire server log if a test failed, to easy troubleshooting
with no access to log files.
2021-02-07 12:37:24 +02:00
christianEQ 0c94c81a5e Merge remote-tracking branch 'opensource/unstable' into keydbpro
Former-commit-id: 5bad058733de2c217340bb9ee48f02b07d754808
2021-02-03 18:10:27 +00:00
Yossi Gottlieb 9b564e6bc0 Fix FreeBSD tests and CI Daily issues. (#8438)
* Add bash temporarily to allow sentinel fd leaks test to run.
* Use vmactions-freebsd rdist sync to work around bind permission denied
  and slow execution issues.
* Upgrade to tcl8.6 to be aligned with latest Ubuntu envs.
* Concat all command executions to avoid ignoring failures.
* Skip intensive fuzzer on FreeBSD. For some yet unknown reason, generate_fuzzy_traffic_on_key causes TCL to significantly bloat on FreeBSD resulting with out of memory.
2021-02-03 17:35:28 +02:00
John Sully c85399eaaf Fix CI failure due to missing package
Former-commit-id: e46fec51c7033613339e2b5e46048bee1d75bd62
2021-01-31 02:36:30 +00:00
christianEQ 3a13377335 Merge tag 'tags/6.0.10' into redismerge_2021-01-20
Former-commit-id: 3cdace182152727b2b19362072ab5f6ad55e2cd5
2021-01-26 21:43:09 +00:00
Guy KorlandandOran Agra 4ac682da27 Add CI for FreeBSD (#8292)
Co-authored-by: Oran Agra <oran@redislabs.com>
2021-01-20 14:07:09 +02:00
Yossi Gottlieb e4d0ba933d Add io-thread daily CI tests. (#8232)
This adds basic coverage to IO threads by running the cluster and few selected Redis test suite tests with the IO threads enabled.

Also provides some necessary additional improvements to the test suite:

* Add --config to sentinel/cluster tests for arbitrary configuration.
* Fix --tags whitelisting which was broken.
* Add a `network` tag to some tests that are more network intensive. This is work in progress and more tests should be properly tagged in the future.
2021-01-17 15:48:48 +02:00
John Sully 32304c5425 Merge branch 'unstable' into keydbpro
Former-commit-id: b7a1e16c0f04e8aeb3764e3681fa14fc0f97f6a3
2020-12-10 02:37:28 +00:00
Yossi Gottlieb c0a47bbc6d Remove end-of-life CentOS 6 workflows. (#8121) 2020-12-02 13:47:25 +02:00
Yossi Gottlieb deaa71637a Add a --no-latency tests flag. (#7939)
Useful for running tests on systems which may be way slower than usual.

(cherry picked from commit be43c030df)
2020-10-27 09:12:01 +02:00
Oran Agra 7ab8961c6d fix recently broken TLS build error, and add coverage for CI (#7833)
(cherry picked from commit 270fcb80bf)
2020-10-27 09:12:01 +02:00
Oran Agra 5097434dee Fix failing valgrind installation in github actions (#7792)
These tests started failing every day on http 404 (not being able to
install valgrind)

(cherry picked from commit 9428c1a591)
2020-10-27 09:12:01 +02:00
Madelyn Olson b9a519190d Only supress implitic fallthrough on GCC 7 2020-10-26 21:46:50 -07:00
Madelyn Olson a70126168b Update CI so that warnings cause build failures 2020-10-26 21:46:50 -07:00
Yossi Gottlieb be43c030df Add a --no-latency tests flag. (#7939)
Useful for running tests on systems which may be way slower than usual.
2020-10-22 11:10:53 +03:00
John Sully 12f40f1be5 Merge tag '6.0.8' into unstable
Former-commit-id: 137a30a99134e8655d36e7e5f462219cee68680c
2020-09-30 19:47:55 +00:00
John Sully 4e24db3b4f Merge branch 'unstable' into keydbpro
Former-commit-id: d1986d9fcdfd56f2c30ee95edef6d5260e0aa777
2020-09-24 22:02:30 +00:00
Oran Agra 270fcb80bf fix recently broken TLS build error, and add coverage for CI (#7833) 2020-09-23 11:30:24 +03:00
John Sully 5173e88d36 Fix CI failure due to apt host changes
Former-commit-id: 2a41c6c5a4a015ecd09c005cadca68cb069eab54
2020-09-19 21:49:59 +00:00
Wang Yuan 6918ebc92a Implement redisAtomic to replace _Atomic C11 builtin (#7707)
Redis 6.0 introduces I/O threads, it is so cool and efficient, we use C11
_Atomic to establish inter-thread synchronization without mutex. But the
compiler that must supports C11 _Atomic can compile redis code, that brings a
lot of inconvenience since some common platforms can't support by default such
as CentOS7, so we want to implement redis atomic type to make it more portable.

We have implemented our atomic variable for redis that only has 'relaxed'
operations in src/atomicvar.h, so we implement some operations with
'sequentially-consistent', just like the default behavior of C11 _Atomic that
can establish inter-thread synchronization. And we replace all uses of C11
_Atomic with redis atomic variable.

Our implementation of redis atomic variable uses C11 _Atomic, __atomic or
__sync macros if available, it supports most common platforms, and we will
detect automatically which feature we use. In Makefile we use a dummy file to
detect if the compiler supports C11 _Atomic. Now for gcc, we can compile redis
code theoretically if your gcc version is not less than 4.1.2(starts to support
__sync_xxx operations). Otherwise, we remove use mutex fallback to implement
redis atomic variable for performance and test. You will get compiling errors
if your compiler doesn't support all features of above.

For cover redis atomic variable tests, we add other CI jobs that build redis on
CentOS6 and CentOS7 and workflow daily jobs that run the tests on them.
For them, we just install gcc by default in order to cover different compiler
versions, gcc is 4.4.7 by default installation on CentOS6 and 4.8.5 on CentOS7.

We restore the feature that we can test redis with Helgrind to find data race
errors. But you need install Valgrind in the default path configuration firstly
before running your tests, since we use macros in helgrind.h to tell Helgrind
inter-thread happens-before relationship explicitly for avoiding false positives.
Please open an issue on github if you find data race errors relate to this commit.

Unrelated:
- Fix redefinition of typedef 'RedisModuleUserChangedFunc'
  For some old version compilers, they will report errors or warnings, if we
  re-define function type.
2020-09-17 16:01:45 +03:00
John Sully 8466136c13 Update endurance test for ubuntu 20
Former-commit-id: d4b0def50606ba6f3fc61cc205563502ae82d68c
2020-09-17 02:10:18 +00:00
Oran Agra 9428c1a591 Fix failing valgrind installation in github actions (#7792)
These tests started failing every day on http 404 (not being able to
install valgrind)
2020-09-13 13:51:21 +03:00
Oran Agra 25efadabbe Add daily CI for MacOS (#7759)
(cherry picked from commit 1701f23b1f)
2020-09-10 14:09:00 +03:00
Oran Agra 1701f23b1f Add daily CI for MacOS (#7759) 2020-09-08 10:59:25 +03:00
Yossi Gottlieb 3ed7d0af20 TLS: relax verification on CONFIG SET. (#7665)
Avoid re-configuring (and validating) SSL/TLS configuration on `CONFIG
SET` when TLS is not actively enabled for incoming connections, cluster
bus or replication.

This fixes failures when tests run without `--tls` on binaries that were
built with TLS support.

An additional benefit is that it's now possible to perform a multi-step
configuration process while TLS is disabled. The new configuration will
be verified and applied only when TLS is effectively enabled.

(cherry picked from commit 24efd22e89)
2020-09-01 09:27:58 +03:00
Yossi Gottlieb 9c7c0c511a Run daily workflow on main repo only (no forks). (#7646)
(cherry picked from commit b8f0c2de4a)
2020-09-01 09:27:58 +03:00
Yossi Gottlieb dd94ca7295 Fix test-centos7-tls daily job. (#7598)
(cherry picked from commit e97cec2f28)
2020-09-01 09:27:58 +03:00
Yossi Gottlieb 0dbf112caf CI: Add daily CentOS 7.x jobs. (#7582)
(cherry picked from commit 92e089b1ab)
2020-09-01 09:27:58 +03:00
Oran Agra d2ef4c0347 Daily github action: run cluster and sentinel tests with tls (#7575)
(cherry picked from commit 62e84b42d2)
2020-09-01 09:27:58 +03:00
Scott Brenner 925f1ce51e GitHub Actions workflows - use latest version of actions/checkout (#7534)
(cherry picked from commit c7644eda71)
2020-09-01 09:27:58 +03:00
Yossi Gottlieb 24efd22e89 TLS: relax verification on CONFIG SET. (#7665)
Avoid re-configuring (and validating) SSL/TLS configuration on `CONFIG
SET` when TLS is not actively enabled for incoming connections, cluster
bus or replication.

This fixes failures when tests run without `--tls` on binaries that were
built with TLS support.

An additional benefit is that it's now possible to perform a multi-step
configuration process while TLS is disabled. The new configuration will
be verified and applied only when TLS is effectively enabled.
2020-08-17 17:36:50 +03:00
Yossi Gottlieb b8f0c2de4a Run daily workflow on main repo only (no forks). (#7646) 2020-08-11 10:59:47 +03:00
Yossi Gottlieb e97cec2f28 Fix test-centos7-tls daily job. (#7598) 2020-07-31 13:55:57 +03:00
Yossi Gottlieb 92e089b1ab CI: Add daily CentOS 7.x jobs. (#7582) 2020-07-30 13:25:10 +03:00