[libc-commits] [libc] 98007e9 - Revert "[libc][test] Remove dependency on sstream in algorithm_test.cpp"
Guillaume Chatelet via libc-commits
libc-commits at lists.llvm.org
Wed Jun 29 08:12:39 PDT 2022
Author: Guillaume Chatelet
Date: 2022-06-29T15:12:24Z
New Revision: 98007e975385713df526db9dba7c85f53ff5c6d6
URL: https://github.com/llvm/llvm-project/commit/98007e975385713df526db9dba7c85f53ff5c6d6
DIFF: https://github.com/llvm/llvm-project/commit/98007e975385713df526db9dba7c85f53ff5c6d6.diff
LOG: Revert "[libc][test] Remove dependency on sstream in algorithm_test.cpp"
This reverts commit 292b281caf8c3750cc0796b971af2ca24236a926.
Added:
Modified:
libc/test/src/string/memory_utils/CMakeLists.txt
libc/test/src/string/memory_utils/algorithm_test.cpp
Removed:
################################################################################
diff --git a/libc/test/src/string/memory_utils/CMakeLists.txt b/libc/test/src/string/memory_utils/CMakeLists.txt
index 9b777a7d53112..df481ee15a6df 100644
--- a/libc/test/src/string/memory_utils/CMakeLists.txt
+++ b/libc/test/src/string/memory_utils/CMakeLists.txt
@@ -4,7 +4,7 @@ add_libc_unittest(
libc_string_unittests
SRCS
address_test.cpp
- algorithm_test.cpp
+ # algorithm_test.cpp
backend_test.cpp
elements_test.cpp
memory_access_test.cpp
@@ -12,6 +12,7 @@ add_libc_unittest(
COMPILE_OPTIONS
${LIBC_COMPILE_OPTIONS_NATIVE}
-ffreestanding
+ -pthread
DEPENDS
libc.src.string.memory_utils.memory_utils
libc.src.__support.CPP.array
diff --git a/libc/test/src/string/memory_utils/algorithm_test.cpp b/libc/test/src/string/memory_utils/algorithm_test.cpp
index aeadafdff0579..3c6303a64ec3b 100644
--- a/libc/test/src/string/memory_utils/algorithm_test.cpp
+++ b/libc/test/src/string/memory_utils/algorithm_test.cpp
@@ -6,9 +6,7 @@
#include <src/string/memory_utils/algorithm.h>
#include <src/string/memory_utils/backends.h>
-#include <string>
-#include <type_traits>
-#include <vector>
+#include <sstream>
namespace __llvm_libc {
@@ -25,26 +23,7 @@ struct alignas(64) Buffer : cpp::Array<char, 128> {
static Buffer buffer1;
static Buffer buffer2;
-struct Logger {
- Logger &operator<<(const char *str) {
- Buffer.append(str);
- return *this;
- }
- Logger &operator<<(char c) {
- Buffer.push_back(c);
- return *this;
- }
- template <typename Scalar>
- std::enable_if_t<std::is_integral<Scalar>::value, Logger &>
- operator<<(Scalar number) {
- Buffer.append(std::to_string(number));
- return *this;
- }
- const std::string &str() const { return Buffer; }
-
-private:
- std::string Buffer;
-} LOG;
+static std::ostringstream LOG;
struct TestBackend {
static constexpr bool IS_BACKEND_TYPE = true;
@@ -93,7 +72,7 @@ struct TestBackend {
struct LlvmLibcAlgorithm : public testing::Test {
void SetUp() override {
- LOG = Logger();
+ LOG = std::ostringstream();
LOG << '\n';
}
@@ -112,20 +91,11 @@ struct LlvmLibcAlgorithm : public testing::Test {
return trace_.c_str();
}
- const char *stripComments(std::string expected) {
+ const char *stripComments(const char *expected) {
expected_.clear();
- // split expected by lines
- std::vector<std::string> lines;
- lines.emplace_back();
- for (const char c : expected) {
- if (c == '\n') {
- lines.emplace_back();
- } else {
- lines.back().push_back(c);
- }
- }
- // strip comment for each lines
- for (const std::string &line : lines) {
+ std::stringstream ss(expected);
+ std::string line;
+ while (std::getline(ss, line, '\n')) {
const auto pos = line.find('#');
if (pos == std::string::npos) {
expected_ += line;
@@ -135,8 +105,7 @@ struct LlvmLibcAlgorithm : public testing::Test {
log.pop_back();
expected_ += log;
}
- if (expected_.back() != '\n')
- expected_.push_back('\n');
+ expected_ += '\n';
}
return expected_.c_str();
}
More information about the libc-commits
mailing list