Commit Graph

51 Commits

Author SHA1 Message Date
Marko Budiselić
afbf672915 Add end2end replication tests based on mgclient (#69)
* Remove old HA benchmark and integration tests
2021-01-21 15:56:21 +01:00
Matej Ferencevic
4c0fc11f69
Initial implementation of mgbench benchmarks (#4) 2020-09-22 18:55:28 +02:00
Matej Ferencevic
6c422f3208 Remove global include directories in CMake
Summary:
All external libraries now automatically include their include directories. It
is necessary only to link to the external library using
`target_link_libraries(target library)` and the include directory of the
library will be automatically available for the binary.

Reviewers: teon.banek

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D2654
2020-02-03 13:18:30 +01:00
Matej Ferencevic
04fea56e91 Remove test_results directory from build
Reviewers: teon.banek

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1987
2019-04-25 17:20:02 +02:00
Matija Santl
57b84f2da3 Add kafka benchmark
Summary:
In order to add kafka benchmark, `memgraph_bolt.cpp` has been split.
Now we have `memgraph_init.cpp/hpp` files with common memgraph startup code.
Kafka benchmark implements a new `main` function that doesn't start a bolt
server, it just creates and starts a stream. Then it waits for the stream to
start consuming and measures the time it took to import the given number of
entries.

This benchmark is in a new folder, `feature_benchmark`, and so should any new
bechmark that measures performance of memgraphs features.

Reviewers: mferencevic, teon.banek, ipaljak, vkasljevic

Reviewed By: mferencevic, teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1552
2018-08-29 16:35:31 +02:00
Teon Banek
8d934ed801 Remove raft from the codebase
Summary:
The raft implementation has been stale for a while now. It doesn't
compile, nor uses Cap'n Proto for serialization. In the future we would
probably rewrite it, so it doesn't need to be part of the repo at this
moment.

Reviewers: mferencevic, mtomic, buda

Reviewed By: mferencevic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1513
2018-07-30 14:14:10 +02:00
Matej Ferencevic
44821a918c Initial implementation of telemetry
Summary:
Add telemetry to main memgraph binary

Add resource usage collector

Add telemetry flag

Change telemetry collector logic

Fix utils compilation

Add timestamp

Add first version of interactive test

Started working on test runner

Implement all tests

Flake8 on runner.py

Integrate test with Apollo

Add TODO

Reviewers: buda, teon.banek

Reviewed By: buda, teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1419
2018-06-20 14:49:07 +02:00
Teon Banek
a166c613ec Inline test data in the benchmark tests itself
Summary:
The directory was never actually copied on apollo, so tests weren't even
doing anything...

Also remove fswatcher unit test, it should be rewritten correctly.

Reviewers: mislav.bradac, mferencevic, buda

Reviewed By: mferencevic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1108
2018-01-15 16:12:30 +01:00
Marko Culinovic
7a06040a76 Setup RAFT test infrastructure
Summary:
`JailService` exposes jail API and knows how to
start and stop binaries. Every test should be
defined as python module with exposed
`run` method. Script `master.py` is used
for running tests and takes test module
name as argument. Machine IP addresses are
defined in environment variables. To run test
locally use `local_runner` script.

Reviewers: mislav.bradac, mferencevic, mtomic

Reviewed By: mferencevic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1065
2018-01-05 09:59:42 +01:00
Teon Banek
06b0111ddc Remove unused stuff from CMakeLists
Summary: In the process, make experimental/distributed compilable.

Reviewers: mislav.bradac, buda, mferencevic

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D906
2017-10-16 13:45:18 +02:00
Teon Banek
4c25123d83 Make docker installation equivalent to regular install
Summary:
This puts the whole installation and packaging under a single point of
entry. (Docker, DEB, RPM, etc.)

Rename alpha.dockerfile to beta.dockerfile
Use Debian Stretch for docker
Remove building old hardcoded compiler
Rename build_interpreter to build_memgraph
Remove unused config-file

Reviewers: mferencevic, buda

Reviewed By: mferencevic, buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D857
2017-10-06 13:23:34 +02:00
Teon Banek
0c186fe76f Add convenience functions and a macro to libs/CMakeLists.txt
Summary:
Add json and cppitertools to libs/CMakeLists.txt.
Import external projects as libraries.
This removes the need to use `add_dependencies` in order to link with
external project.
Extract common ExternalProject_Add function.
Add macro for easier addition of external libraries.

Reviewers: mislav.bradac, mferencevic

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D845
2017-10-03 14:28:16 +02:00
Teon Banek
e70f4de208 Make almost all libs external
Summary:
Make 'benchmark' external project
Make 'fmt' external project
Make 'gtest' external project
Make 'gflags' external project
Skip fmt tests

Reviewers: mferencevic, mislav.bradac, buda

Reviewed By: mferencevic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D837
2017-09-27 13:46:33 +02:00
Teon Banek
9d4ae833cc Setup basic installation for CPackDeb
Summary:
Remove traces of plan_compiler in cmake.
Add memgraph executable to install target.
Fix indentation in tests/CMakeLists.txt.
Install alpha.conf to /etc/memgraph/config.
Rename executable to 'memgraph' and install /var dirs.

Reviewers: mferencevic, buda

Reviewed By: mferencevic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D829
2017-09-26 14:54:13 +02:00
florijan
d9503d6b65 Flags cleanup and QueryEngine removal
Summary:
I started with cleaning flags up (removing unused ones, documenting undocumented ones). There were some flags to remove in `QueryEngine`. Seeing how we never use hardcoded queries (AFAIK last Mislav's testing also indicated they aren't faster then interpretation), when removing those unused flags the `QueryEngine` becomes obsolete. That means that a bunch of other stuff becomes obsolete, along with the hardcoded queries. So I removed it all (this has been discussed and approved on the daily).

Some flags that were previously undocumented in `docs/user_technical/installation` are now documented. The following flags are NOT documented and in my opinion should not be displayed when starting `./memgraph --help` (@mferencevic):
```
query_vertex_count_to_expand_existsing (from rule_based_planner.cpp)
query_max_plans (rule_based_planner.cpp)
```

If you think that another organization is needed w.r.t. flag visibility, comment.

@teon.banek: I had to remove some stuff from CMakeLists to make it buildable. Please review what I removed and clean up if necessary if/when this lands. If the needed changes are minor, you can also comment.

Reviewers: buda, mislav.bradac, teon.banek, mferencevic

Reviewed By: buda, mislav.bradac

Subscribers: pullbot, mferencevic, teon.banek

Differential Revision: https://phabricator.memgraph.io/D825
2017-09-22 17:03:45 +02:00
Matej Ferencevic
2603209849 Replaced Python long running test with C++ version
Reviewers: buda, mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D802
2017-09-18 15:06:22 +02:00
Matej Ferencevic
0914c5a941 Migrate harness to use our bolt client
Reviewers: mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D711
2017-08-25 11:10:15 +02:00
Mislav Bradac
99fffc23f7 Change FILE COPY to configure_file COPYONLY
Summary:
FILE COPY copies files only in configuration stage, configure_file
copies files in make stage if file has changed.

Reviewers: buda, teon.banek

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D531
2017-07-10 16:26:30 +02:00
Mislav Bradac
0588de76bb Move unused datastructures to poc
Reviewers: buda

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D526
2017-07-10 12:03:11 +02:00
matej.gradicek
818ac3b731 Added rapidcheck
Reviewers: buda, teon.banek

Reviewed By: buda, teon.banek

Subscribers: lion, pullbot

Differential Revision: https://phabricator.memgraph.io/D509
2017-06-30 16:26:21 +02:00
Marko Budiselic
6fe9da2578 gbenchmark reports are generated inside build/test_results/benchmark 2016-12-23 09:58:26 +01:00
Marko Budiselic
f91dcda97b unit test normalization 2016-12-22 19:22:45 +01:00
Marko Budiselic
948694fd27 tests data bug fix - too many copies of tests/data 2016-12-18 10:16:07 +01:00
Marko Budiselic
f4455daeb2 CMake refactor done - added single test granularity. Fixes T190, T194 2016-12-17 21:00:32 +01:00
Marko Budiselic
d158333335 Added memgraph prefix. Fixes T160
Summary: Added memgraph prefix. Fixes T160

Test Plan: manual

Reviewers: sale

Subscribers: sale, buda

Maniphest Tasks: T160

Differential Revision: https://memgraph.phacility.com/D18
2016-12-16 14:05:29 +01:00
Marko Budiselic
1613d813c5 The integration tests are fixed. Fixes T161 2016-12-14 12:32:56 +01:00
Marko Budiselic
21788d003a Dressipi CRUD queries are dummy implemented; Fixes T99 and T131
Summary: Dressipi CRUD queries are dummy implemented; Fixes T99 and T131

Test Plan: manual

Reviewers: sale

Subscribers: buda, sale

Maniphest Tasks: T131, T99

Differential Revision: https://memgraph.phacility.com/D9
2016-11-29 04:08:49 +01:00
Marko Budiselic
afc0a4a176 better architecture for hardcoded test queries (still has to be polished) 2016-11-17 15:46:36 +01:00
Marko Budiselic
c312c2e369 iterators, properties, search by properties in index hardcoded query; TODO: implement in compiler 2016-10-19 02:41:06 +02:00
Kruno Tomola Fabro
c75382cb02 Tmp commit. 2016-09-14 12:19:56 +01:00
Kruno Tomola Fabro
16868afb72 Added 3 tests for snapshot. 2016-09-09 20:44:34 +01:00
Kruno Tomola Fabro
e1e7f3759d Decreased footprint of union in StoredProperty. 2016-09-06 12:13:08 +01:00
Kruno Tomola Fabro
2ab3600117 Added partial test for cleaner. 2016-08-30 23:07:42 +01:00
Marko Budiselic
32ca896425 merge with dev 2016-08-30 05:34:08 +01:00
Marko Budiselic
93b174afd7 First integration almost done. BOLT still doesn't work as expected, problem is only serialization order. 2016-08-11 04:47:30 +01:00
Marko Budiselic
84e69bb1d3 fmt wrapper + proof of concept folder 2016-08-08 09:32:34 +01:00
Marko Budiselic
f05c1f6dab CRU operations are fully supported, D (delete) is missing 2016-08-02 15:41:53 +01:00
Marko Budiselic
356e9444ec A lot of work on query_engine. Still in progress! 2016-07-24 03:47:48 +01:00
Marko Budiselic
8a3aee1ba6 cypher parser is extended again (find by internal_id ID(n)=internal_id) 2016-07-11 20:10:53 +01:00
Marko Budiselic
c8440b4671 tests/manual/query_engine.cpp work in compiler in progress 2016-07-11 02:39:33 +01:00
Marko Budiselic
84db4b6657 cypher parser update 2016-07-09 19:05:02 +01:00
Marko Budiselic
b538fb041c first integration test (basic set of queries is tested) 2016-07-07 01:58:26 +01:00
Marko Budiselic
b94cae12d1 some new header + source files (vertices, vertex_accessor, properties), first version of Index works, skiplist<T> + concurrent_set + concurrent_map (still has to be finished) 2016-07-05 04:01:22 +01:00
Marko Budiselic
5110cde698 query engine code, labels (unfinished), TODO: query engine module system 2016-07-01 22:05:03 +01:00
Marko Budiselic
b5536d70fa delete accessor from version list + build flow update + memgraph docker file + TODO: debug cypher grammar 2016-06-25 17:26:26 +01:00
Marko Budiselic
425be0acad permanent and runtime assert 2016-06-14 23:06:21 +01:00
Marko Budiselic
c79706c249 concurrent and unit tests, concurrently linked list test (not production ready linked list :)) 2016-06-06 23:57:16 +02:00
Marko Budiselic
4d03dcd545 Number of tests is now 6 2016-06-05 14:30:40 +02:00
Marko Budiselic
14e38ff358 Test infrastructure (ctest) 2016-05-25 00:37:14 +02:00
Marko Budiselic
18838f5318 cypher_quries are moved to the tests folder and another part of CMakeLists file is written 2016-05-23 07:51:36 +02:00