# # # patch "cmd_list.cc" # from [d0eefab1596c776cc0d44416788c9714e50202c9] # to [4639bfa528dc6cbefe383e0f7ef37b8248850bf0] # # patch "testlib.lua" # from [b4e893dcb6b8ace63b9e994f2f02a47c3c826943] # to [a019d00ccc1a886e692abd143d8d62416d7dbf8e] # # patch "tests/netsync_duplicate_keys/__driver__.lua" # from [2836e143798cc5ec1eb8d1d02d7e0df54dd89ffc] # to [6328976f6951520e6a440f5622355f69429e83df] # ============================================================ --- cmd_list.cc d0eefab1596c776cc0d44416788c9714e50202c9 +++ cmd_list.cc 4639bfa528dc6cbefe383e0f7ef37b8248850bf0 @@ -389,11 +389,11 @@ CMD(keys, "keys", "", CMD_REF(list), "[P have_keystore_only_key = true; rendered += " (*)"; } - public_rendered.insert(make_pair(alias, rendered)); + public_rendered.insert(make_pair(alias + id.inner()(), rendered)); } if (!private_locations.empty()) { - private_rendered.insert(make_pair(alias, rendered_basic)); + private_rendered.insert(make_pair(alias + id.inner()(), rendered_basic)); } } ============================================================ --- testlib.lua b4e893dcb6b8ace63b9e994f2f02a47c3c826943 +++ testlib.lua a019d00ccc1a886e692abd143d8d62416d7dbf8e @@ -171,6 +171,16 @@ end return readfile_q(filename) end +function readfile_lines(filename) + L(locheader(), "readfile_lines ", filename, "\n") + local file = open_or_err(filename, "rb", 2) + local dat = {} + for line in file:lines() do + table.insert(dat, line) + end + return dat +end + function readstdfile(filename) return readfile(testdir.."/"..filename) end ============================================================ --- tests/netsync_duplicate_keys/__driver__.lua 2836e143798cc5ec1eb8d1d02d7e0df54dd89ffc +++ tests/netsync_duplicate_keys/__driver__.lua 6328976f6951520e6a440f5622355f69429e83df @@ -24,8 +24,24 @@ check(mtn("ci", "-mx", "-k", "committer@ writefile("testfile", "version 1 of test file") check(mtn("ci", "-mx", "-k", "address@hidden"), 0, false, false) -srv:push("testbranch", 1, 1) +srv:push("testbranch", 1, 0) srv:stop() -check(mtn2("au", "select", "b:testbranch"), 0, {"stdout"}) +check(mtn2("ls", "keys"), 0, true, true) + +key_lines = readfile_lines("stdout") +first_line = nil +have_different = false +for _, line in pairs(key_lines) do + if string.find(line, "address@hidden") then + if first_line == nil then + first_line = line + elseif first_line ~= line then + have_different = true + end + end +end +check(have_different) + +check(qgrep("multiple keys", "stderr"))