[libcamera-devel] test: yaml-parser: Test YamlObject::get(const T &defaultValue)
diff mbox series

Message ID 20220730132027.20679-1-laurent.pinchart@ideasonboard.com
State Accepted
Commit 90906ba7fb95490abefa9bcbea812b4e2ff8dbdc
Headers show
Series
  • [libcamera-devel] test: yaml-parser: Test YamlObject::get(const T &defaultValue)
Related show

Commit Message

Laurent Pinchart July 30, 2022, 1:20 p.m. UTC
When the YamlObject::get() function override that returns a
std::optional got introduced, all tests were moved to it, leaving no
tests for the override that takes a default value. Reintroduce those
tests.

Reported-by: Florian Sylvestre <fsylvestre@baylibre.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 test/yaml-parser.cpp | 33 ++++++++++++++++++++++-----------
 1 file changed, 22 insertions(+), 11 deletions(-)


base-commit: 69ae75b0cc211f82665b3e92fb3de64a9852b403

Comments

Jacopo Mondi Aug. 1, 2022, 3:12 p.m. UTC | #1
Hi Laurent

On Sat, Jul 30, 2022 at 04:20:27PM +0300, Laurent Pinchart via libcamera-devel wrote:
> When the YamlObject::get() function override that returns a
> std::optional got introduced, all tests were moved to it, leaving no
> tests for the override that takes a default value. Reintroduce those
> tests.
>
> Reported-by: Florian Sylvestre <fsylvestre@baylibre.com>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>

Thanks
   j

