You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gm...@apache.org on 2021/03/26 16:43:06 UTC
[qpid-dispatch] branch master updated: DISPATCH-2016: Launch the
echo servers immediately after port allotment. Moved logging code after
router launch code. This closes #1086.
This is an automated email from the ASF dual-hosted git repository.
gmurthy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git
The following commit(s) were added to refs/heads/master by this push:
new 222aa3a DISPATCH-2016: Launch the echo servers immediately after port allotment. Moved logging code after router launch code. This closes #1086.
222aa3a is described below
commit 222aa3aacb54dec63b20d97d8406d3e5a30bd770
Author: Ganesh Murthy <gm...@apache.org>
AuthorDate: Fri Mar 26 09:54:35 2021 -0400
DISPATCH-2016: Launch the echo servers immediately after port allotment. Moved logging code after router launch code. This closes #1086.
---
tests/system_tests_tcp_adaptor.py | 208 +++++++++++++++++++-------------------
1 file changed, 104 insertions(+), 104 deletions(-)
diff --git a/tests/system_tests_tcp_adaptor.py b/tests/system_tests_tcp_adaptor.py
index bde08a3..3fc27dd 100644
--- a/tests/system_tests_tcp_adaptor.py
+++ b/tests/system_tests_tcp_adaptor.py
@@ -258,102 +258,78 @@ class TcpAdaptor(TestCase):
cls.routers = []
- # Allocate a sea of ports
- for rtr in cls.router_order:
- cls.amqp_listener_ports[rtr] = cls.tester.get_port()
- cls.tcp_server_listener_ports[rtr] = cls.tester.get_port()
- tl_ports = {}
- for tcp_listener in cls.router_order:
- tl_ports[tcp_listener] = cls.tester.get_port()
- cls.tcp_client_listener_ports[rtr] = tl_ports
- cls.nodest_listener_ports[rtr] = cls.tester.get_port()
- # cls.http_listener_ports[rtr] = cls.tester.get_port()
-
- inter_router_port_AB = cls.tester.get_port()
- inter_router_port_BC = cls.tester.get_port()
- cls.INTA_edge_port = cls.tester.get_port()
- cls.INTB_edge_port = cls.tester.get_port()
- cls.INTC_edge_port = cls.tester.get_port()
- cls.EC2_conn_stall_connector_port = cls.tester.get_port()
- cls.INTA_conn_stall_listener_port = cls.tester.get_port()
- cls.EC2_conn_stall_listener_port = cls.tester.get_port()
-
+ # define logging levels
+ cls.print_logs_server = False
+ cls.print_logs_client = True
cls.logger = Logger(title="TcpAdaptor-testClass",
print_to_console=True,
save_for_dump=False,
ofilename='../setUpClass/TcpAdaptor.log')
-
# Write a dummy log line for scraper.
cls.logger.log("SERVER (info) Container Name: TCP_TEST")
- # Create a scoreboard for the ports
- p_out = []
+ # Allocate echo server ports first
for rtr in cls.router_order:
- p_out.append("%s_amqp=%d" %
- (rtr, cls.amqp_listener_ports[rtr]))
- p_out.append("%s_echo_server=%d" %
- (rtr, cls.tcp_server_listener_ports[rtr]))
- for tcp_listener in cls.router_order:
- p_out.append("%s_echo_listener_for_%s=%d" %
- (rtr, tcp_listener, cls.tcp_client_listener_ports[rtr][tcp_listener]))
- p_out.append("%s_nodest_listener=%d" %
- (rtr, cls.nodest_listener_ports[rtr]))
- # p_out.append("%s_http_listener=%d" %
- # (rtr, cls.http_listener_ports[rtr]))
- p_out.append("inter_router_port_AB=%d" % inter_router_port_AB)
- p_out.append("inter_router_port_BC=%d" % inter_router_port_BC)
- p_out.append("INTA_edge_port=%d" % cls.INTA_edge_port)
- p_out.append("INTB_edge_port=%d" % cls.INTB_edge_port)
- p_out.append("INTC_edge_port=%d" % cls.INTC_edge_port)
- p_out.append("EC2_conn_stall_connector_port%d" % cls.EC2_conn_stall_connector_port)
- p_out.append("INTA_conn_stall_listener_port%d" % cls.INTA_conn_stall_listener_port)
- p_out.append("EC2_conn_stall_listener_port%d" % cls.EC2_conn_stall_listener_port)
+ cls.tcp_server_listener_ports[rtr] = cls.tester.get_port()
- # write to log
- for line in p_out:
- cls.logger.log("TCP_TEST %s" % line)
+ # start echo servers immediately after the echo server
+ # ports are assigned.
+ for rtr in cls.router_order:
+ test_name = "TcpAdaptor"
+ server_prefix = "ECHO_SERVER %s ES_%s" % (test_name, rtr)
+ server_logger = Logger(title=test_name,
+ print_to_console=cls.print_logs_server,
+ save_for_dump=False,
+ ofilename="../setUpClass/TcpAdaptor_echo_server_%s.log" % rtr)
+ cls.logger.log("TCP_TEST Launching echo server '%s'" % server_prefix)
+ server = TcpEchoServer(prefix=server_prefix,
+ port=cls.tcp_server_listener_ports[rtr],
+ logger=server_logger)
+ assert server.is_running
+ cls.echo_servers[rtr] = server
- # write to shell script
- with open("../setUpClass/TcpAdaptor-ports.sh", 'w') as o_file:
- for line in p_out:
- o_file.write("set %s\n" % line)
+ cls.EC2_conn_stall_connector_port = cls.tester.get_port()
+ # start special naughty servers that misbehave on purpose
+ server_prefix = "ECHO_SERVER TcpAdaptor NS_EC2_CONN_STALL"
+ server_logger = Logger(title="TcpAdaptor",
+ print_to_console=cls.print_logs_server,
+ save_for_dump=False,
+ ofilename="../setUpClass/TcpAdaptor_echo_server_NS_CONN_STALL.log")
+ cls.logger.log("TCP_TEST Launching echo server '%s'" % server_prefix)
+ server = TcpEchoServer(prefix=server_prefix,
+ port=cls.EC2_conn_stall_connector_port,
+ logger=server_logger,
+ conn_stall=Q2_DELAY_SECONDS)
+ assert server.is_running
+ cls.echo_server_NS_CONN_STALL = server
- # Write a script to run scraper on this test's log files
- scraper_abspath = os.path.join(os.environ.get('BUILD_DIR'), 'tests', 'scraper', 'scraper.py')
- logs_dir = os.path.abspath("../setUpClass")
- main_log = "TcpAdaptor.log"
- echo_logs = "TcpAdaptor_echo*"
- big_test_log = "TcpAdaptor_all.log"
- int_logs = "I*.log"
- edge_logs = "E*.log"
- log_modules_spec = "--log-modules TCP_ADAPTOR,TCP_TEST,ECHO_SERVER,ECHO_CLIENT"
- html_output = "TcpAdaptor.html"
+ # Allocate a sea of router ports
+ for rtr in cls.router_order:
+ cls.amqp_listener_ports[rtr] = cls.tester.get_port()
+ tl_ports = {}
+ for tcp_listener in cls.router_order:
+ tl_ports[tcp_listener] = cls.tester.get_port()
+ cls.tcp_client_listener_ports[rtr] = tl_ports
+ cls.nodest_listener_ports[rtr] = cls.tester.get_port()
- with open("../setUpClass/TcpAdaptor-run-scraper.sh", 'w') as o_file:
- o_file.write("#!/bin/bash\n\n")
- o_file.write("# Script to run scraper on test class TcpAdaptor test result\n")
- o_file.write("# cd into logs directory\n")
- o_file.write("cd %s\n\n" % logs_dir)
- o_file.write("# Concatenate test class logs into single file\n")
- o_file.write("cat %s %s > %s\n\n" % (main_log, echo_logs, big_test_log))
- o_file.write("# run scraper\n")
- o_file.write("python %s %s -f %s %s %s > %s\n\n" %
- (scraper_abspath, log_modules_spec, int_logs, edge_logs, big_test_log, html_output))
- o_file.write("echo View the results by opening the html file\n")
- o_file.write("echo firefox %s" % (os.path.join(logs_dir, html_output)))
+ inter_router_port_AB = cls.tester.get_port()
+ cls.INTA_edge_port = cls.tester.get_port()
+ cls.INTA_conn_stall_listener_port = cls.tester.get_port()
- # Launch the routers
+ # Launch the routers using the sea of router ports
router('INTA', 'interior',
[('listener', {'role': 'inter-router', 'port': inter_router_port_AB}),
('listener', {'name': 'uplink', 'role': 'edge', 'port': cls.INTA_edge_port}),
('tcpListener', {'host': "0.0.0.0", 'port': cls.INTA_conn_stall_listener_port,
'address': 'NS_EC2_CONN_STALL', 'siteId': cls.site})])
-
+ inter_router_port_BC = cls.tester.get_port()
+ cls.INTB_edge_port = cls.tester.get_port()
router('INTB', 'interior',
[('connector', {'role': 'inter-router', 'port': inter_router_port_AB}),
('listener', {'role': 'inter-router', 'port': inter_router_port_BC}),
('listener', {'name': 'uplink', 'role': 'edge', 'port': cls.INTB_edge_port})])
+ cls.INTC_edge_port = cls.tester.get_port()
router('INTC', 'interior',
[('connector', {'role': 'inter-router', 'port': inter_router_port_BC}),
('listener', {'name': 'uplink', 'role': 'edge', 'port': cls.INTC_edge_port})])
@@ -368,6 +344,7 @@ class TcpAdaptor(TestCase):
[('connector', {'name': 'uplink', 'role': 'edge', 'port': cls.INTB_edge_port})])
router('EC1', 'edge',
[('connector', {'name': 'uplink', 'role': 'edge', 'port': cls.INTC_edge_port})])
+ cls.EC2_conn_stall_listener_port = cls.tester.get_port()
router('EC2', 'edge',
[('connector', {'name': 'uplink', 'role': 'edge', 'port': cls.INTC_edge_port}),
('tcpConnector', {'host': "127.0.0.1", 'port': cls.EC2_conn_stall_connector_port,
@@ -405,38 +382,61 @@ class TcpAdaptor(TestCase):
cls.logger.log("TCP_TEST INTC waiting for connection to INTB")
cls.INTC.wait_router_connected('INTB')
- # define logging levels
- cls.print_logs_server = False
- cls.print_logs_client = True
-
- # start echo servers
+ # Create a scoreboard for the ports
+ p_out = []
for rtr in cls.router_order:
- test_name = "TcpAdaptor"
- server_prefix = "ECHO_SERVER %s ES_%s" % (test_name, rtr)
- server_logger = Logger(title=test_name,
- print_to_console=cls.print_logs_server,
- save_for_dump=False,
- ofilename="../setUpClass/TcpAdaptor_echo_server_%s.log" % rtr)
- cls.logger.log("TCP_TEST Launching echo server '%s'" % server_prefix)
- server = TcpEchoServer(prefix=server_prefix,
- port=cls.tcp_server_listener_ports[rtr],
- logger=server_logger)
- assert server.is_running
- cls.echo_servers[rtr] = server
+ p_out.append("%s_amqp=%d" %
+ (rtr, cls.amqp_listener_ports[rtr]))
+ p_out.append("%s_echo_server=%d" %
+ (rtr, cls.tcp_server_listener_ports[rtr]))
+ for tcp_listener in cls.router_order:
+ p_out.append("%s_echo_listener_for_%s=%d" %
+ (rtr, tcp_listener, cls.tcp_client_listener_ports[rtr][tcp_listener]))
+ p_out.append("%s_nodest_listener=%d" %
+ (rtr, cls.nodest_listener_ports[rtr]))
+ # p_out.append("%s_http_listener=%d" %
+ # (rtr, cls.http_listener_ports[rtr]))
+ p_out.append("inter_router_port_AB=%d" % inter_router_port_AB)
+ p_out.append("inter_router_port_BC=%d" % inter_router_port_BC)
+ p_out.append("INTA_edge_port=%d" % cls.INTA_edge_port)
+ p_out.append("INTB_edge_port=%d" % cls.INTB_edge_port)
+ p_out.append("INTC_edge_port=%d" % cls.INTC_edge_port)
+ p_out.append("EC2_conn_stall_connector_port%d" % cls.EC2_conn_stall_connector_port)
+ p_out.append("INTA_conn_stall_listener_port%d" % cls.INTA_conn_stall_listener_port)
+ p_out.append("EC2_conn_stall_listener_port%d" % cls.EC2_conn_stall_listener_port)
- # start special naughty servers that misbehave on purpose
- server_prefix = "ECHO_SERVER TcpAdaptor NS_EC2_CONN_STALL"
- server_logger = Logger(title="TcpAdaptor",
- print_to_console=cls.print_logs_server,
- save_for_dump=False,
- ofilename="../setUpClass/TcpAdaptor_echo_server_NS_CONN_STALL.log")
- cls.logger.log("TCP_TEST Launching echo server '%s'" % server_prefix)
- server = TcpEchoServer(prefix=server_prefix,
- port=cls.EC2_conn_stall_connector_port,
- logger=server_logger,
- conn_stall=Q2_DELAY_SECONDS)
- assert server.is_running
- cls.echo_server_NS_CONN_STALL = server
+ # write to log
+ for line in p_out:
+ cls.logger.log("TCP_TEST %s" % line)
+
+ # write to shell script
+ with open("../setUpClass/TcpAdaptor-ports.sh", 'w') as o_file:
+ for line in p_out:
+ o_file.write("set %s\n" % line)
+
+ # Write a script to run scraper on this test's log files
+ scraper_abspath = os.path.join(os.environ.get('BUILD_DIR'), 'tests', 'scraper', 'scraper.py')
+ logs_dir = os.path.abspath("../setUpClass")
+ main_log = "TcpAdaptor.log"
+ echo_logs = "TcpAdaptor_echo*"
+ big_test_log = "TcpAdaptor_all.log"
+ int_logs = "I*.log"
+ edge_logs = "E*.log"
+ log_modules_spec = "--log-modules TCP_ADAPTOR,TCP_TEST,ECHO_SERVER,ECHO_CLIENT"
+ html_output = "TcpAdaptor.html"
+
+ with open("../setUpClass/TcpAdaptor-run-scraper.sh", 'w') as o_file:
+ o_file.write("#!/bin/bash\n\n")
+ o_file.write("# Script to run scraper on test class TcpAdaptor test result\n")
+ o_file.write("# cd into logs directory\n")
+ o_file.write("cd %s\n\n" % logs_dir)
+ o_file.write("# Concatenate test class logs into single file\n")
+ o_file.write("cat %s %s > %s\n\n" % (main_log, echo_logs, big_test_log))
+ o_file.write("# run scraper\n")
+ o_file.write("python %s %s -f %s %s %s > %s\n\n" %
+ (scraper_abspath, log_modules_spec, int_logs, edge_logs, big_test_log, html_output))
+ o_file.write("echo View the results by opening the html file\n")
+ o_file.write("echo firefox %s" % (os.path.join(logs_dir, html_output)))
# wait for server addresses (mobile ES_<rtr>) to propagate to all interior routers
interior_rtrs = [rtr for rtr in cls.router_order if rtr.startswith('I')]
@@ -471,7 +471,7 @@ class TcpAdaptor(TestCase):
for rtr in cls.router_order:
server = cls.echo_servers.get(rtr)
if server is not None:
- cls.logger.log("TCP_TEST Stopping echo server %s" % rtr)
+ cls.logger.log("TCP_TEST Stopping echo server ES_%s" % rtr)
server.wait()
if cls.echo_server_NS_CONN_STALL is not None:
cls.logger.log("TCP_TEST Stopping echo server NS_EC2_CONN_STALL")
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org