Improve error handling and fix minor bugs in bionic benchmarks.
Test: Unit tests.
Change-Id: I224ae4c7f195176eb8a87deddb2debcbf0f24ba3
diff --git a/benchmarks/string_benchmark.cpp b/benchmarks/string_benchmark.cpp
index 94e7583..eb04c93 100644
--- a/benchmarks/string_benchmark.cpp
+++ b/benchmarks/string_benchmark.cpp
@@ -14,6 +14,7 @@
* limitations under the License.
*/
+#include <err.h>
#include <stdint.h>
#include <string.h>
@@ -263,7 +264,7 @@
while (state.KeepRunning()) {
if (strstr(haystack_aligned, needle_aligned) == nullptr) {
- abort();
+ errx(1, "ERROR: strstr failed to find valid substring.");
}
}
@@ -277,10 +278,11 @@
std::vector<char> haystack;
char* haystack_aligned = GetAlignedPtrFilled(&haystack, haystack_alignment, nbytes, 'x');
+ haystack_aligned[nbytes-1] = '\0';
while (state.KeepRunning()) {
if (strchr(haystack_aligned, 'y') != nullptr) {
- abort();
+ errx(1, "ERROR: strchr found a chr where it should have failed.");
}
}