[libcamera-devel] [PATCH 2/3] test: Add a utils::split() test
Kieran Bingham
kieran.bingham at ideasonboard.com
Thu Feb 13 14:25:22 CET 2020
Hi Laurent,
On 13/02/2020 13:09, Kieran Bingham wrote:
> 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.
>
Adding tests! What madness is this!
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham 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;
> }
> };
>
--
Regards
--
Kieran
More information about the libcamera-devel
mailing list