[libcamera-devel] [PATCH 2/3] test: Add a utils::split() test
Kieran Bingham
kieran.bingham at ideasonboard.com
Thu Feb 13 14:09:07 CET 2020
From: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
The test constructs a string by joining substrings, splits it, and
verifies that the original and resulting substrings match.
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
test/utils.cpp | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/test/utils.cpp b/test/utils.cpp
index 9fe0d4775b73..db1fbdde847d 100644
--- a/test/utils.cpp
+++ b/test/utils.cpp
@@ -7,6 +7,8 @@
#include <iostream>
#include <sstream>
+#include <string>
+#include <vector>
#include "test.h"
#include "utils.h"
@@ -19,6 +21,7 @@ class UtilsTest : public Test
protected:
int run()
{
+ /* utils::hex() test. */
std::ostringstream os;
std::string ref;
@@ -46,6 +49,28 @@ protected:
return TestFail;
}
+ /* utils::split() test. */
+ std::vector<std::string> elements = {
+ "/bin",
+ "/usr/bin",
+ "",
+ "",
+ };
+
+ std::string path;
+ for (const auto &element : elements)
+ path += (path.empty() ? "" : ":") + element;
+
+ std::vector<std::string> dirs;
+
+ for (const auto &dir : utils::split(path, ":"))
+ dirs.push_back(dir);
+
+ if (dirs != elements) {
+ cerr << "utils::split() test failed" << endl;
+ return TestFail;
+ }
+
return TestPass;
}
};
--
2.20.1
More information about the libcamera-devel
mailing list