1from k5test import * 2 3sim_client = os.path.join(buildtop, 'appl', 'simple', 'client', 'sim_client') 4sim_server = os.path.join(buildtop, 'appl', 'simple', 'server', 'sim_server') 5 6for realm in multipass_realms(create_host=False): 7 server_princ = 'sample/%s@%s' % (hostname, realm.realm) 8 realm.addprinc(server_princ) 9 realm.extract_keytab(server_princ, realm.keytab) 10 11 portstr = str(realm.server_port()) 12 server = realm.start_server([sim_server, '-p', portstr], 'starting...') 13 14 out = realm.run([sim_client, '-p', portstr, hostname]) 15 if ('Sent checksummed message:' not in out or 16 'Sent encrypted message:' not in out): 17 fail('Expected client messages not seen') 18 19 # sim_server exits after one client execution, so we can read 20 # until it closes stdout. 21 seen1 = seen2 = seen3 = False 22 for line in server.stdout: 23 if line == 'Got authentication info from user@KRBTEST.COM\n': 24 seen1 = True 25 if line == "Safe message is: 'hi there!'\n": 26 seen2 = True 27 if line == "Decrypted message is: 'hi there!'\n": 28 seen3 = True 29 if not (seen1 and seen2 and seen3): 30 fail('Expected server messages not seen') 31 32 await_daemon_exit(server) 33 34success('sim_client/sim_server tests') 35