From 179e8280a809b95c3138d4a76267d573262daead Mon Sep 17 00:00:00 2001 From: Jeroen van der Heijden Date: Mon, 19 Oct 2020 14:18:07 +0200 Subject: [PATCH] Fixed docker test, safer add points call, update test select --- include/siri/version.h | 4 ++-- itest/Dockerfile | 3 +++ itest/requirements.txt | 1 + itest/test_select.py | 17 ++++++++++------- src/siri/db/points.c | 19 ++++++++++--------- 5 files changed, 26 insertions(+), 18 deletions(-) diff --git a/include/siri/version.h b/include/siri/version.h index 0687728b..37584078 100644 --- a/include/siri/version.h +++ b/include/siri/version.h @@ -6,7 +6,7 @@ #define SIRIDB_VERSION_MAJOR 2 #define SIRIDB_VERSION_MINOR 0 -#define SIRIDB_VERSION_PATCH 40 +#define SIRIDB_VERSION_PATCH 41 /* * Use SIRIDB_VERSION_PRE_RELEASE for alpha release versions. @@ -15,7 +15,7 @@ * Note that debian alpha packages should use versions like this: * 2.0.34-0alpha0 */ -#define SIRIDB_VERSION_PRE_RELEASE "" +#define SIRIDB_VERSION_PRE_RELEASE "-alpha-0" #ifndef NDEBUG #define SIRIDB_VERSION_BUILD_RELEASE "+debug" diff --git a/itest/Dockerfile b/itest/Dockerfile index 0c13d999..688cfa02 100644 --- a/itest/Dockerfile +++ b/itest/Dockerfile @@ -27,6 +27,9 @@ RUN apt-get update && \ COPY --from=builder ./Release/siridb-server /Release/siridb-server COPY --from=builder /usr/lib/x86_64-linux-gnu/libcleri* /usr/lib/x86_64-linux-gnu/ COPY ./itest/ /itest/ +COPY ./help/ /help/ +COPY ./grammar/grammar.py /grammar/grammar.py +COPY ./grammar/siridbhelp.py /grammar/siridbhelp.py WORKDIR /itest RUN pip install -r requirements.txt CMD [ "python", "run_all.py", "-m", "-b=Release" ] diff --git a/itest/requirements.txt b/itest/requirements.txt index cb2da8ef..fb2fc0c2 100644 --- a/itest/requirements.txt +++ b/itest/requirements.txt @@ -1,3 +1,4 @@ siridb-connector psutil requests +pyleri diff --git a/itest/test_select.py b/itest/test_select.py index 130f464f..275953b4 100644 --- a/itest/test_select.py +++ b/itest/test_select.py @@ -24,31 +24,31 @@ from testing import parse_args LENPOINTS = 70 DATA = { 'series-001 float': [ - [1471254705, 1.5], [1471254707, -3.5], + [1471254705, 1.5], [1471254710, -7.3]], 'series-001 integer': [ [1471254705, 5], - [1471254708, -3], - [1471254710, -7]], + [1471254710, -7], + [1471254708, -3]], 'series-002 float': [ + [1471254710, -8.3], [1471254705, 3.5], - [1471254707, -2.5], - [1471254710, -8.3]], + [1471254707, -2.5]], 'series-002 integer': [ [1471254705, 4], [1471254708, -1], [1471254710, -8]], 'aggr': [ + [1447250868, 530], [1447251168, 520], [1447249033, 531], [1447249337, 534], [1447249633, 535], [1447249937, 531], [1447250249, 532], [1447250549, 537], - [1447250868, 530], [1447251168, 520], [1447251449, 54], [1447251749, 54], [1447252049, 513], [1447252349, 537], - [1447252649, 528], [1447252968, 531], [1447253244, 533], [1447253549, 538], [1447253849, 534], [1447254149, 532], + [1447252649, 528], [1447252968, 531], [1447254449, 533], [1447254748, 537]], 'huge': [ [1471254705, 9223372036854775807], @@ -105,6 +105,9 @@ class TestSelect(TestBase): {'success_msg': 'Successfully inserted {} point(s).'.format( LENPOINTS)}) + for name in DATA: + DATA[name] = sorted(DATA[name]) + self.assertEqual( await self.client0.query( 'select difference() from "series-001 integer"'), diff --git a/src/siri/db/points.c b/src/siri/db/points.c index 6a2ecc0d..96ad0e64 100644 --- a/src/siri/db/points.c +++ b/src/siri/db/points.c @@ -171,17 +171,18 @@ void siridb_points_add_point( uint64_t * ts, qp_via_t * val) { - size_t i; - siridb_point_t * point; - - for ( i = points->len; - i-- > 0 && (points->data + i)->ts > *ts; - *(points->data + i + 1) = *(points->data + i)); - - points->len++; + siridb_point_t * first = points->data; + siridb_point_t * point = points->data + points->len; + siridb_point_t * prev = point - 1; - point = points->data + i + 1; + while (prev >= first && prev->ts > *ts) + { + *point = *prev; + --point; + --prev; + } + ++points->len; point->ts = *ts; point->val = *val; } -- 2.30.2