diff --git a/js/common/bootstrap/module-internal.js b/js/common/bootstrap/module-internal.js index 64107d0023..cc216c9977 100644 --- a/js/common/bootstrap/module-internal.js +++ b/js/common/bootstrap/module-internal.js @@ -14,7 +14,7 @@ COLOR_OUTPUT_RESET, COLOR_BRIGHT, COLOR_BLACK, COLOR_BOLD_BLACK, COLOR_BLINK, COLOR_BLUE, COLOR_BOLD_BLUE, COLOR_BOLD_GREEN, COLOR_RED, COLOR_BOLD_RED, COLOR_GREEN, COLOR_WHITE, COLOR_BOLD_WHITE, COLOR_YELLOW, COLOR_BOLD_YELLOW, COLOR_CYAN, COLOR_BOLD_CYAN, COLOR_MAGENTA, - COLOR_BOLD_MAGENTA, PRETTY_PRINT, VALGRIND, VERSION, + COLOR_BOLD_MAGENTA, PRETTY_PRINT, VALGRIND, COVERAGE, VERSION, BYTES_SENT_DISTRIBUTION, BYTES_RECEIVED_DISTRIBUTION, CONNECTION_TIME_DISTRIBUTION, REQUEST_TIME_DISTRIBUTION, THREAD_NUMBER, LOGFILE_PATH, SYS_PLATFORM, SYS_EXECUTE_EXTERNAL, SYS_STATUS_EXTERNAL, SYS_EXECUTE_EXTERNAL_AND_WAIT, @@ -164,6 +164,17 @@ delete VALGRIND; } +//////////////////////////////////////////////////////////////////////////////// +/// @brief valgrind +//////////////////////////////////////////////////////////////////////////////// + + exports.coverage = false; + + if (typeof COVERAGE !== "undefined") { + exports.coverage = COVERAGE; + delete COVERAGE; + } + //////////////////////////////////////////////////////////////////////////////// /// @brief version //////////////////////////////////////////////////////////////////////////////// diff --git a/js/server/modules/org/arangodb/cluster.js b/js/server/modules/org/arangodb/cluster.js index b5a2853b95..2a9ca04c6e 100644 --- a/js/server/modules/org/arangodb/cluster.js +++ b/js/server/modules/org/arangodb/cluster.js @@ -175,6 +175,10 @@ function writeLocked (lockInfo, cb, args) { if (ttl === undefined) { ttl = 10; } + if (require("internal").coverage) { + ttl *= 10; + timeout *= 10; + } ArangoAgency.lockWrite(lockInfo.part, ttl, timeout); diff --git a/lib/V8/v8-utils.cpp b/lib/V8/v8-utils.cpp index 82c9fe3ade..e67a28c163 100644 --- a/lib/V8/v8-utils.cpp +++ b/lib/V8/v8-utils.cpp @@ -4209,6 +4209,11 @@ void TRI_InitV8Utils (v8::Isolate* isolate, TRI_AddGlobalVariableVocbase(isolate, context, TRI_V8_ASCII_STRING("STARTUP_PATH"), TRI_V8_STD_STRING(startupPath)); TRI_AddGlobalVariableVocbase(isolate, context, TRI_V8_ASCII_STRING("PATH_SEPARATOR"), TRI_V8_ASCII_STRING(TRI_DIR_SEPARATOR_STR)); TRI_AddGlobalVariableVocbase(isolate, context, TRI_V8_ASCII_STRING("VALGRIND"), RUNNING_ON_VALGRIND > 0 ? v8::True(isolate) : v8::False(isolate)); +#ifdef COVERAGE + TRI_AddGlobalVariableVocbase(isolate, context, TRI_V8_ASCII_STRING("COVERAGE"), v8::True(isolate)); +#else + TRI_AddGlobalVariableVocbase(isolate, context, TRI_V8_ASCII_STRING("COVERAGE"), v8::False(isolate)); +#endif TRI_AddGlobalVariableVocbase(isolate, context, TRI_V8_ASCII_STRING("VERSION"), TRI_V8_ASCII_STRING(TRI_VERSION)); TRI_AddGlobalVariableVocbase(isolate, context, TRI_V8_ASCII_STRING("CONNECTION_TIME_DISTRIBUTION"), DistributionList(isolate, TRI_ConnectionTimeDistributionVectorStatistics));