Remove all uses of __FUNCTION__
diff --git a/src/core/httpcli/httpcli.c b/src/core/httpcli/httpcli.c
index fe7ea6a..6e4156c 100644
--- a/src/core/httpcli/httpcli.c
+++ b/src/core/httpcli/httpcli.c
@@ -67,7 +67,6 @@
 static void next_address(internal_request *req);
 
 static void finish(internal_request *req, int success) {
-  gpr_log(GPR_DEBUG, "%s", __FUNCTION__);
   req->on_response(req->user_data, success ? &req->parser.r : NULL);
   grpc_httpcli_parser_destroy(&req->parser);
   if (req->addresses != NULL) {
@@ -86,8 +85,6 @@
   internal_request *req = user_data;
   size_t i;
 
-  gpr_log(GPR_DEBUG, "%s nslices=%d status=%d", __FUNCTION__, nslices, status);
-
   for (i = 0; i < nslices; i++) {
     if (GPR_SLICE_LENGTH(slices[i])) {
       req->have_read_byte = 1;
@@ -120,13 +117,11 @@
 }
 
 static void on_written(internal_request *req) {
-  gpr_log(GPR_DEBUG, "%s", __FUNCTION__);
   grpc_endpoint_notify_on_read(req->ep, on_read, req);
 }
 
 static void done_write(void *arg, grpc_endpoint_cb_status status) {
   internal_request *req = arg;
-  gpr_log(GPR_DEBUG, "%s", __FUNCTION__);
   switch (status) {
     case GRPC_ENDPOINT_CB_OK:
       on_written(req);
@@ -141,7 +136,6 @@
 
 static void start_write(internal_request *req) {
   gpr_slice_ref(req->request_text);
-  gpr_log(GPR_DEBUG, "%s", __FUNCTION__);
   switch (
       grpc_endpoint_write(req->ep, &req->request_text, 1, done_write, req)) {
     case GRPC_ENDPOINT_WRITE_DONE:
@@ -159,7 +153,6 @@
                                            grpc_security_status status,
                                            grpc_endpoint *secure_endpoint) {
   internal_request *req = rp;
-  gpr_log(GPR_DEBUG, "%s", __FUNCTION__);
   if (status != GRPC_SECURITY_OK) {
     gpr_log(GPR_ERROR, "Secure transport setup failed with error %d.", status);
     finish(req, 0);
@@ -172,7 +165,6 @@
 static void on_connected(void *arg, grpc_endpoint *tcp) {
   internal_request *req = arg;
 
-  gpr_log(GPR_DEBUG, "%s", __FUNCTION__);
   if (!tcp) {
     next_address(req);
     return;
@@ -200,7 +192,6 @@
 
 static void next_address(internal_request *req) {
   grpc_resolved_address *addr;
-  gpr_log(GPR_DEBUG, "%s", __FUNCTION__);
   if (req->next_address == req->addresses->naddrs) {
     finish(req, 0);
     return;
@@ -212,7 +203,6 @@
 
 static void on_resolved(void *arg, grpc_resolved_addresses *addresses) {
   internal_request *req = arg;
-  gpr_log(GPR_DEBUG, "%s", __FUNCTION__);
   if (!addresses) {
     finish(req, 0);
     return;
diff --git a/src/core/iomgr/sockaddr_utils.c b/src/core/iomgr/sockaddr_utils.c
index 740bbe7..3d202a5 100644
--- a/src/core/iomgr/sockaddr_utils.c
+++ b/src/core/iomgr/sockaddr_utils.c
@@ -169,8 +169,7 @@
     case AF_UNIX:
       return 1;
     default:
-      gpr_log(GPR_ERROR, "Unknown socket family %d in %s", addr->sa_family,
-              __FUNCTION__);
+      gpr_log(GPR_ERROR, "Unknown socket family %d in grpc_sockaddr_get_port", addr->sa_family);
       return 0;
   }
 }
@@ -184,8 +183,7 @@
       ((struct sockaddr_in6 *)addr)->sin6_port = htons(port);
       return 1;
     default:
-      gpr_log(GPR_ERROR, "Unknown socket family %d in %s", addr->sa_family,
-              __FUNCTION__);
+      gpr_log(GPR_ERROR, "Unknown socket family %d in grpc_sockaddr_set_port", addr->sa_family);
       return 0;
   }
 }
diff --git a/src/core/surface/server.c b/src/core/surface/server.c
index d75af72..24a23ae 100644
--- a/src/core/surface/server.c
+++ b/src/core/surface/server.c
@@ -665,7 +665,7 @@
                                   const char *host) {
   registered_method *m;
   if (!method) {
-    gpr_log(GPR_ERROR, "%s method string cannot be NULL", __FUNCTION__);
+    gpr_log(GPR_ERROR, "grpc_server_register_method method string cannot be NULL");
     return NULL;
   }
   for (m = server->registered_methods; m; m = m->next) {
diff --git a/test/core/channel/channel_stack_test.c b/test/core/channel/channel_stack_test.c
index 957dee1..fe92f2f 100644
--- a/test/core/channel/channel_stack_test.c
+++ b/test/core/channel/channel_stack_test.c
@@ -39,8 +39,6 @@
 #include <grpc/support/log.h>
 #include "test/core/util/test_config.h"
 
-#define LOG_TEST_NAME() gpr_log(GPR_INFO, "%s", __FUNCTION__)
-
 static void channel_init_func(grpc_channel_element *elem,
                               const grpc_channel_args *args,
                               grpc_mdctx *metadata_context, int is_first,
@@ -91,8 +89,6 @@
   int *channel_data;
   int *call_data;
 
-  LOG_TEST_NAME();
-
   metadata_context = grpc_mdctx_create();
 
   arg.type = GRPC_ARG_INTEGER;
diff --git a/test/core/end2end/tests/bad_hostname.c b/test/core/end2end/tests/bad_hostname.c
index e145d2e..0220f34 100644
--- a/test/core/end2end/tests/bad_hostname.c
+++ b/test/core/end2end/tests/bad_hostname.c
@@ -158,7 +158,7 @@
 static void test_invoke_simple_request(grpc_end2end_test_config config) {
   grpc_end2end_test_fixture f;
 
-  f = begin_test(config, __FUNCTION__, NULL, NULL);
+  f = begin_test(config, "test_invoke_simple_request", NULL, NULL);
   simple_request_body(f);
   end_test(&f);
   config.tear_down_data(&f);
diff --git a/test/core/end2end/tests/cancel_after_accept.c b/test/core/end2end/tests/cancel_after_accept.c
index 2753338..daf386c 100644
--- a/test/core/end2end/tests/cancel_after_accept.c
+++ b/test/core/end2end/tests/cancel_after_accept.c
@@ -105,7 +105,7 @@
   grpc_op *op;
   grpc_call *c;
   grpc_call *s;
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "cancel_after_accept", NULL, NULL);
   gpr_timespec deadline = five_seconds_time();
   cq_verifier *v_client = cq_verifier_create(f.client_cq);
   cq_verifier *v_server = cq_verifier_create(f.server_cq);
diff --git a/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c b/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c
index eaf8b60..0bd9899 100644
--- a/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c
+++ b/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c
@@ -105,7 +105,7 @@
   grpc_op *op;
   grpc_call *c;
   grpc_call *s;
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_cancel_after_accept_and_writes_closed", NULL, NULL);
   gpr_timespec deadline = five_seconds_time();
   cq_verifier *v_client = cq_verifier_create(f.client_cq);
   cq_verifier *v_server = cq_verifier_create(f.server_cq);
diff --git a/test/core/end2end/tests/cancel_after_invoke.c b/test/core/end2end/tests/cancel_after_invoke.c
index 618d9e9..c5e0ca5 100644
--- a/test/core/end2end/tests/cancel_after_invoke.c
+++ b/test/core/end2end/tests/cancel_after_invoke.c
@@ -106,7 +106,7 @@
   grpc_op *op;
   grpc_call *c;
   grpc_end2end_test_fixture f =
-      begin_test(config, __FUNCTION__, mode, NULL, NULL);
+      begin_test(config, "test_cancel_after_invoke", mode, NULL, NULL);
   gpr_timespec deadline = five_seconds_time();
   cq_verifier *v_client = cq_verifier_create(f.client_cq);
   grpc_metadata_array initial_metadata_recv;
diff --git a/test/core/end2end/tests/cancel_before_invoke.c b/test/core/end2end/tests/cancel_before_invoke.c
index 9c9d6aa..0482d37 100644
--- a/test/core/end2end/tests/cancel_before_invoke.c
+++ b/test/core/end2end/tests/cancel_before_invoke.c
@@ -103,7 +103,7 @@
   grpc_op ops[6];
   grpc_op *op;
   grpc_call *c;
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "cancel_before_invoke", NULL, NULL);
   gpr_timespec deadline = five_seconds_time();
   cq_verifier *v_client = cq_verifier_create(f.client_cq);
   grpc_metadata_array initial_metadata_recv;
diff --git a/test/core/end2end/tests/cancel_in_a_vacuum.c b/test/core/end2end/tests/cancel_in_a_vacuum.c
index 1bc393a..f0984cb 100644
--- a/test/core/end2end/tests/cancel_in_a_vacuum.c
+++ b/test/core/end2end/tests/cancel_in_a_vacuum.c
@@ -100,7 +100,7 @@
 static void test_cancel_in_a_vacuum(grpc_end2end_test_config config,
                                     cancellation_mode mode) {
   grpc_call *c;
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_cancel_in_a_vacuum", NULL, NULL);
   gpr_timespec deadline = five_seconds_time();
   cq_verifier *v_client = cq_verifier_create(f.client_cq);
 
diff --git a/test/core/end2end/tests/census_simple_request.c b/test/core/end2end/tests/census_simple_request.c
index 2017ab6..b808684 100644
--- a/test/core/end2end/tests/census_simple_request.c
+++ b/test/core/end2end/tests/census_simple_request.c
@@ -204,7 +204,7 @@
   server_args.num_args = 1;
   server_args.args = &server_arg;
 
-  gpr_asprintf(&fullname, "%s/%s", __FUNCTION__, name);
+  gpr_asprintf(&fullname, "%s/%s", "test_invoke_request_with_census", name);
   f = begin_test(config, fullname, &client_args, &server_args);
   body(f);
   end_test(&f);
diff --git a/test/core/end2end/tests/disappearing_server.c b/test/core/end2end/tests/disappearing_server.c
index 89fff81..60e7d22 100644
--- a/test/core/end2end/tests/disappearing_server.c
+++ b/test/core/end2end/tests/disappearing_server.c
@@ -180,7 +180,7 @@
   cq_verifier *v_client = cq_verifier_create(f.client_cq);
   cq_verifier *v_server = cq_verifier_create(f.server_cq);
 
-  gpr_log(GPR_INFO, "%s/%s", __FUNCTION__, config.name);
+  gpr_log(GPR_INFO, "%s/%s", "disappearing_server_test", config.name);
 
   config.init_client(&f, NULL);
   config.init_server(&f, NULL);
diff --git a/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c b/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c
index 42280a6..a448230 100644
--- a/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c
+++ b/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c
@@ -102,7 +102,7 @@
   grpc_call *c;
   grpc_call *s;
   gpr_timespec deadline = five_seconds_time();
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_early_server_shutdown_finishes_inflight_calls", NULL, NULL);
   cq_verifier *v_client = cq_verifier_create(f.client_cq);
   cq_verifier *v_server = cq_verifier_create(f.server_cq);
   grpc_op ops[6];
diff --git a/test/core/end2end/tests/early_server_shutdown_finishes_tags.c b/test/core/end2end/tests/early_server_shutdown_finishes_tags.c
index 857fbb3..a8eb214 100644
--- a/test/core/end2end/tests/early_server_shutdown_finishes_tags.c
+++ b/test/core/end2end/tests/early_server_shutdown_finishes_tags.c
@@ -99,7 +99,7 @@
 
 static void test_early_server_shutdown_finishes_tags(
     grpc_end2end_test_config config) {
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_early_server_shutdown_finishes_tags", NULL, NULL);
   cq_verifier *v_server = cq_verifier_create(f.server_cq);
   grpc_call *s = (void *)1;
   grpc_call_details call_details;
diff --git a/test/core/end2end/tests/empty_batch.c b/test/core/end2end/tests/empty_batch.c
index a57f921..d1e5527 100644
--- a/test/core/end2end/tests/empty_batch.c
+++ b/test/core/end2end/tests/empty_batch.c
@@ -121,7 +121,7 @@
 static void test_invoke_empty_body(grpc_end2end_test_config config) {
   grpc_end2end_test_fixture f;
 
-  f = begin_test(config, __FUNCTION__, NULL, NULL);
+  f = begin_test(config, "test_invoke_empty_body", NULL, NULL);
   empty_batch_body(f);
   end_test(&f);
   config.tear_down_data(&f);
diff --git a/test/core/end2end/tests/graceful_server_shutdown.c b/test/core/end2end/tests/graceful_server_shutdown.c
index 9c44f6e..d7b9fde 100644
--- a/test/core/end2end/tests/graceful_server_shutdown.c
+++ b/test/core/end2end/tests/graceful_server_shutdown.c
@@ -101,7 +101,7 @@
   grpc_call *c;
   grpc_call *s;
   gpr_timespec deadline = five_seconds_time();
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_early_server_shutdown_finishes_inflight_calls", NULL, NULL);
   cq_verifier *v_client = cq_verifier_create(f.client_cq);
   cq_verifier *v_server = cq_verifier_create(f.server_cq);
   grpc_op ops[6];
diff --git a/test/core/end2end/tests/invoke_large_request.c b/test/core/end2end/tests/invoke_large_request.c
index a5d8faa..5552016 100644
--- a/test/core/end2end/tests/invoke_large_request.c
+++ b/test/core/end2end/tests/invoke_large_request.c
@@ -102,7 +102,7 @@
 }
 
 static void test_invoke_large_request(grpc_end2end_test_config config) {
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_invoke_large_request", NULL, NULL);
 
   gpr_slice request_payload_slice = large_slice();
   gpr_slice response_payload_slice = large_slice();
diff --git a/test/core/end2end/tests/max_concurrent_streams.c b/test/core/end2end/tests/max_concurrent_streams.c
index 59227d9..ef0af34 100644
--- a/test/core/end2end/tests/max_concurrent_streams.c
+++ b/test/core/end2end/tests/max_concurrent_streams.c
@@ -222,7 +222,7 @@
   server_args.num_args = 1;
   server_args.args = &server_arg;
 
-  f = begin_test(config, __FUNCTION__, NULL, &server_args);
+  f = begin_test(config, "test_max_concurrent_streams", NULL, &server_args);
   v_client = cq_verifier_create(f.client_cq);
   v_server = cq_verifier_create(f.server_cq);
 
diff --git a/test/core/end2end/tests/max_message_length.c b/test/core/end2end/tests/max_message_length.c
index 78502e4..532986e 100644
--- a/test/core/end2end/tests/max_message_length.c
+++ b/test/core/end2end/tests/max_message_length.c
@@ -126,7 +126,7 @@
   server_args.num_args = 1;
   server_args.args = &server_arg;
 
-  f = begin_test(config, __FUNCTION__, NULL, &server_args);
+  f = begin_test(config, "test_max_message_length", NULL, &server_args);
   v_client = cq_verifier_create(f.client_cq);
   v_server = cq_verifier_create(f.server_cq);
 
diff --git a/test/core/end2end/tests/no_op.c b/test/core/end2end/tests/no_op.c
index 000d2ff..5b18efc 100644
--- a/test/core/end2end/tests/no_op.c
+++ b/test/core/end2end/tests/no_op.c
@@ -96,7 +96,7 @@
 }
 
 static void test_no_op(grpc_end2end_test_config config) {
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "no-op", NULL, NULL);
   end_test(&f);
   config.tear_down_data(&f);
 }
diff --git a/test/core/end2end/tests/ping_pong_streaming.c b/test/core/end2end/tests/ping_pong_streaming.c
index 2bd1792..cfd4e45 100644
--- a/test/core/end2end/tests/ping_pong_streaming.c
+++ b/test/core/end2end/tests/ping_pong_streaming.c
@@ -100,7 +100,7 @@
 /* Client pings and server pongs. Repeat messages rounds before finishing. */
 static void test_pingpong_streaming(grpc_end2end_test_config config,
                                     int messages) {
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_pingpong_streaming", NULL, NULL);
   grpc_call *c;
   grpc_call *s;
   gpr_timespec deadline = five_seconds_time();
diff --git a/test/core/end2end/tests/registered_call.c b/test/core/end2end/tests/registered_call.c
index 54663c3..2cf2cce 100644
--- a/test/core/end2end/tests/registered_call.c
+++ b/test/core/end2end/tests/registered_call.c
@@ -188,7 +188,7 @@
 }
 
 static void test_invoke_simple_request(grpc_end2end_test_config config) {
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_invoke_simple_request", NULL, NULL);
   void *rc =
       grpc_channel_register_call(f.client, "/foo", "foo.test.google.fr:1234");
 
@@ -199,7 +199,7 @@
 
 static void test_invoke_10_simple_requests(grpc_end2end_test_config config) {
   int i;
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_invoke_10_simple_requests", NULL, NULL);
   void *rc =
       grpc_channel_register_call(f.client, "/foo", "foo.test.google.fr:1234");
 
diff --git a/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c b/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c
index 868b5f0..69eb68a 100644
--- a/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c
+++ b/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c
@@ -127,7 +127,7 @@
        "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff",
        16,
        {{NULL, NULL, NULL}}}};
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_request_response_with_metadata_and_payload", NULL, NULL);
   cq_verifier *v_client = cq_verifier_create(f.client_cq);
   cq_verifier *v_server = cq_verifier_create(f.server_cq);
   grpc_op ops[6];
diff --git a/test/core/end2end/tests/request_response_with_metadata_and_payload.c b/test/core/end2end/tests/request_response_with_metadata_and_payload.c
index 9c5d290..fe15fa2 100644
--- a/test/core/end2end/tests/request_response_with_metadata_and_payload.c
+++ b/test/core/end2end/tests/request_response_with_metadata_and_payload.c
@@ -113,7 +113,7 @@
                              {"key2", "val2", 4, {{NULL, NULL, NULL}}}};
   grpc_metadata meta_s[2] = {{"key3", "val3", 4, {{NULL, NULL, NULL}}},
                              {"key4", "val4", 4, {{NULL, NULL, NULL}}}};
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_request_response_with_metadata_and_payload", NULL, NULL);
   cq_verifier *v_client = cq_verifier_create(f.client_cq);
   cq_verifier *v_server = cq_verifier_create(f.server_cq);
   grpc_op ops[6];
diff --git a/test/core/end2end/tests/request_response_with_payload.c b/test/core/end2end/tests/request_response_with_payload.c
index 7db2027..f0122ea 100644
--- a/test/core/end2end/tests/request_response_with_payload.c
+++ b/test/core/end2end/tests/request_response_with_payload.c
@@ -223,7 +223,7 @@
    payload and status. */
 static void test_invoke_request_response_with_payload(
     grpc_end2end_test_config config) {
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_invoke_request_response_with_payload", NULL, NULL);
   request_response_with_payload(f);
   end_test(&f);
   config.tear_down_data(&f);
@@ -232,7 +232,7 @@
 static void test_invoke_10_request_response_with_payload(
     grpc_end2end_test_config config) {
   int i;
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_invoke_10_request_response_with_payload", NULL, NULL);
   for (i = 0; i < 10; i++) {
     request_response_with_payload(f);
   }
diff --git a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c
index 4373459..df1e9d7 100644
--- a/test/core/end2end/tests/request_response_with_payload_and_call_creds.c
+++ b/test/core/end2end/tests/request_response_with_payload_and_call_creds.c
@@ -114,7 +114,7 @@
 static void test_call_creds_failure(grpc_end2end_test_config config) {
   grpc_call *c;
   grpc_credentials *creds = NULL;
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_call_creds_failure", NULL, NULL);
   gpr_timespec deadline = five_seconds_time();
   c = grpc_channel_create_call(f.client, f.client_cq, "/foo",
                                "foo.test.google.fr", deadline);
@@ -318,17 +318,17 @@
 
 void test_request_response_with_payload_and_call_creds(
     grpc_end2end_test_config config) {
-  request_response_with_payload_and_call_creds(__FUNCTION__, config, NONE);
+  request_response_with_payload_and_call_creds("test_request_response_with_payload_and_call_creds", config, NONE);
 }
 
 void test_request_response_with_payload_and_overridden_call_creds(
     grpc_end2end_test_config config) {
-  request_response_with_payload_and_call_creds(__FUNCTION__, config, OVERRIDE);
+  request_response_with_payload_and_call_creds("test_request_response_with_payload_and_overridden_call_creds", config, OVERRIDE);
 }
 
 void test_request_response_with_payload_and_deleted_call_creds(
     grpc_end2end_test_config config) {
-  request_response_with_payload_and_call_creds(__FUNCTION__, config, DESTROY);
+  request_response_with_payload_and_call_creds("test_request_response_with_payload_and_deleted_call_creds", config, DESTROY);
 }
 
 void grpc_end2end_tests(grpc_end2end_test_config config) {
diff --git a/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c b/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c
index 2f7b53c..2f221f4 100644
--- a/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c
+++ b/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c
@@ -112,7 +112,7 @@
   grpc_metadata meta_c[2] = {{"key1", "val1", 4, {{NULL, NULL, NULL}}}, {"key2", "val2", 4, {{NULL, NULL, NULL}}}};
   grpc_metadata meta_s[2] = {{"key3", "val3", 4, {{NULL, NULL, NULL}}}, {"key4", "val4", 4, {{NULL, NULL, NULL}}}};
   grpc_metadata meta_t[2] = {{"key5", "val5", 4, {{NULL, NULL, NULL}}}, {"key6", "val6", 4, {{NULL, NULL, NULL}}}};
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_request_response_with_metadata_and_payload", NULL, NULL);
   cq_verifier *v_client = cq_verifier_create(f.client_cq);
   cq_verifier *v_server = cq_verifier_create(f.server_cq);
   grpc_op ops[6];
diff --git a/test/core/end2end/tests/request_with_large_metadata.c b/test/core/end2end/tests/request_with_large_metadata.c
index 81a1572..b89ccb7 100644
--- a/test/core/end2end/tests/request_with_large_metadata.c
+++ b/test/core/end2end/tests/request_with_large_metadata.c
@@ -106,7 +106,7 @@
       grpc_byte_buffer_create(&request_payload_slice, 1);
   gpr_timespec deadline = five_seconds_time();
   grpc_metadata meta;
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_request_with_large_metadata", NULL, NULL);
   cq_verifier *v_client = cq_verifier_create(f.client_cq);
   cq_verifier *v_server = cq_verifier_create(f.server_cq);
   grpc_op ops[6];
diff --git a/test/core/end2end/tests/request_with_payload.c b/test/core/end2end/tests/request_with_payload.c
index 0d527b4..9f6f2a9 100644
--- a/test/core/end2end/tests/request_with_payload.c
+++ b/test/core/end2end/tests/request_with_payload.c
@@ -105,7 +105,7 @@
   grpc_byte_buffer *request_payload =
       grpc_byte_buffer_create(&request_payload_slice, 1);
   gpr_timespec deadline = five_seconds_time();
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_invoke_request_with_payload", NULL, NULL);
   cq_verifier *v_client = cq_verifier_create(f.client_cq);
   cq_verifier *v_server = cq_verifier_create(f.server_cq);
   grpc_op ops[6];
diff --git a/test/core/end2end/tests/server_finishes_request.c b/test/core/end2end/tests/server_finishes_request.c
index c19871c..a0c1865 100644
--- a/test/core/end2end/tests/server_finishes_request.c
+++ b/test/core/end2end/tests/server_finishes_request.c
@@ -189,7 +189,7 @@
 static void test_invoke_simple_request(grpc_end2end_test_config config) {
   grpc_end2end_test_fixture f;
 
-  f = begin_test(config, __FUNCTION__, NULL, NULL);
+  f = begin_test(config, "test_invoke_simple_request", NULL, NULL);
   simple_request_body(f);
   end_test(&f);
   config.tear_down_data(&f);
diff --git a/test/core/end2end/tests/simple_delayed_request.c b/test/core/end2end/tests/simple_delayed_request.c
index d8463d4..59cc9b5 100644
--- a/test/core/end2end/tests/simple_delayed_request.c
+++ b/test/core/end2end/tests/simple_delayed_request.c
@@ -185,7 +185,7 @@
 static void test_simple_delayed_request_short(grpc_end2end_test_config config) {
   grpc_end2end_test_fixture f;
 
-  gpr_log(GPR_INFO, "%s/%s", __FUNCTION__, config.name);
+  gpr_log(GPR_INFO, "%s/%s", "test_simple_delayed_request_short", config.name);
   f = config.create_fixture(NULL, NULL);
   simple_delayed_request_body(config, &f, NULL, NULL, 100000);
   end_test(&f);
@@ -195,7 +195,7 @@
 static void test_simple_delayed_request_long(grpc_end2end_test_config config) {
   grpc_end2end_test_fixture f;
 
-  gpr_log(GPR_INFO, "%s/%s", __FUNCTION__, config.name);
+  gpr_log(GPR_INFO, "%s/%s", "test_simple_delayed_request_long", config.name);
   f = config.create_fixture(NULL, NULL);
   /* This timeout should be longer than a single retry */
   simple_delayed_request_body(config, &f, NULL, NULL, 1500000);
diff --git a/test/core/end2end/tests/simple_request.c b/test/core/end2end/tests/simple_request.c
index 98e6779..80c092c 100644
--- a/test/core/end2end/tests/simple_request.c
+++ b/test/core/end2end/tests/simple_request.c
@@ -191,7 +191,7 @@
 static void test_invoke_simple_request(grpc_end2end_test_config config) {
   grpc_end2end_test_fixture f;
 
-  f = begin_test(config, __FUNCTION__, NULL, NULL);
+  f = begin_test(config, "test_invoke_simple_request", NULL, NULL);
   simple_request_body(f);
   end_test(&f);
   config.tear_down_data(&f);
@@ -199,7 +199,7 @@
 
 static void test_invoke_10_simple_requests(grpc_end2end_test_config config) {
   int i;
-  grpc_end2end_test_fixture f = begin_test(config, __FUNCTION__, NULL, NULL);
+  grpc_end2end_test_fixture f = begin_test(config, "test_invoke_10_simple_requests", NULL, NULL);
   for (i = 0; i < 10; i++) {
     simple_request_body(f);
     gpr_log(GPR_INFO, "Passed simple request %d", i);
diff --git a/test/core/end2end/tests/simple_request_with_high_initial_sequence_number.c b/test/core/end2end/tests/simple_request_with_high_initial_sequence_number.c
index 3c1a19a..67e0730 100644
--- a/test/core/end2end/tests/simple_request_with_high_initial_sequence_number.c
+++ b/test/core/end2end/tests/simple_request_with_high_initial_sequence_number.c
@@ -201,7 +201,7 @@
   client_args.num_args = 1;
   client_args.args = &client_arg;
 
-  f = begin_test(config, __FUNCTION__, &client_args, NULL);
+  f = begin_test(config, "test_invoke_10_simple_requests", &client_args, NULL);
   for (i = 0; i < 10; i++) {
     simple_request_body(f);
     gpr_log(GPR_INFO, "Passed simple request %d", i);
diff --git a/test/core/httpcli/httpcli_test.c b/test/core/httpcli/httpcli_test.c
index 17a2996..fb2dbc0 100644
--- a/test/core/httpcli/httpcli_test.c
+++ b/test/core/httpcli/httpcli_test.c
@@ -56,7 +56,7 @@
 static void test_get(int use_ssl) {
   grpc_httpcli_request req;
 
-  gpr_log(GPR_INFO, "running %s with use_ssl=%d.", __FUNCTION__, use_ssl);
+  gpr_log(GPR_INFO, "running %s with use_ssl=%d.", "test_get", use_ssl);
 
   gpr_event_init(&g_done);
   memset(&req, 0, sizeof(req));
@@ -72,7 +72,7 @@
 static void test_post(int use_ssl) {
   grpc_httpcli_request req;
 
-  gpr_log(GPR_INFO, "running %s with use_ssl=%d.", __FUNCTION__, (int)use_ssl);
+  gpr_log(GPR_INFO, "running %s with use_ssl=%d.", "test_post", (int)use_ssl);
 
   gpr_event_init(&g_done);
   memset(&req, 0, sizeof(req));
diff --git a/test/core/iomgr/endpoint_tests.c b/test/core/iomgr/endpoint_tests.c
index e63048e..f9c5282 100644
--- a/test/core/iomgr/endpoint_tests.c
+++ b/test/core/iomgr/endpoint_tests.c
@@ -160,7 +160,7 @@
 
   GPR_ASSERT(error != GRPC_ENDPOINT_CB_ERROR);
 
-  gpr_log(GPR_DEBUG, "%s: error=%d", __FUNCTION__, error);
+  gpr_log(GPR_DEBUG, "%s: error=%d", "read_and_write_test_write_handler", error);
 
   if (error == GRPC_ENDPOINT_CB_SHUTDOWN) {
     gpr_log(GPR_INFO, "Write handler shutdown");
@@ -213,7 +213,7 @@
                                 size_t slice_size, int shutdown) {
   struct read_and_write_test_state state;
   gpr_timespec deadline = GRPC_TIMEOUT_SECONDS_TO_DEADLINE(20);
-  grpc_endpoint_test_fixture f = begin_test(config, __FUNCTION__, slice_size);
+  grpc_endpoint_test_fixture f = begin_test(config, "read_and_write_test", slice_size);
 
   if (shutdown) {
     gpr_log(GPR_INFO, "Start read and write shutdown test");
@@ -323,7 +323,7 @@
   shutdown_during_write_test_state read_st;
   shutdown_during_write_test_state write_st;
   gpr_slice *slices;
-  grpc_endpoint_test_fixture f = begin_test(config, __FUNCTION__, slice_size);
+  grpc_endpoint_test_fixture f = begin_test(config, "shutdown_during_write_test", slice_size);
 
   gpr_log(GPR_INFO, "testing shutdown during a write");
 
diff --git a/test/core/iomgr/sockaddr_utils_test.c b/test/core/iomgr/sockaddr_utils_test.c
index 9212f01..dfab340 100644
--- a/test/core/iomgr/sockaddr_utils_test.c
+++ b/test/core/iomgr/sockaddr_utils_test.c
@@ -75,7 +75,7 @@
   struct sockaddr_in output4;
   struct sockaddr_in expect4;
 
-  gpr_log(GPR_INFO, "%s", __FUNCTION__);
+  gpr_log(GPR_INFO, "%s", "test_sockaddr_is_v4mapped");
 
   /* v4mapped input should succeed. */
   input6 = make_addr6(kMapped, sizeof(kMapped));
@@ -106,7 +106,7 @@
   struct sockaddr_in6 output6;
   struct sockaddr_in6 expect6;
 
-  gpr_log(GPR_INFO, "%s", __FUNCTION__);
+  gpr_log(GPR_INFO, "%s", "test_sockaddr_to_v4mapped");
 
   /* IPv4 input should succeed. */
   input4 = make_addr4(kIPv4, sizeof(kIPv4));
@@ -135,7 +135,7 @@
   struct sockaddr dummy;
   int port;
 
-  gpr_log(GPR_INFO, "%s", __FUNCTION__);
+  gpr_log(GPR_INFO, "%s", "test_sockaddr_is_wildcard");
 
   /* Generate wildcards. */
   grpc_sockaddr_make_wildcards(555, &wild4, &wild6);
@@ -192,7 +192,7 @@
   struct sockaddr_in6 input6;
   struct sockaddr dummy;
 
-  gpr_log(GPR_INFO, "%s", __FUNCTION__);
+  gpr_log(GPR_INFO, "%s", "test_sockaddr_to_string");
 
   errno = 0x7EADBEEF;
 
diff --git a/test/core/iomgr/tcp_server_posix_test.c b/test/core/iomgr/tcp_server_posix_test.c
index 1c02c4b..328b19f 100644
--- a/test/core/iomgr/tcp_server_posix_test.c
+++ b/test/core/iomgr/tcp_server_posix_test.c
@@ -43,7 +43,7 @@
 #include <string.h>
 #include <unistd.h>
 
-#define LOG_TEST() gpr_log(GPR_INFO, "%s", __FUNCTION__)
+#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", #x)
 
 static gpr_mu mu;
 static gpr_cv cv;
@@ -66,7 +66,7 @@
 
 static void test_no_op_with_start(void) {
   grpc_tcp_server *s = grpc_tcp_server_create();
-  LOG_TEST();
+  LOG_TEST("test_no_op_with_start");
   grpc_tcp_server_start(s, NULL, 0, on_connect, NULL);
   grpc_tcp_server_destroy(s, NULL, NULL);
 }
@@ -74,7 +74,7 @@
 static void test_no_op_with_port(void) {
   struct sockaddr_in addr;
   grpc_tcp_server *s = grpc_tcp_server_create();
-  LOG_TEST();
+  LOG_TEST("test_no_op_with_port");
 
   memset(&addr, 0, sizeof(addr));
   addr.sin_family = AF_INET;
@@ -87,7 +87,7 @@
 static void test_no_op_with_port_and_start(void) {
   struct sockaddr_in addr;
   grpc_tcp_server *s = grpc_tcp_server_create();
-  LOG_TEST();
+  LOG_TEST("test_no_op_with_port_and_start");
 
   memset(&addr, 0, sizeof(addr));
   addr.sin_family = AF_INET;
@@ -107,7 +107,7 @@
   int nconnects_before;
   gpr_timespec deadline;
   int i;
-  LOG_TEST();
+  LOG_TEST("test_connect");
   gpr_log(GPR_INFO, "clients=%d", n);
 
   gpr_mu_lock(&mu);
diff --git a/test/core/support/cmdline_test.c b/test/core/support/cmdline_test.c
index 52c311f..a7767ac 100644
--- a/test/core/support/cmdline_test.c
+++ b/test/core/support/cmdline_test.c
@@ -39,12 +39,12 @@
 #include <grpc/support/useful.h>
 #include "test/core/util/test_config.h"
 
-#define LOG_TEST() gpr_log(GPR_INFO, "%s", __FUNCTION__)
+#define LOG_TEST() gpr_log(GPR_INFO, "%s", __FILE__)
 
 static void test_simple_int(void) {
   int x = 1;
   gpr_cmdline *cl;
-  char *args[] = {(char *)__FUNCTION__, "-foo", "3"};
+  char *args[] = {(char *)__FILE__, "-foo", "3"};
 
   LOG_TEST();
 
@@ -59,7 +59,7 @@
 static void test_eq_int(void) {
   int x = 1;
   gpr_cmdline *cl;
-  char *args[] = {(char *)__FUNCTION__, "-foo=3"};
+  char *args[] = {(char *)__FILE__, "-foo=3"};
 
   LOG_TEST();
 
@@ -74,7 +74,7 @@
 static void test_2dash_int(void) {
   int x = 1;
   gpr_cmdline *cl;
-  char *args[] = {(char *)__FUNCTION__, "--foo", "3"};
+  char *args[] = {(char *)__FILE__, "--foo", "3"};
 
   LOG_TEST();
 
@@ -89,7 +89,7 @@
 static void test_2dash_eq_int(void) {
   int x = 1;
   gpr_cmdline *cl;
-  char *args[] = {(char *)__FUNCTION__, "--foo=3"};
+  char *args[] = {(char *)__FILE__, "--foo=3"};
 
   LOG_TEST();
 
@@ -104,7 +104,7 @@
 static void test_simple_string(void) {
   char *x = NULL;
   gpr_cmdline *cl;
-  char *args[] = {(char *)__FUNCTION__, "-foo", "3"};
+  char *args[] = {(char *)__FILE__, "-foo", "3"};
 
   LOG_TEST();
 
@@ -119,7 +119,7 @@
 static void test_eq_string(void) {
   char *x = NULL;
   gpr_cmdline *cl;
-  char *args[] = {(char *)__FUNCTION__, "-foo=3"};
+  char *args[] = {(char *)__FILE__, "-foo=3"};
 
   LOG_TEST();
 
@@ -134,7 +134,7 @@
 static void test_2dash_string(void) {
   char *x = NULL;
   gpr_cmdline *cl;
-  char *args[] = {(char *)__FUNCTION__, "--foo", "3"};
+  char *args[] = {(char *)__FILE__, "--foo", "3"};
 
   LOG_TEST();
 
@@ -149,7 +149,7 @@
 static void test_2dash_eq_string(void) {
   char *x = NULL;
   gpr_cmdline *cl;
-  char *args[] = {(char *)__FUNCTION__, "--foo=3"};
+  char *args[] = {(char *)__FILE__, "--foo=3"};
 
   LOG_TEST();
 
@@ -164,7 +164,7 @@
 static void test_flag_on(void) {
   int x = 2;
   gpr_cmdline *cl;
-  char *args[] = {(char *)__FUNCTION__, "--foo"};
+  char *args[] = {(char *)__FILE__, "--foo"};
 
   LOG_TEST();
 
@@ -179,7 +179,7 @@
 static void test_flag_no(void) {
   int x = 2;
   gpr_cmdline *cl;
-  char *args[] = {(char *)__FUNCTION__, "--no-foo"};
+  char *args[] = {(char *)__FILE__, "--no-foo"};
 
   LOG_TEST();
 
@@ -194,7 +194,7 @@
 static void test_flag_val_1(void) {
   int x = 2;
   gpr_cmdline *cl;
-  char *args[] = {(char *)__FUNCTION__, "--foo=1"};
+  char *args[] = {(char *)__FILE__, "--foo=1"};
 
   LOG_TEST();
 
@@ -209,7 +209,7 @@
 static void test_flag_val_0(void) {
   int x = 2;
   gpr_cmdline *cl;
-  char *args[] = {(char *)__FUNCTION__, "--foo=0"};
+  char *args[] = {(char *)__FILE__, "--foo=0"};
 
   LOG_TEST();
 
@@ -224,7 +224,7 @@
 static void test_flag_val_true(void) {
   int x = 2;
   gpr_cmdline *cl;
-  char *args[] = {(char *)__FUNCTION__, "--foo=true"};
+  char *args[] = {(char *)__FILE__, "--foo=true"};
 
   LOG_TEST();
 
@@ -239,7 +239,7 @@
 static void test_flag_val_false(void) {
   int x = 2;
   gpr_cmdline *cl;
-  char *args[] = {(char *)__FUNCTION__, "--foo=false"};
+  char *args[] = {(char *)__FILE__, "--foo=false"};
 
   LOG_TEST();
 
@@ -257,7 +257,7 @@
   int flag = 2;
   gpr_cmdline *cl;
 
-  char *args[] = {(char *)__FUNCTION__, "--str", "hello", "-x=4", "-no-flag"};
+  char *args[] = {(char *)__FILE__, "--str", "hello", "-x=4", "-no-flag"};
 
   LOG_TEST();
 
diff --git a/test/core/support/env_test.c b/test/core/support/env_test.c
index aedf931..69aebcc 100644
--- a/test/core/support/env_test.c
+++ b/test/core/support/env_test.c
@@ -41,14 +41,14 @@
 #include "src/core/support/string.h"
 #include "test/core/util/test_config.h"
 
-#define LOG_TEST_NAME() gpr_log(GPR_INFO, "%s", __FUNCTION__)
+#define LOG_TEST_NAME(x) gpr_log(GPR_INFO, "%s", x)
 
 static void test_setenv_getenv(void) {
   const char *name = "FOO";
   const char *value = "BAR";
   char *retrieved_value;
 
-  LOG_TEST_NAME();
+  LOG_TEST_NAME("test_setenv_getenv");
 
   gpr_setenv(name, value);
   retrieved_value = gpr_getenv(name);
diff --git a/test/core/support/file_test.c b/test/core/support/file_test.c
index 56e7a49..330b217 100644
--- a/test/core/support/file_test.c
+++ b/test/core/support/file_test.c
@@ -42,7 +42,7 @@
 #include "src/core/support/string.h"
 #include "test/core/util/test_config.h"
 
-#define LOG_TEST_NAME() gpr_log(GPR_INFO, "%s", __FUNCTION__)
+#define LOG_TEST_NAME(x) gpr_log(GPR_INFO, "%s", x)
 
 static const char prefix[] = "file_test";
 
@@ -53,7 +53,7 @@
   int success;
   char *tmp_name;
 
-  LOG_TEST_NAME();
+  LOG_TEST_NAME("test_load_empty_file");
 
   tmp = gpr_tmpfile(prefix, &tmp_name);
   GPR_ASSERT(tmp_name != NULL);
@@ -81,7 +81,7 @@
   int success;
   char *tmp_name;
 
-  LOG_TEST_NAME();
+  LOG_TEST_NAME("test_load_failure");
 
   tmp = gpr_tmpfile(prefix, &tmp_name);
   GPR_ASSERT(tmp_name != NULL);
@@ -104,7 +104,7 @@
   char *tmp_name;
   const char *blah = "blah";
 
-  LOG_TEST_NAME();
+  LOG_TEST_NAME("test_load_small_file");
 
   tmp = gpr_tmpfile(prefix, &tmp_name);
   GPR_ASSERT(tmp_name != NULL);
@@ -138,7 +138,7 @@
   unsigned char *current;
   size_t i;
 
-  LOG_TEST_NAME();
+  LOG_TEST_NAME("test_load_big_file");
 
   for (i = 0; i < sizeof(buffer); i++) {
     buffer[i] = 42;
diff --git a/test/core/support/histogram_test.c b/test/core/support/histogram_test.c
index 3994430..be935ed 100644
--- a/test/core/support/histogram_test.c
+++ b/test/core/support/histogram_test.c
@@ -34,7 +34,7 @@
 #include <grpc/support/histogram.h>
 #include <grpc/support/log.h>
 
-#define LOG_TEST() gpr_log(GPR_INFO, "%s", __FUNCTION__);
+#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x);
 
 static void test_no_op(void) {
   gpr_histogram_destroy(gpr_histogram_create(0.01, 60e9));
@@ -52,7 +52,7 @@
 static void test_simple(void) {
   gpr_histogram *h;
 
-  LOG_TEST();
+  LOG_TEST("test_simple");
 
   h = gpr_histogram_create(0.01, 60e9);
   gpr_histogram_add(h, 10000);
@@ -72,7 +72,7 @@
   double i;
   double cur;
 
-  LOG_TEST();
+  LOG_TEST("test_percentile");
 
   h = gpr_histogram_create(0.05, 1e9);
   gpr_histogram_add(h, 2.5);
@@ -117,7 +117,7 @@
   double i;
   double cur;
 
-  LOG_TEST();
+  LOG_TEST("test_merge");
 
   h1 = gpr_histogram_create(0.05, 1e9);
   gpr_histogram_add(h1, 2.5);
diff --git a/test/core/support/slice_test.c b/test/core/support/slice_test.c
index 4ab3d6f..63dedea 100644
--- a/test/core/support/slice_test.c
+++ b/test/core/support/slice_test.c
@@ -38,7 +38,7 @@
 #include <grpc/support/log.h>
 #include "test/core/util/test_config.h"
 
-#define LOG_TEST_NAME() gpr_log(GPR_INFO, "%s", __FUNCTION__);
+#define LOG_TEST_NAME(x) gpr_log(GPR_INFO, "%s", x);
 
 static void test_slice_malloc_returns_something_sensible(void) {
   /* Calls gpr_slice_create for various lengths and verifies the internals for
@@ -47,7 +47,7 @@
   size_t i;
   gpr_slice slice;
 
-  LOG_TEST_NAME();
+  LOG_TEST_NAME("test_slice_malloc_returns_something_sensible");
 
   for (length = 0; length <= 1024; length++) {
     slice = gpr_slice_malloc(length);
@@ -108,7 +108,7 @@
   gpr_slice sub;
   unsigned i, j, k;
 
-  LOG_TEST_NAME();
+  LOG_TEST_NAME("test_slice_sub_works");
   gpr_log(GPR_INFO, "length=%d", length);
 
   /* Create a slice in which each byte is equal to the distance from it to the
@@ -147,7 +147,7 @@
   gpr_slice head, tail;
   int i;
 
-  LOG_TEST_NAME();
+  LOG_TEST_NAME("test_slice_split_head_works");
   gpr_log(GPR_INFO, "length=%d", length);
 
   /* Create a slice in which each byte is equal to the distance from it to the
@@ -175,7 +175,7 @@
   gpr_slice head, tail;
   int i;
 
-  LOG_TEST_NAME();
+  LOG_TEST_NAME("test_slice_split_tail_works");
   gpr_log(GPR_INFO, "length=%d", length);
 
   /* Create a slice in which each byte is equal to the distance from it to the
@@ -202,7 +202,7 @@
   static const char *text = "HELLO WORLD!";
   gpr_slice slice;
 
-  LOG_TEST_NAME();
+  LOG_TEST_NAME("test_slice_from_copied_string_works");
 
   slice = gpr_slice_from_copied_string(text);
   GPR_ASSERT(strlen(text) == GPR_SLICE_LENGTH(slice));
diff --git a/test/core/support/string_test.c b/test/core/support/string_test.c
index a78e478..a1692ab 100644
--- a/test/core/support/string_test.c
+++ b/test/core/support/string_test.c
@@ -42,13 +42,13 @@
 #include <grpc/support/useful.h>
 #include "test/core/util/test_config.h"
 
-#define LOG_TEST_NAME() gpr_log(GPR_INFO, "%s", __FUNCTION__)
+#define LOG_TEST_NAME(x) gpr_log(GPR_INFO, "%s", x)
 
 static void test_strdup(void) {
   static const char *src1 = "hello world";
   char *dst1;
 
-  LOG_TEST_NAME();
+  LOG_TEST_NAME("test_strdup");
 
   dst1 = gpr_strdup(src1);
   GPR_ASSERT(0 == strcmp(src1, dst1));
@@ -65,7 +65,7 @@
 }
 
 static void test_hexdump(void) {
-  LOG_TEST_NAME();
+  LOG_TEST_NAME("test_hexdump");
   expect_hexdump("\x01", 1, 0, "01");
   expect_hexdump("\x01", 1, GPR_HEXDUMP_PLAINTEXT, "01 '.'");
   expect_hexdump("\x01\x02", 2, 0, "01 02");
@@ -86,7 +86,7 @@
 }
 
 static void test_parse_uint32(void) {
-  LOG_TEST_NAME();
+  LOG_TEST_NAME("test_parse_uint32");
 
   test_pu32_fail("-1");
   test_pu32_fail("a");
@@ -123,7 +123,7 @@
   char *buf;
   int i, j;
 
-  LOG_TEST_NAME();
+  LOG_TEST_NAME("test_asprintf");
 
   /* Print an empty string. */
   GPR_ASSERT(gpr_asprintf(&buf, "") == 0);
diff --git a/test/core/surface/byte_buffer_reader_test.c b/test/core/surface/byte_buffer_reader_test.c
index b121abf..9265ef1 100644
--- a/test/core/surface/byte_buffer_reader_test.c
+++ b/test/core/surface/byte_buffer_reader_test.c
@@ -44,13 +44,13 @@
 
 #include <string.h>
 
-#define LOG_TEST() gpr_log(GPR_INFO, "%s", __FUNCTION__)
+#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
 
 static void test_create(void) {
   grpc_byte_buffer *buffer;
   grpc_byte_buffer_reader *reader;
   gpr_slice empty = gpr_empty_slice();
-  LOG_TEST();
+  LOG_TEST("test_create");
   buffer = grpc_byte_buffer_create(&empty, 1);
   reader = grpc_byte_buffer_reader_create(buffer);
   grpc_byte_buffer_reader_destroy(reader);
@@ -64,7 +64,7 @@
   gpr_slice first_slice, second_slice;
   int first_code, second_code;
 
-  LOG_TEST();
+  LOG_TEST("test_read_one_slice");
   slice = gpr_slice_from_copied_string("test");
   buffer = grpc_byte_buffer_create(&slice, 1);
   gpr_slice_unref(slice);
@@ -86,7 +86,7 @@
   gpr_slice first_slice, second_slice;
   int first_code, second_code;
 
-  LOG_TEST();
+  LOG_TEST("test_read_one_slice_malloc");
   slice = gpr_slice_malloc(4);
   memcpy(GPR_SLICE_START_PTR(slice), "test", 4);
   buffer = grpc_byte_buffer_create(&slice, 1);
diff --git a/test/core/surface/completion_queue_test.c b/test/core/surface/completion_queue_test.c
index 3e84eaf..e26f379 100644
--- a/test/core/surface/completion_queue_test.c
+++ b/test/core/surface/completion_queue_test.c
@@ -41,7 +41,7 @@
 #include <grpc/support/useful.h>
 #include "test/core/util/test_config.h"
 
-#define LOG_TEST() gpr_log(GPR_INFO, "%s", __FUNCTION__)
+#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
 
 static void *create_test_tag(void) {
   static gpr_intptr i = 0;
@@ -59,14 +59,14 @@
 
 /* ensure we can create and destroy a completion channel */
 static void test_no_op(void) {
-  LOG_TEST();
+  LOG_TEST("test_no_op");
   shutdown_and_destroy(grpc_completion_queue_create());
 }
 
 static void test_wait_empty(void) {
   grpc_completion_queue *cc;
 
-  LOG_TEST();
+  LOG_TEST("test_wait_empty");
 
   cc = grpc_completion_queue_create();
   GPR_ASSERT(grpc_completion_queue_next(cc, gpr_now()).type ==
@@ -79,7 +79,7 @@
   grpc_completion_queue *cc;
   void *tag = create_test_tag();
 
-  LOG_TEST();
+  LOG_TEST("test_cq_end_op");
 
   cc = grpc_completion_queue_create();
 
@@ -100,7 +100,7 @@
   void *tags[128];
   unsigned i, j;
 
-  LOG_TEST();
+  LOG_TEST("test_pluck");
 
   for (i = 0; i < GPR_ARRAY_SIZE(tags); i++) {
     tags[i] = create_test_tag();
@@ -222,7 +222,7 @@
   int total_consumed = 0;
   static int optid = 101;
 
-  gpr_log(GPR_INFO, "%s: %d producers, %d consumers", __FUNCTION__, producers,
+  gpr_log(GPR_INFO, "%s: %d producers, %d consumers", "test_threading", producers,
           consumers);
 
   grpc_completion_queue_dont_poll_test_only(cc);
diff --git a/test/core/transport/chttp2/hpack_table_test.c b/test/core/transport/chttp2/hpack_table_test.c
index d1e5f08..6bc6978 100644
--- a/test/core/transport/chttp2/hpack_table_test.c
+++ b/test/core/transport/chttp2/hpack_table_test.c
@@ -41,7 +41,7 @@
 #include <grpc/support/log.h>
 #include "test/core/util/test_config.h"
 
-#define LOG_TEST() gpr_log(GPR_INFO, "%s", __FUNCTION__)
+#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
 
 static void assert_str(const grpc_chttp2_hptbl *tbl, grpc_mdstr *mdstr,
                        const char *str) {
@@ -62,7 +62,7 @@
   mdctx = grpc_mdctx_create();
   grpc_chttp2_hptbl_init(&tbl, mdctx);
 
-  LOG_TEST();
+  LOG_TEST("test_static_lookup");
   assert_index(&tbl, 1, ":authority", "");
   assert_index(&tbl, 2, ":method", "GET");
   assert_index(&tbl, 3, ":method", "POST");
@@ -136,7 +136,7 @@
   char *value;
   grpc_mdctx *mdctx;
 
-  LOG_TEST();
+  LOG_TEST("test_many_additions");
 
   mdctx = grpc_mdctx_create();
   grpc_chttp2_hptbl_init(&tbl, mdctx);
@@ -177,7 +177,7 @@
   grpc_mdctx *mdctx;
   grpc_chttp2_hptbl_find_result r;
 
-  LOG_TEST();
+  LOG_TEST("test_find");
 
   mdctx = grpc_mdctx_create();
   grpc_chttp2_hptbl_init(&tbl, mdctx);
diff --git a/test/core/transport/chttp2/stream_map_test.c b/test/core/transport/chttp2/stream_map_test.c
index d678e0a..3c6976e 100644
--- a/test/core/transport/chttp2/stream_map_test.c
+++ b/test/core/transport/chttp2/stream_map_test.c
@@ -35,13 +35,13 @@
 #include <grpc/support/log.h>
 #include "test/core/util/test_config.h"
 
-#define LOG_TEST() gpr_log(GPR_INFO, "%s", __FUNCTION__)
+#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
 
 /* test creation & destruction */
 static void test_no_op(void) {
   grpc_chttp2_stream_map map;
 
-  LOG_TEST();
+  LOG_TEST("test_no_op");
 
   grpc_chttp2_stream_map_init(&map, 8);
   grpc_chttp2_stream_map_destroy(&map);
@@ -51,7 +51,7 @@
 static void test_empty_find(void) {
   grpc_chttp2_stream_map map;
 
-  LOG_TEST();
+  LOG_TEST("test_empty_find");
 
   grpc_chttp2_stream_map_init(&map, 8);
   GPR_ASSERT(NULL == grpc_chttp2_stream_map_find(&map, 39128));
@@ -62,7 +62,7 @@
 static void test_double_deletion(void) {
   grpc_chttp2_stream_map map;
 
-  LOG_TEST();
+  LOG_TEST("test_double_deletion");
 
   grpc_chttp2_stream_map_init(&map, 8);
   GPR_ASSERT(0 == grpc_chttp2_stream_map_size(&map));
@@ -87,7 +87,7 @@
   size_t i;
   size_t got;
 
-  LOG_TEST();
+  LOG_TEST("test_basic_add_find");
   gpr_log(GPR_INFO, "n = %d", n);
 
   grpc_chttp2_stream_map_init(&map, 8);
@@ -143,7 +143,7 @@
   grpc_chttp2_stream_map map;
   size_t i;
 
-  LOG_TEST();
+  LOG_TEST("test_delete_evens_sweep");
   gpr_log(GPR_INFO, "n = %d", n);
 
   grpc_chttp2_stream_map_init(&map, 8);
@@ -165,7 +165,7 @@
   grpc_chttp2_stream_map map;
   size_t i;
 
-  LOG_TEST();
+  LOG_TEST("test_delete_evens_incremental");
   gpr_log(GPR_INFO, "n = %d", n);
 
   grpc_chttp2_stream_map_init(&map, 8);
@@ -186,7 +186,7 @@
   size_t i;
   size_t del;
 
-  LOG_TEST();
+  LOG_TEST("test_periodic_compaction");
   gpr_log(GPR_INFO, "n = %d", n);
 
   grpc_chttp2_stream_map_init(&map, 16);
diff --git a/test/core/transport/chttp2/timeout_encoding_test.c b/test/core/transport/chttp2/timeout_encoding_test.c
index fdb27a2..daaae1d 100644
--- a/test/core/transport/chttp2/timeout_encoding_test.c
+++ b/test/core/transport/chttp2/timeout_encoding_test.c
@@ -42,7 +42,7 @@
 #include <grpc/support/useful.h>
 #include "test/core/util/test_config.h"
 
-#define LOG_TEST() gpr_log(GPR_INFO, "%s", __FUNCTION__)
+#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
 
 static void assert_encodes_as(gpr_timespec ts, const char *s) {
   char buffer[GRPC_CHTTP2_TIMEOUT_ENCODE_MIN_BUFSIZE];
@@ -52,7 +52,7 @@
 }
 
 void test_encoding(void) {
-  LOG_TEST();
+  LOG_TEST("test_encoding");
   assert_encodes_as(gpr_time_from_micros(-1), "1n");
   assert_encodes_as(gpr_time_from_seconds(-10), "1n");
   assert_encodes_as(gpr_time_from_nanos(10), "10n");
@@ -116,7 +116,7 @@
 }
 
 void test_decoding(void) {
-  LOG_TEST();
+  LOG_TEST("test_decoding");
   decode_suite('n', gpr_time_from_nanos);
   decode_suite('u', gpr_time_from_micros);
   decode_suite('m', gpr_time_from_millis);
@@ -128,7 +128,7 @@
 
 void test_decoding_fails(void) {
   gpr_timespec x;
-  LOG_TEST();
+  LOG_TEST("test_decoding_fails");
   GPR_ASSERT(0 == grpc_chttp2_decode_timeout("", &x));
   GPR_ASSERT(0 == grpc_chttp2_decode_timeout(" ", &x));
   GPR_ASSERT(0 == grpc_chttp2_decode_timeout("x", &x));
diff --git a/test/core/transport/metadata_test.c b/test/core/transport/metadata_test.c
index 66b5407..9b242c5 100644
--- a/test/core/transport/metadata_test.c
+++ b/test/core/transport/metadata_test.c
@@ -41,7 +41,7 @@
 #include <grpc/support/log.h>
 #include "test/core/util/test_config.h"
 
-#define LOG_TEST() gpr_log(GPR_INFO, "%s", __FUNCTION__)
+#define LOG_TEST(x) gpr_log(GPR_INFO, "%s", x)
 
 /* a large number */
 #define MANY 10000
@@ -49,7 +49,7 @@
 static void test_no_op(void) {
   grpc_mdctx *ctx;
 
-  LOG_TEST();
+  LOG_TEST("test_no_op");
 
   ctx = grpc_mdctx_create();
   grpc_mdctx_unref(ctx);
@@ -59,7 +59,7 @@
   grpc_mdctx *ctx;
   grpc_mdstr *s1, *s2, *s3;
 
-  LOG_TEST();
+  LOG_TEST("test_create_string");
 
   ctx = grpc_mdctx_create();
   s1 = grpc_mdstr_from_string(ctx, "hello");
@@ -79,7 +79,7 @@
   grpc_mdctx *ctx;
   grpc_mdelem *m1, *m2, *m3;
 
-  LOG_TEST();
+  LOG_TEST("test_create_metadata");
 
   ctx = grpc_mdctx_create();
   m1 = grpc_mdelem_from_strings(ctx, "a", "b");
@@ -104,7 +104,7 @@
   long i;
   size_t mdtab_capacity_before;
 
-  LOG_TEST();
+  LOG_TEST("test_create_many_ephemeral_metadata");
 
   ctx = grpc_mdctx_create();
   mdtab_capacity_before = grpc_mdctx_get_mdtab_capacity_test_only(ctx);
@@ -126,7 +126,7 @@
   grpc_mdelem **created = gpr_malloc(sizeof(grpc_mdelem *) * MANY);
   grpc_mdelem *md;
 
-  LOG_TEST();
+  LOG_TEST("test_create_many_persistant_metadata");
 
   ctx = grpc_mdctx_create();
   /* add phase */
@@ -153,7 +153,7 @@
 static void test_spin_creating_the_same_thing(void) {
   grpc_mdctx *ctx;
 
-  LOG_TEST();
+  LOG_TEST("test_spin_creating_the_same_thing");
 
   ctx = grpc_mdctx_create();
   GPR_ASSERT(grpc_mdctx_get_mdtab_count_test_only(ctx) == 0);
@@ -183,7 +183,7 @@
   int *shuf = gpr_malloc(sizeof(int) * nstrs);
   grpc_mdstr *test;
 
-  LOG_TEST();
+  LOG_TEST("test_things_stick_around");
 
   ctx = grpc_mdctx_create();
 
@@ -229,7 +229,7 @@
   grpc_mdstr *str;
   gpr_slice slice;
 
-  LOG_TEST();
+  LOG_TEST("test_slices_work");
 
   ctx = grpc_mdctx_create();
 
@@ -254,7 +254,7 @@
   gpr_slice slice1;
   gpr_slice slice2;
 
-  LOG_TEST();
+  LOG_TEST("test_base64_and_huffman_works");
 
   ctx = grpc_mdctx_create();
   str = grpc_mdstr_from_string(ctx, "abcdefg");