# # # add_dir "tests/k_selector" # # add_file "tests/k_selector/__driver__.lua" # content [b9282634461488d88cf73163be9baa399e76d8dd] # # add_file "tests/k_selector/rcfile" # content [d52f1604bc1c0dc5a1fca4f2af4e869df1d9e6d4] # ============================================================ --- tests/k_selector/__driver__.lua b9282634461488d88cf73163be9baa399e76d8dd +++ tests/k_selector/__driver__.lua b9282634461488d88cf73163be9baa399e76d8dd @@ -0,0 +1,46 @@ +mtn_setup() + +check(get("rcfile")) + +function selmap(sel, revs, sort) + check(raw_mtn("automate", "select", sel, "--rcfile", "rcfile"), 0, true, false) + if sort ~= false then table.sort(revs) end + check(samelines("stdout", revs)) +end + +check(mtn("genkey", "address@hidden"), 0, false, false, "\n\n") + +check(mtn("au", "keys"), 0, true, false) +local basicio = parse_basic_io(readfile("stdout")) +local hash = nil +for _,l in pairs(basicio) do + if l.name == "hash" then hash = l.values[1] end + if l.name == "given_name" and + l.values[1] == "address@hidden" then break end +end +check(hash ~= nil) + +addfile("testfile", "blah blah") +commit() +REV1=base_revision() + +writefile("testfile", "stuff stuff") +check(mtn("commit", "-k", "address@hidden", "-m", "test"), 0, false, false) +REV2=base_revision() + +-- negative checks +check(mtn("au", "select", "k:"), 1, false, true) +check(qgrep("must not be empty", "stderr")) + +check(mtn("au", "select", "k:tester"), 1, false, true) +check(qgrep("there is no key named", "stderr")) + +-- blocked by bug #30462 +--check(mtn("au", "select", "k:1000000000000000000000000000000000000001"), 1, false, true) +--check(qgrep("does not exist", "stderr")) + +-- positive checks +selmap("k:address@hidden", {REV1}) +selmap("k:address@hidden", {REV2}) +selmap("k:address@hidden", {REV2}) +selmap("k:" .. hash, {REV2}) ============================================================ --- tests/k_selector/rcfile d52f1604bc1c0dc5a1fca4f2af4e869df1d9e6d4 +++ tests/k_selector/rcfile d52f1604bc1c0dc5a1fca4f2af4e869df1d9e6d4 @@ -0,0 +1,6 @@ +function get_local_key_name(identity) + if identity.given_name == "address@hidden" then + return "address@hidden" + end + return identity.given_name +end