Add a missing strtol() family test and a hex benchmark.

Benchmark added to test an optimization I'll send round next, test added
when an even bigger refactoring (as part of a more interesting
optimization) broke strtol() in a way the strtol() tests didn't notice.

Test: treehugger
Change-Id: Ic974900021107938dbbbe98648960adb102d9595
diff --git a/tests/stdlib_test.cpp b/tests/stdlib_test.cpp
index 21c79c8..4793150 100644
--- a/tests/stdlib_test.cpp
+++ b/tests/stdlib_test.cpp
@@ -901,6 +901,12 @@
   ASSERT_ERRNO(ERANGE);
   ASSERT_EQ('\0', *end_p);
 
+  // Junk at the end of a valid conversion.
+  errno = 0;
+  ASSERT_EQ(static_cast<T>(123), fn("123abc", &end_p, 0));
+  ASSERT_ERRNO(0);
+  ASSERT_STREQ("abc", end_p);
+
   // In case of overflow, strto* leaves us pointing past the end of the number,
   // not at the digit that overflowed.
   end_p = nullptr;