summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDominick Allen <djallen@librehumanitas.org>2025-03-31 08:33:08 -0500
committerDominick Allen <djallen@librehumanitas.org>2025-03-31 08:33:08 -0500
commit8b0bc70db73b48d833a3b5791e55921768cf6932 (patch)
tree862ae34933a7fc9f480038d974f59d7683a82605 /test
parentc426110f24516f92ecb8a5374e2a281f2c79787a (diff)
Remove reinterpret_cast usage in favor of std::bit_cast.
Diffstat (limited to 'test')
-rw-r--r--test/test_common.cpp3
-rw-r--r--test/test_csv.cpp3
-rw-r--r--test/test_file.cpp15
-rw-r--r--test/test_hash_map.cpp7
-rw-r--r--test/test_string.cpp7
5 files changed, 16 insertions, 19 deletions
diff --git a/test/test_common.cpp b/test/test_common.cpp
index 03c5dff..926bd49 100644
--- a/test/test_common.cpp
+++ b/test/test_common.cpp
@@ -105,8 +105,7 @@ FudStatus removeRecursive(StringView path)
}
constexpr int maxOpenFd = 64;
- // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
- auto status = nftw(reinterpret_cast<const char*>(path.data()), unlink_cb, maxOpenFd, FTW_DEPTH | FTW_PHYS);
+ auto status = nftw(std::bit_cast<const char*>(path.data()), unlink_cb, maxOpenFd, FTW_DEPTH | FTW_PHYS);
if (status == 0) {
return FudStatus::Success;
}
diff --git a/test/test_csv.cpp b/test/test_csv.cpp
index 83bfe0a..95b0aec 100644
--- a/test/test_csv.cpp
+++ b/test/test_csv.cpp
@@ -79,8 +79,7 @@ auto writeHappyCsv() -> FudStatus
}
auto file{fileResult.takeOkay()};
- // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
- auto writeResult = file.write(reinterpret_cast<const std::byte*>(happyData.data()), happyData.length());
+ auto writeResult = file.write(std::bit_cast<const std::byte*>(happyData.data()), happyData.length());
if (writeResult.status != FudStatus::Success) {
return writeResult.status;
}
diff --git a/test/test_file.cpp b/test/test_file.cpp
index 878c740..17469e1 100644
--- a/test/test_file.cpp
+++ b/test/test_file.cpp
@@ -119,8 +119,7 @@ TEST(FudBufferedFile, OpenReadWrite)
ASSERT_EQ(bufferedFile.file().size().getOkayOr(std::numeric_limits<size_t>::max()), 0);
auto writeResult = bufferedFile.write(
- // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
- reinterpret_cast<const std::byte*>(testName.data()),
+ std::bit_cast<const std::byte*>(testName.data()),
testName.size(),
NullOpt);
DrainResult expected{testName.size(), FudStatus::Success};
@@ -131,8 +130,7 @@ TEST(FudBufferedFile, OpenReadWrite)
ASSERT_EQ(bufferedFile.seekStart(), FudStatus::Success);
Vector<utf8> output{Vector<utf8>::withSize(testName.size()).takeOkay()};
- // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
- auto readResult = bufferedFile.read(reinterpret_cast<std::byte*>(output.data()), testName.size(), NullOpt);
+ auto readResult = bufferedFile.read(std::bit_cast<std::byte*>(output.data()), testName.size(), NullOpt);
ASSERT_EQ(readResult, expected);
EXPECT_EQ(output.size(), testName.size());
@@ -142,22 +140,19 @@ TEST(FudBufferedFile, OpenReadWrite)
ASSERT_EQ(bufferedFile.seekStart(), FudStatus::Success);
expected.bytesDrained = 1;
- // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
- readResult = bufferedFile.read(reinterpret_cast<std::byte*>(output.data()), 1, NullOpt);
+ readResult = bufferedFile.read(std::bit_cast<std::byte*>(output.data()), 1, NullOpt);
ASSERT_EQ(readResult, expected);
EXPECT_EQ(output[0], testName.data()[0]);
expected.bytesDrained = testName.size() - 2;
- // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
- readResult = bufferedFile.read(reinterpret_cast<std::byte*>(output.data()) + 1, testName.size() - 2, NullOpt);
+ readResult = bufferedFile.read(std::bit_cast<std::byte*>(output.data()) + 1, testName.size() - 2, NullOpt);
ASSERT_EQ(readResult, expected);
EXPECT_EQ(
0,
compareMem(output.data() + 1, output.size() - 1, testName.data() + 1, testName.size() - 2).takeOkayOr(-1));
expected.bytesDrained = 1;
- // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
- readResult = bufferedFile.read(reinterpret_cast<std::byte*>(output.data()), 1, NullOpt);
+ readResult = bufferedFile.read(std::bit_cast<std::byte*>(output.data()), 1, NullOpt);
EXPECT_TRUE(readResult.status == FudStatus::Success || readResult.status == FudStatus::Partial);
EXPECT_EQ(output[testName.size() - 1], testName.data()[testName.size() - 1]);
diff --git a/test/test_hash_map.cpp b/test/test_hash_map.cpp
index aa0ba49..065ae81 100644
--- a/test/test_hash_map.cpp
+++ b/test/test_hash_map.cpp
@@ -87,6 +87,13 @@ TEST(FudHash, InsertMoveKeyCopyValue)
const int invalid = -1;
EXPECT_EQ(mapString2Int.getConstRef(stringList[index]).valueOr(invalid), index);
}
+
+ for (int index = 0; index < static_cast<int>(stringList.size()); ++index) {
+ int invalid = -1;
+ int& refVal = mapString2Int.getRef(stringList[index]).mutValueOr(invalid);
+ refVal *= 2;
+ EXPECT_EQ(mapString2Int.getConstRef(stringList[index]).valueOr(invalid), index * 2);
+ }
}
TEST(FudHash, InsertCopyKeyMoveValue)
diff --git a/test/test_string.cpp b/test/test_string.cpp
index 39a24cb..f63ed71 100644
--- a/test/test_string.cpp
+++ b/test/test_string.cpp
@@ -39,8 +39,7 @@ TEST(FudString, BasicStringOps)
ASSERT_FALSE(Ascii::valid(invalid[0]));
const Array<utf8, 2> invalid2{0xFF, 0x00};
- // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
- auto stringResult = String::makeFromCString(reinterpret_cast<const char*>(invalid2.data()));
+ auto stringResult = String::makeFromCString(std::bit_cast<const char*>(invalid2.data()));
ASSERT_TRUE(stringResult.isOkay());
String fudString{stringResult.takeOkay()};
@@ -125,11 +124,9 @@ TEST(FudString, FindSubstringCxx)
FudStringView stringView{};
auto findStatus = ext_string_find_substring(haystack, needle, &stringView);
ASSERT_EQ(findStatus, ExtSuccess);
- // NOLINTBEGIN(cppcoreguidelines-pro-type-reinterpret-cast)
ASSERT_EQ(
ext_string_get_c_string(&extString) + sizeof("why waste time"),
- reinterpret_cast<const char*>(stringView.data));
- // NOLINTEND(cppcoreguidelines-pro-type-reinterpret-cast)
+ std::bit_cast<const char*>(stringView.data));
}
TEST(TestFudString, StringBuffer)