Improve error handling and fix minor bugs in bionic benchmarks.
Test: Unit tests.
Change-Id: I224ae4c7f195176eb8a87deddb2debcbf0f24ba3
diff --git a/benchmarks/stdlib_benchmark.cpp b/benchmarks/stdlib_benchmark.cpp
index 7a12eb6..eb325ab 100644
--- a/benchmarks/stdlib_benchmark.cpp
+++ b/benchmarks/stdlib_benchmark.cpp
@@ -14,6 +14,7 @@
* limitations under the License.
*/
+#include <err.h>
#include <langinfo.h>
#include <locale.h>
#include <stdlib.h>
@@ -47,7 +48,9 @@
|| setlocale(LC_CTYPE, "en.UTF-8")
|| setlocale(LC_CTYPE, "de_DE-8")
|| setlocale(LC_CTYPE, "fr_FR-8");
- if (strcmp(nl_langinfo(CODESET), "UTF-8")) abort();
+ if (strcmp(nl_langinfo(CODESET), "UTF-8")) {
+ errx(1, "ERROR: unable to set locale in BM_stdlib_mbstowcs");
+ }
char* buf_aligned = GetAlignedPtr(&buf, buf_alignment, 500000);
wchar_t* widebuf_aligned = GetAlignedPtr(&widebuf, widebuf_alignment, 500000);
@@ -86,7 +89,9 @@
|| setlocale(LC_CTYPE, "en.UTF-8")
|| setlocale(LC_CTYPE, "de_DE-8")
|| setlocale(LC_CTYPE, "fr_FR-8");
- if (strcmp(nl_langinfo(CODESET), "UTF-8")) abort();
+ if (strcmp(nl_langinfo(CODESET), "UTF-8")) {
+ errx(1, "ERROR: unable to set locale in BM_stdlib_mbrtowc");
+ }
char* buf_aligned = GetAlignedPtr(&buf, buf_alignment, 500000);
size_t i, j, k, l;