> ---
>  test/yaml-parser.cpp | 33 ++++++++++++++++++++++-----------
>  1 file changed, 22 insertions(+), 11 deletions(-)
>
> diff --git a/test/yaml-parser.cpp b/test/yaml-parser.cpp
> index 9fd278664b3b..93ba88b8bcd5 100644
> --- a/test/yaml-parser.cpp
> +++ b/test/yaml-parser.cpp
> @@ -160,7 +160,8 @@ protected:
>  			return TestFail;
>  		}
>
> -		if (strObj.get<string>().value_or("") != "libcamera") {
> +		if (strObj.get<string>().value_or("") != "libcamera" ||
> +		    strObj.get<string>("") != "libcamera") {
>  			cerr << "String object parse as wrong content" << std::endl;
>  			return TestFail;
>  		}
> @@ -198,17 +199,20 @@ protected:
>  			return TestFail;
>  		}
>
> -		if (int32Obj.get<int32_t>().value_or(0) != -100) {
> +		if (int32Obj.get<int32_t>().value_or(0) != -100 ||
> +		    int32Obj.get<int32_t>(0) != -100) {
>  			cerr << "Integer object parse as wrong value" << std::endl;
>  			return TestFail;
>  		}
>
> -		if (int32Obj.get<string>().value_or("") != "-100") {
> +		if (int32Obj.get<string>().value_or("") != "-100" ||
> +		    int32Obj.get<string>("") != "-100") {
>  			cerr << "Integer object fail to parse as string" << std::endl;
>  			return TestFail;
>  		}
>
> -		if (int32Obj.get<double>().value_or(0.0) != -100.0) {
> +		if (int32Obj.get<double>().value_or(0.0) != -100.0 ||
> +		    int32Obj.get<double>(0.0) != -100.0) {
>  			cerr << "Integer object fail to parse as double" << std::endl;
>  			return TestFail;
>  		}
> @@ -236,22 +240,26 @@ protected:
>  			return TestFail;
>  		}
>
> -		if (uint32Obj.get<int32_t>().value_or(0) != 100) {
> +		if (uint32Obj.get<int32_t>().value_or(0) != 100 ||
> +		    uint32Obj.get<int32_t>(0) != 100) {
>  			cerr << "Unsigned integer object fail to parse as integer" << std::endl;
>  			return TestFail;
>  		}
>
> -		if (uint32Obj.get<string>().value_or("") != "100") {
> +		if (uint32Obj.get<string>().value_or("") != "100" ||
> +		    uint32Obj.get<string>("") != "100") {
>  			cerr << "Unsigned integer object fail to parse as string" << std::endl;
>  			return TestFail;
>  		}
>
> -		if (uint32Obj.get<double>().value_or(0.0) != 100.0) {
> +		if (uint32Obj.get<double>().value_or(0.0) != 100.0 ||
> +		    uint32Obj.get<double>(0.0) != 100.0) {
>  			cerr << "Unsigned integer object fail to parse as double" << std::endl;
>  			return TestFail;
>  		}
>
> -		if (uint32Obj.get<uint32_t>().value_or(0) != 100) {
> +		if (uint32Obj.get<uint32_t>().value_or(0) != 100 ||
> +		    uint32Obj.get<uint32_t>(0) != 100) {
>  			cerr << "Unsigned integer object parsed as wrong value" << std::endl;
>  			return TestFail;
>  		}
> @@ -274,12 +282,14 @@ protected:
>  			return TestFail;
>  		}
>
> -		if (doubleObj.get<string>().value_or("") != "3.14159") {
> +		if (doubleObj.get<string>().value_or("") != "3.14159" ||
> +		    doubleObj.get<string>("") != "3.14159") {
>  			cerr << "Double object fail to parse as string" << std::endl;
>  			return TestFail;
>  		}
>
> -		if (doubleObj.get<double>().value_or(0.0) != 3.14159) {
> +		if (doubleObj.get<double>().value_or(0.0) != 3.14159 ||
> +		    doubleObj.get<double>(0.0) != 3.14159) {
>  			cerr << "Double object parse as wrong value" << std::endl;
>  			return TestFail;
>  		}
> @@ -332,7 +342,8 @@ protected:
>  			return TestFail;
>  		}
>
> -		if (sizeObj.get<Size>().value_or(Size(0, 0)) != Size(1920, 1080)) {
> +		if (sizeObj.get<Size>().value_or(Size(0, 0)) != Size(1920, 1080) ||
> +		    sizeObj.get<Size>(Size(0, 0)) != Size(1920, 1080)) {
>  			cerr << "Size object parse as wrong value" << std::endl;
>  			return TestFail;
>  		}
>
> base-commit: 69ae75b0cc211f82665b3e92fb3de64a9852b403
> --
> Regards,
>
> Laurent Pinchart
>
Kieran Bingham Aug. 1, 2022, 3:26 p.m. UTC | #2
Quoting Laurent Pinchart via libcamera-devel (2022-07-30 14:20:27)
> When the YamlObject::get() function override that returns a
> std::optional got introduced, all tests were moved to it, leaving no
> tests for the override that takes a default value. Reintroduce those
> tests.
> 
> Reported-by: Florian Sylvestre <fsylvestre@baylibre.com>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> ---
>  test/yaml-parser.cpp | 33 ++++++++++++++++++++++-----------
>  1 file changed, 22 insertions(+), 11 deletions(-)
> 
> diff --git a/test/yaml-parser.cpp b/test/yaml-parser.cpp
> index 9fd278664b3b..93ba88b8bcd5 100644
> --- a/test/yaml-parser.cpp
> +++ b/test/yaml-parser.cpp
> @@ -160,7 +160,8 @@ protected:
>                         return TestFail;
>                 }
>  
> -               if (strObj.get<string>().value_or("") != "libcamera") {
> +               if (strObj.get<string>().value_or("") != "libcamera" ||
> +                   strObj.get<string>("") != "libcamera") {
>                         cerr << "String object parse as wrong content" << std::endl;
>                         return TestFail;
>                 }
> @@ -198,17 +199,20 @@ protected:
>                         return TestFail;
>                 }
>  
> -               if (int32Obj.get<int32_t>().value_or(0) != -100) {
> +               if (int32Obj.get<int32_t>().value_or(0) != -100 ||
> +                   int32Obj.get<int32_t>(0) != -100) {
>                         cerr << "Integer object parse as wrong value" << std::endl;
>                         return TestFail;
>                 }
>  
> -               if (int32Obj.get<string>().value_or("") != "-100") {
> +               if (int32Obj.get<string>().value_or("") != "-100" ||
> +                   int32Obj.get<string>("") != "-100") {
>                         cerr << "Integer object fail to parse as string" << std::endl;
>                         return TestFail;
>                 }
>  
> -               if (int32Obj.get<double>().value_or(0.0) != -100.0) {
> +               if (int32Obj.get<double>().value_or(0.0) != -100.0 ||
> +                   int32Obj.get<double>(0.0) != -100.0) {
>                         cerr << "Integer object fail to parse as double" << std::endl;
>                         return TestFail;
>                 }
> @@ -236,22 +240,26 @@ protected:
>                         return TestFail;
>                 }
>  
> -               if (uint32Obj.get<int32_t>().value_or(0) != 100) {
> +               if (uint32Obj.get<int32_t>().value_or(0) != 100 ||
> +                   uint32Obj.get<int32_t>(0) != 100) {
>                         cerr << "Unsigned integer object fail to parse as integer" << std::endl;
>                         return TestFail;
>                 }
>  
> -               if (uint32Obj.get<string>().value_or("") != "100") {
> +               if (uint32Obj.get<string>().value_or("") != "100" ||
> +                   uint32Obj.get<string>("") != "100") {
>                         cerr << "Unsigned integer object fail to parse as string" << std::endl;
>                         return TestFail;
>                 }
>  
> -               if (uint32Obj.get<double>().value_or(0.0) != 100.0) {
> +               if (uint32Obj.get<double>().value_or(0.0) != 100.0 ||
> +                   uint32Obj.get<double>(0.0) != 100.0) {
>                         cerr << "Unsigned integer object fail to parse as double" << std::endl;
>                         return TestFail;
>                 }
>  
> -               if (uint32Obj.get<uint32_t>().value_or(0) != 100) {
> +               if (uint32Obj.get<uint32_t>().value_or(0) != 100 ||
> +                   uint32Obj.get<uint32_t>(0) != 100) {
>                         cerr << "Unsigned integer object parsed as wrong value" << std::endl;
>                         return TestFail;
>                 }
> @@ -274,12 +282,14 @@ protected:
>                         return TestFail;
>                 }
>  
> -               if (doubleObj.get<string>().value_or("") != "3.14159") {
> +               if (doubleObj.get<string>().value_or("") != "3.14159" ||
> +                   doubleObj.get<string>("") != "3.14159") {
>                         cerr << "Double object fail to parse as string" << std::endl;
>                         return TestFail;
>                 }
>  
> -               if (doubleObj.get<double>().value_or(0.0) != 3.14159) {
> +               if (doubleObj.get<double>().value_or(0.0) != 3.14159 ||
> +                   doubleObj.get<double>(0.0) != 3.14159) {
>                         cerr << "Double object parse as wrong value" << std::endl;
>                         return TestFail;
>                 }
> @@ -332,7 +342,8 @@ protected:
>                         return TestFail;
>                 }
>  
> -               if (sizeObj.get<Size>().value_or(Size(0, 0)) != Size(1920, 1080)) {
> +               if (sizeObj.get<Size>().value_or(Size(0, 0)) != Size(1920, 1080) ||
> +                   sizeObj.get<Size>(Size(0, 0)) != Size(1920, 1080)) {
>                         cerr << "Size object parse as wrong value" << std::endl;
>                         return TestFail;
>                 }
> 
> base-commit: 69ae75b0cc211f82665b3e92fb3de64a9852b403
> -- 
> Regards,
> 
> Laurent Pinchart
>

Patch
diff mbox series

diff --git a/test/yaml-parser.cpp b/test/yaml-parser.cpp
index 9fd278664b3b..93ba88b8bcd5 100644
--- a/test/yaml-parser.cpp
+++ b/test/yaml-parser.cpp
@@ -160,7 +160,8 @@  protected:
 			return TestFail;
 		}
 
-		if (strObj.get<string>().value_or("") != "libcamera") {
+		if (strObj.get<string>().value_or("") != "libcamera" ||
+		    strObj.get<string>("") != "libcamera") {
 			cerr << "String object parse as wrong content" << std::endl;
 			return TestFail;
 		}
@@ -198,17 +199,20 @@  protected:
 			return TestFail;
 		}
 
-		if (int32Obj.get<int32_t>().value_or(0) != -100) {
+		if (int32Obj.get<int32_t>().value_or(0) != -100 ||
+		    int32Obj.get<int32_t>(0) != -100) {
 			cerr << "Integer object parse as wrong value" << std::endl;
 			return TestFail;
 		}
 
-		if (int32Obj.get<string>().value_or("") != "-100") {
+		if (int32Obj.get<string>().value_or("") != "-100" ||
+		    int32Obj.get<string>("") != "-100") {
 			cerr << "Integer object fail to parse as string" << std::endl;
 			return TestFail;
 		}
 
-		if (int32Obj.get<double>().value_or(0.0) != -100.0) {
+		if (int32Obj.get<double>().value_or(0.0) != -100.0 ||
+		    int32Obj.get<double>(0.0) != -100.0) {
 			cerr << "Integer object fail to parse as double" << std::endl;
 			return TestFail;
 		}
@@ -236,22 +240,26 @@  protected:
 			return TestFail;
 		}
 
-		if (uint32Obj.get<int32_t>().value_or(0) != 100) {
+		if (uint32Obj.get<int32_t>().value_or(0) != 100 ||
+		    uint32Obj.get<int32_t>(0) != 100) {
 			cerr << "Unsigned integer object fail to parse as integer" << std::endl;
 			return TestFail;
 		}
 
-		if (uint32Obj.get<string>().value_or("") != "100") {
+		if (uint32Obj.get<string>().value_or("") != "100" ||
+		    uint32Obj.get<string>("") != "100") {
 			cerr << "Unsigned integer object fail to parse as string" << std::endl;
 			return TestFail;
 		}
 
-		if (uint32Obj.get<double>().value_or(0.0) != 100.0) {
+		if (uint32Obj.get<double>().value_or(0.0) != 100.0 ||
+		    uint32Obj.get<double>(0.0) != 100.0) {
 			cerr << "Unsigned integer object fail to parse as double" << std::endl;
 			return TestFail;
 		}
 
-		if (uint32Obj.get<uint32_t>().value_or(0) != 100) {
+		if (uint32Obj.get<uint32_t>().value_or(0) != 100 ||
+		    uint32Obj.get<uint32_t>(0) != 100) {
 			cerr << "Unsigned integer object parsed as wrong value" << std::endl;
 			return TestFail;
 		}
@@ -274,12 +282,14 @@  protected:
 			return TestFail;
 		}
 
-		if (doubleObj.get<string>().value_or("") != "3.14159") {
+		if (doubleObj.get<string>().value_or("") != "3.14159" ||
+		    doubleObj.get<string>("") != "3.14159") {
 			cerr << "Double object fail to parse as string" << std::endl;
 			return TestFail;
 		}
 
-		if (doubleObj.get<double>().value_or(0.0) != 3.14159) {
+		if (doubleObj.get<double>().value_or(0.0) != 3.14159 ||
+		    doubleObj.get<double>(0.0) != 3.14159) {
 			cerr << "Double object parse as wrong value" << std::endl;
 			return TestFail;
 		}
@@ -332,7 +342,8 @@  protected:
 			return TestFail;
 		}
 
-		if (sizeObj.get<Size>().value_or(Size(0, 0)) != Size(1920, 1080)) {
+		if (sizeObj.get<Size>().value_or(Size(0, 0)) != Size(1920, 1080) ||
+		    sizeObj.get<Size>(Size(0, 0)) != Size(1920, 1080)) {
 			cerr << "Size object parse as wrong value" << std::endl;
 			return TestFail;
 		}