Exit gracefully on invalid --gtest_* flag.

My gtest run crashed when I provided wrong flag (e.g. --gtest_list),
because it tried to call std::vector::back() on empty testcase_list.

Test: /data/nativetest/bionic-unit-tests/bionic-unit-tests works.
Test: `/d/n/b/bionic-unit-tests --gtest_invalid` dumps the gtest help
      message.
Change-Id: I5f63c7fa6476d8749248c9b54d3023446f3e0e77
diff --git a/tests/gtest_main.cpp b/tests/gtest_main.cpp
index 6b20094..6f8c403 100644
--- a/tests/gtest_main.cpp
+++ b/tests/gtest_main.cpp
@@ -317,6 +317,12 @@
       line.pop_back();
       testcase_list.push_back(TestCase(line.c_str()));
     } else {
+      if (testcase_list.empty()) {
+        // Invalid response from gtest - likely it has been upset by an invalid --gtest_* flag.
+        // Relay the message to user.
+        fprintf(stderr, "%s", content.c_str());
+        return false;
+      }
       testcase_list.back().AppendTest(line.c_str());
     }
   }