Browse Source

Fixed group update test, added per-instance debug command line option

PYADPT-55
Edouard Tisserant 9 years ago
parent
commit
b2c6adbbf7
  1. 19
      test/mp_sync_test.py
  2. 24
      test/multipEp.py

19
test/mp_sync_test.py

@ -53,7 +53,6 @@ def group_on_keygen():
def group_on_cannotdecrypt(): def group_on_cannotdecrypt():
enc_msg = yield from pre_existing_peers_with_encrypted_mail() enc_msg = yield from pre_existing_peers_with_encrypted_mail()
for action in [ for action in [
(flush_all_mails,),
("GroupA2", [create_account, ["first@group.a", "GroupA First"]]), ("GroupA2", [create_account, ["first@group.a", "GroupA First"]]),
(flush_all_mails,), (flush_all_mails,),
("GroupA2", [decrypt_message, [enc_msg]], expect(PEP_rating_have_no_key)), ("GroupA2", [decrypt_message, [enc_msg]], expect(PEP_rating_have_no_key)),
@ -65,7 +64,7 @@ def group_of_3_members():
enc_msg = yield from group_on_keygen() enc_msg = yield from group_on_keygen()
for action in [ for action in [
("GroupA3", [create_account, ["first@group.a", "GroupA First"]]), ("GroupA3", [create_account, ["first@group.a", "GroupA First"]]),
(cycle_until_no_change, ["GroupA1", "GroupA2", "GroupA3"], expect(3)), (cycle_until_no_change, ["GroupA1", "GroupA2", "GroupA3"], expect(4)),
# force consume messages # force consume messages
# ("GroupA3", [None, None, None, -60*15]), # ("GroupA3", [None, None, None, -60*15]),
("GroupA3", [decrypt_message, [enc_msg]], expect(PEP_rating_reliable)) ("GroupA3", [decrypt_message, [enc_msg]], expect(PEP_rating_reliable))
@ -85,9 +84,8 @@ def keygen_in_a_group_of_3_members():
"SoloB First to GroupA second -- long"]]), "SoloB First to GroupA second -- long"]]),
("GroupA3", [send_message, ["second@group.a", ("GroupA3", [send_message, ["second@group.a",
"first@solo.b", "first@solo.b",
"GroupA second to SoloB First" "GroupA second to SoloB First",
"GroupA second to SoloB First"]]), "GroupA second to SoloB First"]]),
(flush_all_mails,),
] : yield action ] : yield action
enc_msg = yield ("SoloB", [encrypted_message, ["first@solo.b", enc_msg = yield ("SoloB", [encrypted_message, ["first@solo.b",
@ -95,16 +93,17 @@ def keygen_in_a_group_of_3_members():
"SoloB First to GroupA Second -- encrypted", "SoloB First to GroupA Second -- encrypted",
"SoloB First to GroupA Second -- long encrypted"]]) "SoloB First to GroupA Second -- long encrypted"]])
for action in [ for action in [
("GroupA2", [decrypt_message, [enc_msg]], expect(PEP_rating_have_no_key)), (cycle_until_no_change, ["GroupA1", "GroupA2", "GroupA3"], expect(1)),
(cycle_until_no_change, ["GroupA1", "GroupA2", "GroupA3"], expect(3)), ("GroupA1", [create_account, ["second@group.a", "GroupA Second"]]),
("GroupA2", [create_account, ["second@group.a", "GroupA Second"]]),
("GroupA2", [decrypt_message, [enc_msg]], expect(PEP_rating_reliable)), ("GroupA2", [decrypt_message, [enc_msg]], expect(PEP_rating_reliable)),
("GroupA1", [decrypt_message, [enc_msg]], expect(PEP_rating_reliable)), ("GroupA1", [decrypt_message, [enc_msg]], expect(PEP_rating_reliable)),
] : yield action ] : yield action
if __name__ == "__main__": if __name__ == "__main__":
run_scenario(group_on_keygen) #run_scenario(group_on_keygen)
run_scenario(group_on_cannotdecrypt) #run_scenario(group_on_cannotdecrypt)
run_scenario(group_of_3_members) #run_scenario(group_of_3_members)
#run_scenario(keygen_in_a_group_of_3_members) run_scenario(keygen_in_a_group_of_3_members)

24
test/multipEp.py

@ -246,19 +246,29 @@ def run_instance_action(action):
handshakes_seen, handshakes_validated)) handshakes_seen, handshakes_validated))
proc.start() proc.start()
instances[iname] = (proc, conn) instances[iname] = (proc, conn)
if "wait_for_debug" in sys.argv: debug = False
if "debug_"+iname in sys.argv :
debug = True
if not debug and "wait_for_debug" in sys.argv :
yes = input("#"*80 + "\n" + yes = input("#"*80 + "\n" +
"INSTANCE " + iname + "\n" + "INSTANCE " + iname + "\n" +
"Enter y/yes/Y/YES to attach debugger to process " + "Enter y/yes/Y/YES to attach debugger to process " +
str(proc.pid) + "\nor just press ENTER\n" + str(proc.pid) + "\nor just press ENTER\n" +
"#"*80 + "\n") "#"*80 + "\n")
if yes in ["y", "Y", "yes" "YES"]: if yes in ["y", "Y", "yes" "YES"]:
# TODO : linux terminal support debug = True
#import subprocess if debug :
#subprocess.call(['xterm', '-e', 'lldb', '-p', str(proc.pid)]) print("#"*80 + "\n" +
import appscript "INSTANCE " + iname + "\n" +
appscript.app('Terminal').do_script('lldb -p ' + str(proc.pid)) "launching debugger attaching to process " +
time.sleep(2) str(proc.pid) + "\n" +
"#"*80 + "\n")
# TODO : linux terminal support
#import subprocess
#subprocess.call(['xterm', '-e', 'lldb', '-p', str(proc.pid)])
import appscript
appscript.app('Terminal').do_script('lldb -p ' + str(proc.pid))
time.sleep(2)
else: else:
proc, conn = instances[iname] proc, conn = instances[iname]

Loading…
Cancel
Save