arangodb / rta-makedata

Apache License 2.0
1 stars 2 forks source link

makedata / checkdata framework

Makedata is ran inside arangosh. It was made to be user-expandeable by hooking in on test cases. It consists of these files in test_data:

It should be considered to provide a set of hooks (000_dummy.js can be considered being a template for this):

The hook functions should respect their counter parameters, and use them in their respective reseource names. Jslint should be used to check code validity.

The list of the hooks enabled for this very run of one of the tools is printed on startup for reference.

Makedata should be considered a framework for consistency checking in the following situations:

The replication fuzzing test should be used to ensure the above with randomness added.

Makedata is by default ran with one dataset. However, it can also be used as load generator. For this case especialy, the counters have to be respected, so subsequent runs don't clash with earlier runs. The provided dbCount / loopCount should be used in identifiers to ensure this.

To Aid development, the makedata framework can be launched from within the arangodb unittests, if this repository is checked out next to it:

./scripts/unittest rta_makedata --extremeVerbosity true --cluster true --makedata_args:bigDoc true

If you want to filter for the scripts you can specify a coma separated list:

./scripts/unittest rta_makedata --extremeVerbosity true --cluster true --makedata_args:bigDoc true --test '010,020,050'

test output

It should be obvious whether a test is run in a scenario or not. Hence the list of executed tests is output:

.------------------------------------------------.
| DB | loop |              testname              |
|----|------|------------------------------------|
|  X |  X   | 000_dummy.js                       |
|    |      | 005_check_system_collection.js     |
|  X |      | 020_foxx.js                        |
|    |  X   | 100_collections.js                 |
'------------------------------------------------'

with the following meanings:

Embeddings

RTA Makedata is embedded into arangodb and RTA; Hence a PR on RTA Makedata has to be sidelined by two PRs.