Merge pull request #15008 from yang-g/secure_is_not_unsecure

Depend on unsecure target
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index fb6f98c..9dc2a1a 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -6,4 +6,6 @@
 /cmake/** @jtattermusch @nicolasnoble @matt-kwong
 /src/core/ext/filters/client_channel/** @markdroth @dgquintas @a11r
 /tools/dockerfile/** @jtattermusch @matt-kwong @nicolasnoble
+/tools/run_tests/** @jtattermusch @matt-kwong @dgquintas
+/tools/run_tests/generated/** @grpc/grpc-team
 /tools/run_tests/performance/** @ncteisen @matt-kwong @jtattermusch
diff --git a/test/core/util/fuzzer_corpus_test.cc b/test/core/util/fuzzer_corpus_test.cc
index 18bc0ad..ebf1913 100644
--- a/test/core/util/fuzzer_corpus_test.cc
+++ b/test/core/util/fuzzer_corpus_test.cc
@@ -20,6 +20,7 @@
 
 #include <dirent.h>
 #include <gflags/gflags.h>
+#include <grpc/support/alloc.h>
 #include <grpc/support/log.h>
 #include <gtest/gtest.h>
 #include <stdio.h>
@@ -91,6 +92,7 @@
           perror("Couldn't open the directory");
           abort();
         }
+        gpr_free(test_srcdir);
       }
     }
   }
diff --git a/test/cpp/naming/resolver_component_tests_runner_invoker.cc b/test/cpp/naming/resolver_component_tests_runner_invoker.cc
index b2a7890..6d0708e 100644
--- a/test/cpp/naming/resolver_component_tests_runner_invoker.cc
+++ b/test/cpp/naming/resolver_component_tests_runner_invoker.cc
@@ -165,9 +165,9 @@
     GPR_ASSERT(FLAGS_grpc_test_directory_relative_to_test_srcdir != "");
     // Use bazel's TEST_SRCDIR environment variable to locate the "test data"
     // binaries.
+    char* test_srcdir = gpr_getenv("TEST_SRCDIR");
     std::string const bin_dir =
-        gpr_getenv("TEST_SRCDIR") +
-        FLAGS_grpc_test_directory_relative_to_test_srcdir +
+        test_srcdir + FLAGS_grpc_test_directory_relative_to_test_srcdir +
         std::string("/test/cpp/naming");
     // Invoke bazel's executeable links to the .sh and .py scripts (don't use
     // the .sh and .py suffixes) to make
@@ -177,6 +177,7 @@
         bin_dir + "/" + FLAGS_test_bin_name, bin_dir + "/utils/dns_server",
         bin_dir + "/resolver_test_record_groups.yaml",
         bin_dir + "/utils/dns_resolver", bin_dir + "/utils/tcp_connect");
+    gpr_free(test_srcdir);
   } else {
     // Get the current binary's directory relative to repo root to invoke the
     // correct build config (asan/tsan/dbg, etc.).
diff --git a/test/cpp/util/grpc_tool_test.cc b/test/cpp/util/grpc_tool_test.cc
index 9f7fec5..6574d1b 100644
--- a/test/cpp/util/grpc_tool_test.cc
+++ b/test/cpp/util/grpc_tool_test.cc
@@ -22,6 +22,7 @@
 
 #include <gflags/gflags.h>
 #include <grpc/grpc.h>
+#include <grpc/support/alloc.h>
 #include <grpcpp/channel.h>
 #include <grpcpp/client_context.h>
 #include <grpcpp/create_channel.h>
@@ -738,6 +739,8 @@
 
   FLAGS_metadata = "";
   FLAGS_protofiles = "";
+
+  gpr_free(test_srcdir);
 }
 
 }  // namespace testing
diff --git a/tools/run_tests/OWNERS b/tools/run_tests/OWNERS
new file mode 100644
index 0000000..9569c0e
--- /dev/null
+++ b/tools/run_tests/OWNERS
@@ -0,0 +1,8 @@
+set noparent
+
+# These owners are in place to because our test runners are non-trivial
+# and bad changes can cause lot of stuff fail silently.
+
+@jtattermusch
+@matt-kwong
+@dgquintas
diff --git a/tools/run_tests/generated/OWNERS b/tools/run_tests/generated/OWNERS
new file mode 100644
index 0000000..08adf77
--- /dev/null
+++ b/tools/run_tests/generated/OWNERS
@@ -0,0 +1,4 @@
+set noparent
+
+# Files in this directory are generated. Anyone from grpc-team can approve.
+@grpc/grpc-team