Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -69,3 +69,4 @@ eunit: compile

javascript: compile
@dev/run -q test/javascript/run
@dev/run -n 1 -q test/javascript/run share/www/script/test/users_db_security.js
23 changes: 23 additions & 0 deletions dev/run
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import contextlib
import functools
import glob
import inspect
import json
import optparse
import os
import re
Expand Down Expand Up @@ -230,6 +231,7 @@ def hashify(pwd, salt=COMMON_SALT, iterations=10, keylen=20):
def startup(ctx):
atexit.register(kill_processes, ctx)
boot_nodes(ctx)
reset_nodes_db(ctx, "127.0.0.1")
join_nodes(ctx, "127.0.0.1", 15986)


Expand Down Expand Up @@ -295,6 +297,27 @@ def boot_node(ctx, node):
return sp.Popen(cmd, stdin=sp.PIPE, stdout=log, stderr=sp.STDOUT, env=env)


@log('Reset nodes DB')
def reset_nodes_db(ctx, host):
_, port = get_ports(1)
conn = httpclient.HTTPConnection(host, port)
conn.request('GET', '/nodes/_all_docs')
resp = conn.getresponse()
if not resp.status == 200:
print('Could not read nodes DB documents', resp.reason)
exit(1)
nodes = json.loads(resp.read())['rows']
for node in nodes:
node_id = node['id']
rev = node['value']['rev']
conn = httpclient.HTTPConnection(host, port)
conn.request('DELETE', '/nodes/{0}?rev={1}'.format(node_id, rev))
resp = conn.getresponse()
if not resp.status == 200:
print('Failed to reset nodes DB', resp.reason)
exit(1)


@log('Join nodes into cluster')
def join_nodes(ctx, host, port):
for node in ctx['nodes']:
Expand Down
8 changes: 8 additions & 0 deletions share/www/script/couch_test_runner.js
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,14 @@ function makeDocs(start, end, templateDoc) {
}

function run_on_modified_server(settings, fun) {
// Clone settings so we don't overwrite oldValue when making nested run_on_modified_server calls
var settings = settings.map(function(s) {
return {
section: s.section,
key: s.key,
value: s.value
};
});
try {
// set the settings
for(var i=0; i < settings.length; i++) {
Expand Down
Loading