Add a mechanism to plumb arbitary command line flags to the c-ares unit test binary

pull/25069/head
Alexander Polcyn 4 years ago
parent 8934661278
commit 882243606f
  1. 6
      templates/test/cpp/naming/resolver_component_tests_defs.include
  2. 90
      test/cpp/naming/resolver_component_tests_runner.py
  3. 7
      test/cpp/naming/resolver_component_tests_runner_invoker.cc

@ -39,6 +39,9 @@ argp.add_argument('--dns_resolver_bin_path', default=None, type=str,
help=('Path to the DNS health check utility.'))
argp.add_argument('--tcp_connect_bin_path', default=None, type=str,
help=('Path to the TCP health check utility.'))
argp.add_argument('--extra_args', default='', type=str,
help=('Comma-separate list of command args to '
'plumb through to --test_bin_path'))
args = argp.parse_args()
def test_runner_log(msg):
@ -131,7 +134,8 @@ current_test_subprocess = subprocess.Popen([\
\
% endfor
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])\
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))\
current_test_subprocess.communicate()\

@ -39,6 +39,9 @@ argp.add_argument('--dns_resolver_bin_path', default=None, type=str,
help=('Path to the DNS health check utility.'))
argp.add_argument('--tcp_connect_bin_path', default=None, type=str,
help=('Path to the TCP health check utility.'))
argp.add_argument('--extra_args', default='', type=str,
help=('Comma-separate list of command args to '
'plumb through to --test_bin_path'))
args = argp.parse_args()
def test_runner_log(msg):
@ -130,7 +133,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -147,7 +151,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -164,7 +169,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -181,7 +187,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -198,7 +205,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -215,7 +223,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -232,7 +241,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -249,7 +259,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -266,7 +277,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -283,7 +295,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -300,7 +313,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -317,7 +331,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -334,7 +349,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -351,7 +367,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -368,7 +385,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'False',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -385,7 +403,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'False',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -402,7 +421,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'False',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -419,7 +439,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'False',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -436,7 +457,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'False',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -453,7 +475,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'False',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -470,7 +493,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'False',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -487,7 +511,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'False',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -504,7 +529,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -521,7 +547,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -538,7 +565,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -555,7 +583,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -572,7 +601,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'True',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -589,7 +619,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'True',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1
@ -606,7 +637,8 @@ current_test_subprocess = subprocess.Popen([
'--enable_srv_queries', 'True',
'--enable_txt_queries', 'True',
'--inject_broken_nameserver_list', 'False',
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port])
'--local_dns_server_address', '127.0.0.1:%d' % args.dns_server_port
] + filter(lambda x: x, args.extra_args.split(',')))
current_test_subprocess.communicate()
if current_test_subprocess.returncode != 0:
num_test_failures += 1

@ -56,6 +56,10 @@ ABSL_FLAG(std::string, grpc_test_directory_relative_to_test_srcdir,
"Directory of the <repo-root>/test directory relative to bazel's "
"TEST_SRCDIR environment variable");
ABSL_FLAG(std::string, extra_args, "",
"Comma-separated list of opaque command args to plumb through to "
"the binary pointed at by --test_bin_name");
using grpc::SubProcess;
static volatile sig_atomic_t abort_wait_for_child = 0;
@ -117,7 +121,8 @@ void InvokeResolverComponentTestsRunner(
"--records_config_path=" + records_config_path,
"--dns_server_port=" + std::to_string(dns_server_port),
"--dns_resolver_bin_path=" + dns_resolver_bin_path,
"--tcp_connect_bin_path=" + tcp_connect_bin_path});
"--tcp_connect_bin_path=" + tcp_connect_bin_path,
"--extra_args=" + absl::GetFlag(FLAGS_extra_args)});
gpr_mu test_driver_mu;
gpr_mu_init(&test_driver_mu);
gpr_cv test_driver_cv;

Loading…
Cancel
Save