summaryrefslogtreecommitdiff
path: root/src/intset.c
diff options
context:
space:
mode:
authorsundb <sundbcn@gmail.com>2021-03-10 15:13:11 +0800
committerGitHub <noreply@github.com>2021-03-10 09:13:11 +0200
commit95d6297db868fc5400fb833c6753c8d25da486c7 (patch)
treeb17d7104207ca020b35e9ffebb09cd5bfe89de37 /src/intset.c
parent53774e69fa68450859a566e84f06d4b8a7a53eca (diff)
downloadredis-95d6297db868fc5400fb833c6753c8d25da486c7.tar.gz
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)
Diffstat (limited to 'src/intset.c')
-rw-r--r--src/intset.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/intset.c b/src/intset.c
index 74de87acb..5498227f4 100644
--- a/src/intset.c
+++ b/src/intset.c
@@ -392,7 +392,7 @@ static void checkConsistency(intset *is) {
}
#define UNUSED(x) (void)(x)
-int intsetTest(int argc, char **argv) {
+int intsetTest(int argc, char **argv, int accurate) {
uint8_t success;
int i;
intset *is;
@@ -400,6 +400,7 @@ int intsetTest(int argc, char **argv) {
UNUSED(argc);
UNUSED(argv);
+ UNUSED(accurate);
printf("Value encodings: "); {
assert(_intsetValueEncoding(-32768) == INTSET_ENC_INT16);
@@ -424,6 +425,7 @@ int intsetTest(int argc, char **argv) {
is = intsetAdd(is,4,&success); assert(success);
is = intsetAdd(is,4,&success); assert(!success);
ok();
+ zfree(is);
}
printf("Large number of random adds: "); {
@@ -436,6 +438,7 @@ int intsetTest(int argc, char **argv) {
assert(intrev32ifbe(is->length) == inserts);
checkConsistency(is);
ok();
+ zfree(is);
}
printf("Upgrade from int16 to int32: "); {
@@ -447,6 +450,7 @@ int intsetTest(int argc, char **argv) {
assert(intsetFind(is,32));
assert(intsetFind(is,65535));
checkConsistency(is);
+ zfree(is);
is = intsetNew();
is = intsetAdd(is,32,NULL);
@@ -457,6 +461,7 @@ int intsetTest(int argc, char **argv) {
assert(intsetFind(is,-65535));
checkConsistency(is);
ok();
+ zfree(is);
}
printf("Upgrade from int16 to int64: "); {
@@ -468,6 +473,7 @@ int intsetTest(int argc, char **argv) {
assert(intsetFind(is,32));
assert(intsetFind(is,4294967295));
checkConsistency(is);
+ zfree(is);
is = intsetNew();
is = intsetAdd(is,32,NULL);
@@ -478,6 +484,7 @@ int intsetTest(int argc, char **argv) {
assert(intsetFind(is,-4294967295));
checkConsistency(is);
ok();
+ zfree(is);
}
printf("Upgrade from int32 to int64: "); {
@@ -489,6 +496,7 @@ int intsetTest(int argc, char **argv) {
assert(intsetFind(is,65535));
assert(intsetFind(is,4294967295));
checkConsistency(is);
+ zfree(is);
is = intsetNew();
is = intsetAdd(is,65535,NULL);
@@ -499,6 +507,7 @@ int intsetTest(int argc, char **argv) {
assert(intsetFind(is,-4294967295));
checkConsistency(is);
ok();
+ zfree(is);
}
printf("Stress lookups: "); {
@@ -512,6 +521,7 @@ int intsetTest(int argc, char **argv) {
for (i = 0; i < num; i++) intsetSearch(is,rand() % ((1<<bits)-1),NULL);
printf("%ld lookups, %ld element set, %lldusec\n",
num,size,usec()-start);
+ zfree(is);
}
printf("Stress add+delete: "); {
@@ -528,6 +538,7 @@ int intsetTest(int argc, char **argv) {
}
checkConsistency(is);
ok();
+ zfree(is);
}
return 0;