diff --git a/tests/gtest_main.cpp b/tests/gtest_main.cpp
index 1ee8b53..f9f5e5a 100644
--- a/tests/gtest_main.cpp
+++ b/tests/gtest_main.cpp
@@ -78,15 +78,39 @@
 static constexpr const char* COLOR_GREEN  = "\033[0;32m";
 static constexpr const char* COLOR_YELLOW = "\033[0;33m";
 
-static void ColoredPrintf(const char* const color, const char* fmt, ...) {
-    va_list args;
-    va_start(args, fmt);
+static bool ShouldUseColor() {
+  bool stdout_is_tty = isatty(STDOUT_FILENO) != 0;
+  if (!stdout_is_tty) {
+    return false;
+  }
 
+  const auto& gtest_color = ::testing::GTEST_FLAG(color);
+  if (gtest_color == "yes" || gtest_color == "true" || gtest_color == "t") {
+    return true;
+  }
+  if (gtest_color != "auto") {
+    return false;
+  }
+
+  const char* const term = getenv("COLORTERM");
+  return term != nullptr && term[0] != 0;
+}
+
+static void ColoredPrintf(const char* const color, const char* fmt, ...) {
+  static const bool use_color = ShouldUseColor();
+
+  va_list args;
+  va_start(args, fmt);
+
+  if (!use_color) {
+    vprintf(fmt, args);
+  } else {
     printf("%s", color);
     vprintf(fmt, args);
     printf("%s", COLOR_RESET);
+  }
 
-    va_end(args);
+  va_end(args);
 }
 
 constexpr int DEFAULT_GLOBAL_TEST_RUN_DEADLINE_MS = 90000;
