[fbl][test] Convert the string piece tests to zxtest
Also, fix bug 35935 at the same time. This was shaken out by LTO
build; basically string compare is defined to return < or > 0, not to
specifically return -1 or 1. Make sure that this is what we are
testing for instead of a specific value.
Bugs: 35935
Change-Id: I047dd94ea906b3ef267503ce105b4fee26bc61ee
diff --git a/zircon/system/ulib/fbl/test/string_piece_tests.cc b/zircon/system/ulib/fbl/test/string_piece_tests.cc
index 2955a88..1573278 100644
--- a/zircon/system/ulib/fbl/test/string_piece_tests.cc
+++ b/zircon/system/ulib/fbl/test/string_piece_tests.cc
@@ -2,18 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include <fbl/string_piece.h>
+#include <utility>
#include <fbl/algorithm.h>
-#include <unittest/unittest.h>
-
-#include <utility>
+#include <fbl/string_piece.h>
+#include <zxtest/zxtest.h>
namespace {
-bool empty_string_test() {
- BEGIN_TEST;
-
+TEST(StringPieceTest, EmptyString) {
fbl::StringPiece empty;
EXPECT_NULL(empty.data());
@@ -26,13 +23,9 @@
EXPECT_NULL(empty.end());
EXPECT_NULL(empty.cbegin());
EXPECT_NULL(empty.cend());
-
- END_TEST;
}
-bool non_empty_string_test() {
- BEGIN_TEST;
-
+TEST(StringPieceTest, NonEmptyString) {
const char data[] = "abc";
fbl::StringPiece str1(data);
@@ -64,13 +57,9 @@
EXPECT_EQ(data + 3u, str2.cend());
EXPECT_EQ('c', str2[1u]);
-
- END_TEST;
}
-bool copy_move_and_assignment_test() {
- BEGIN_TEST;
-
+TEST(StringPieceTest, CopyMoveAndAssignment) {
const char data[] = "abc";
{
@@ -113,13 +102,9 @@
EXPECT_NULL(str.data());
EXPECT_EQ(0u, str.length());
}
-
- END_TEST;
}
-bool set_clear_test() {
- BEGIN_TEST;
-
+TEST(StringPieceTest, SetClear) {
const char data[] = "abc";
fbl::StringPiece str;
@@ -141,13 +126,9 @@
str.clear();
EXPECT_NULL(str.data());
EXPECT_EQ(0u, str.length());
-
- END_TEST;
}
-bool compare_test() {
- BEGIN_TEST;
-
+TEST(StringPieceTest, CompareTest) {
const char data[] = "abc";
fbl::StringPiece empty;
fbl::StringPiece a(data, 1);
@@ -161,10 +142,10 @@
EXPECT_EQ(0, a.compare(a));
EXPECT_EQ(0, ab.compare(ab));
- EXPECT_EQ(-1, a.compare(ab));
- EXPECT_EQ(1, ab.compare(a));
- EXPECT_EQ(-1, ab.compare(bc));
- EXPECT_EQ(1, bc.compare(ab));
+ EXPECT_GT(0, a.compare(ab));
+ EXPECT_LT(0, ab.compare(a));
+ EXPECT_GT(0, ab.compare(bc));
+ EXPECT_LT(0, bc.compare(ab));
EXPECT_TRUE(empty == empty);
EXPECT_TRUE(empty <= empty);
@@ -215,8 +196,6 @@
EXPECT_TRUE(bc > a);
EXPECT_TRUE(bc >= a);
EXPECT_FALSE(bc <= a);
-
- END_TEST;
}
constexpr char kFakeStringData[] = "hello";
@@ -242,9 +221,7 @@
size_t length() const { return 0u; }
};
-bool conversion_from_string_like_object() {
- BEGIN_TEST;
-
+TEST(StringPieceTest, ConversionFromStringLikeObject) {
{
SimpleFakeString str;
fbl::StringPiece p(str);
@@ -265,13 +242,9 @@
EXPECT_NULL(p.data());
EXPECT_EQ(0u, p.length());
}
-
- END_TEST;
}
-bool assignment_from_string_like_object() {
- BEGIN_TEST;
-
+TEST(StringPieceTest, AssignmentFromStringLikeObject) {
{
SimpleFakeString str;
fbl::StringPiece p;
@@ -295,18 +268,6 @@
EXPECT_NULL(p.data());
EXPECT_EQ(0u, p.length());
}
-
- END_TEST;
}
} // namespace
-
-BEGIN_TEST_CASE(string_piece_tests)
-RUN_TEST(empty_string_test)
-RUN_TEST(non_empty_string_test)
-RUN_TEST(copy_move_and_assignment_test)
-RUN_TEST(set_clear_test)
-RUN_TEST(compare_test)
-RUN_TEST(conversion_from_string_like_object)
-RUN_TEST(assignment_from_string_like_object)
-END_TEST_CASE(string_piece_tests)