Proper test suite for OQGRAPH

Bug #459714 reported by Arjen Lentz
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
MariaDB
Confirmed
High
Arjen Lentz
OQGRAPH
High
OQgraph developers

Bug Description

Given that OQGRAPH is not a 'normal' general purpose storage engine, we can't simply derive a test suite from existing ones.
However, we would like to test all aspects of the engine, including interaction in complex join constructs and replication.

Perhaps some basics can be adapted from existing tests, the rest will have to be new.
This will probably be a step-wise and ongoing thing. If you can help, please do!

What we need: (based on feedback from Philip Stoev)
* a complete MTR test suite that covers at least the following:
- INSERTS, especially with weight and those that will be rejected by the engine;
- the SELECT statements that are accepted by the engine, as described in the manual, including those with latch=0 or latch = NULL;
- the DML/DDL/ALTER statements that are and are not accepted by the engine, so that all the engine capabilities the handler advertises and all the API calls are exercised;
- a dataset that is sized appropriately for MTR execution (10K nodes?). Either in the form of INSERT statements or a stored procedure, plus some SELECT queries on top of that dataset;

Changed in oqgraph:
status: Confirmed → In Progress
Revision history for this message
Arjen Lentz (arjen-lentz) wrote :

Basic testsuite in place (as part of the env for MariaDB), will merge back shortly.

Changed in oqgraph:
status: In Progress → Fix Committed
assignee: nobody → Arjen Lentz (arjen-lentz)
Changed in maria:
status: New → Confirmed
assignee: nobody → Arjen Lentz (arjen-lentz)
importance: Undecided → High
milestone: none → 5.2
Revision history for this message
Arjen Lentz (arjen-lentz) wrote :

Created two simple data generators:
 - examples/randoms/randtree which can create a simple unidirectional tree structure (like a menu tree)
 - examples/randoms/randsocial can create a social network with friends/weight and fans
both can be specific at arbitrary size, with variable # of friends and fans, and random weight within a range.
This should enable more stringent testing of some aspects.

description: updated
Revision history for this message
Arjen Lentz (arjen-lentz) wrote :

Existing testsuite adapted for v3 engine (basic modified, binlog removed as no longer relevant)
New checks for CREATE/ALTER TABLE added (create_attr) including some appropriate rejection scenarios.

Looking at best approach to include a suitable bigger dataset in the testsuite.

Changed in oqgraph:
assignee: Arjen Lentz (arjen-lentz) → OQgraph developers (oqgraph-dev)
importance: Wishlist → High
status: Fix Committed → In Progress
Changed in maria:
milestone: 5.2 → none
Revision history for this message
Andrew McDonnell (andymc73) wrote :

I have extended the coverage of basic.test and added a separate file for edge cases.

http://bazaar.launchpad.net/~andymc73/oqgraph/10.0-oqgraph3-varchar/revision/3656

Revision history for this message
Andrew McDonnell (andymc73) wrote :

I'm going to resolve this. We now test on MyISAM, Innodb and ariadb, so other backing engines can have specific bugs if needed.
Same for other coverage.

Changed in oqgraph:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers