[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