From bf72ab863a86eb0e0050aac4f6925413ac6fcbb9 Mon Sep 17 00:00:00 2001 From: Willi Goesgens Date: Wed, 17 Sep 2014 11:05:07 +0200 Subject: [PATCH] Add possibility to reset the test case before re-executing more tests --- js/server/modules/org/arangodb/aql-helper.js | 21 ++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/js/server/modules/org/arangodb/aql-helper.js b/js/server/modules/org/arangodb/aql-helper.js index 60b8cdf809..14024dba43 100644 --- a/js/server/modules/org/arangodb/aql-helper.js +++ b/js/server/modules/org/arangodb/aql-helper.js @@ -477,14 +477,19 @@ function findReferencedNodes(plan, testNode) { return matches; } -function getQueryMultiplePlansAndExecutions (query, bindVars, debug) { +function getQueryMultiplePlansAndExecutions (query, bindVars, testObject, debug) { var i; var plans = []; var allPlans = []; var results = []; + var resetTest = false; var paramNone = { optimizer: { rules: [ "-all" ]}, verbosePlans: true}; var paramAllPlans = { allPlans : true, verbosePlans: true}; + if (testObject !== undefined) { + resetTest = true; + } + if (debug === undefined) { debug = false; } @@ -514,9 +519,21 @@ function getQueryMultiplePlansAndExecutions (query, bindVars, debug) { if (debug) { require("internal").print("Executing Plan No: " + i + "\n"); } + if (resetTest) { + if (debug) { + require("internal").print("\nFLUSHING\n"); + } + testObject.tearDown(); + testObject.setUp(); + if (debug) { + require("internal").print("\n" + i + " FLUSH DONE\n"); + } + } + results[i] = AQL_EXECUTEJSON(plans[i].plan, paramNone); + if (debug) { - require("internal").print("\nDONE\n"); + require("internal").print("\n" + i + " DONE\n"); } }