# # # patch "tests/common/netsync.lua" # from [7b1f4b9805594eca3b037055833df798942e725d] # to [128824e21a9a92c02b9f21eecc0f1c73556c766e] # # patch "tests/netsync_default_server_pattern_setting/__driver__.lua" # from [a959e5ea6e4412ee00d5ceff640ec45f384f6b36] # to [150f75bdedfb03ba5c1516d980f5ff7d6e413bd7] # ============================================================ --- tests/common/netsync.lua 7b1f4b9805594eca3b037055833df798942e725d +++ tests/common/netsync.lua 128824e21a9a92c02b9f21eecc0f1c73556c766e @@ -71,13 +71,26 @@ function netsync.start(opts, n, min) elseif type(opts) ~= "nil" then err("netsync.start wants a table, not a "..type(opts).." as a first argument") end - local out = bg(fn(unpack(args)), false, false, false) + local argv = fn(unpack(args)) + local out = bg(argv, false, false, false) out.address = addr + out.argv = argv local mt = getmetatable(out) mt.client = netsync.internal.client mt.pull = netsync.internal.pull mt.push = netsync.internal.push mt.sync = netsync.internal.sync + mt.restart = function(obj) + local newobj = bg(obj.argv, false, false, false) + for x,y in pairs(newobj) do + obj[x] = y + end + -- wait for "beginning service..." + while fsize(obj.prefix .. "stderr") == 0 do + sleep(1) + check(out:check()) + end + end local mt_wait = mt.wait mt.check = function(obj) return not mt_wait(obj, 0) end mt.wait = nil -- using this would hang; don't allow it ============================================================ --- tests/netsync_default_server_pattern_setting/__driver__.lua a959e5ea6e4412ee00d5ceff640ec45f384f6b36 +++ tests/netsync_default_server_pattern_setting/__driver__.lua 150f75bdedfb03ba5c1516d980f5ff7d6e413bd7 @@ -9,12 +9,15 @@ srv:pull("testbranch") srv = netsync.start() srv:pull("testbranch") +srv:stop() + writefile("testfile", "other stuff") commit() rev = base_revision() -- Having done an explicit pull once, future ones should default to the -- same +srv:restart() check(mtn2("pull"), 0, false, false) srv:finish()