From ff1759d31f84e4dae39182028b911f69eee5f7f4 Mon Sep 17 00:00:00 2001 From: Chsudeepta Date: Tue, 14 Oct 2025 14:58:47 +0100 Subject: [PATCH 01/12] Added logic to check input type for Block name --- src/genie_python/genie_waitfor.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/genie_python/genie_waitfor.py b/src/genie_python/genie_waitfor.py index 76c1bfde..5e8deb6c 100644 --- a/src/genie_python/genie_waitfor.py +++ b/src/genie_python/genie_waitfor.py @@ -356,6 +356,9 @@ def start_waiting( ) if block is not None: + if not isinstance(block, str): + raise TypeError("first argument must be a valid block name or None, not {}".format(block)) + if not self.api.block_exists(block): raise NameError('No block with the name "{}" exists'.format(block)) block = self.api.correct_blockname(block, add_prefix=False) From 391600cfeceff5f58af3af7dec8ef5dd9c76f4f1 Mon Sep 17 00:00:00 2001 From: Chsudeepta Date: Tue, 14 Oct 2025 15:16:50 +0100 Subject: [PATCH 02/12] Changed the error message --- src/genie_python/genie_waitfor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/genie_python/genie_waitfor.py b/src/genie_python/genie_waitfor.py index 5e8deb6c..b0fbdc21 100644 --- a/src/genie_python/genie_waitfor.py +++ b/src/genie_python/genie_waitfor.py @@ -357,7 +357,7 @@ def start_waiting( if block is not None: if not isinstance(block, str): - raise TypeError("first argument must be a valid block name or None, not {}".format(block)) + raise TypeError("First argument must be a valid block name or None, not {}".format(block)) if not self.api.block_exists(block): raise NameError('No block with the name "{}" exists'.format(block)) From 80dbf3a62b214c08d5b53663f4c58887bea03aec Mon Sep 17 00:00:00 2001 From: Chsudeepta Date: Tue, 14 Oct 2025 15:24:05 +0100 Subject: [PATCH 03/12] Changed the error message --- src/genie_python/genie_waitfor.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/genie_python/genie_waitfor.py b/src/genie_python/genie_waitfor.py index b0fbdc21..9284b45f 100644 --- a/src/genie_python/genie_waitfor.py +++ b/src/genie_python/genie_waitfor.py @@ -357,7 +357,8 @@ def start_waiting( if block is not None: if not isinstance(block, str): - raise TypeError("First argument must be a valid block name or None, not {}".format(block)) + raise TypeError("First argument must be a valid block name or None, not {}" + .format(block)) if not self.api.block_exists(block): raise NameError('No block with the name "{}" exists'.format(block)) From 797e831e0fa4104c6de7cec537c56e5d2af8eb42 Mon Sep 17 00:00:00 2001 From: Chsudeepta Date: Tue, 14 Oct 2025 15:54:44 +0100 Subject: [PATCH 04/12] Reformatted --- src/genie_python/genie_waitfor.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/genie_python/genie_waitfor.py b/src/genie_python/genie_waitfor.py index 9284b45f..b1dd5e78 100644 --- a/src/genie_python/genie_waitfor.py +++ b/src/genie_python/genie_waitfor.py @@ -357,8 +357,9 @@ def start_waiting( if block is not None: if not isinstance(block, str): - raise TypeError("First argument must be a valid block name or None, not {}" - .format(block)) + raise TypeError( + "First argument must be a valid block name or None, not {}".format(block) + ) if not self.api.block_exists(block): raise NameError('No block with the name "{}" exists'.format(block)) From 0b453704eefea842497332acf705b2e14f10d4b2 Mon Sep 17 00:00:00 2001 From: Chsudeepta Date: Wed, 15 Oct 2025 00:27:49 +0100 Subject: [PATCH 05/12] Added test case --- tests/test_genie_waitfor.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/test_genie_waitfor.py b/tests/test_genie_waitfor.py index 194510c9..7794cafc 100644 --- a/tests/test_genie_waitfor.py +++ b/tests/test_genie_waitfor.py @@ -82,3 +82,15 @@ def test_GIVEN_waitfor_mevents_WHEN_waitfor_mevents_THEN_output(self): self.genie_waitfor.start_waiting(mevents=0, quiet=False) sys.stdout = sys.__stdout__ self.assertIsNot("", capturedOutput.getvalue()) + + def test_GIVEN_waitfor_block_WHEN_waitfor_block_integer_THEN_error_output(self): + capturedOutput = StringIO() + sys.stdout = capturedOutput + # Exception condition + with self.assertRaises(TypeError) as context: + intBlock = 10 + self.genie_waitfor.start_waiting(block=intBlock) + self.assertEqual( + str(context.exception), + "The very first argument must be valid block name or None, not {}".format(intBlock), + ) From e105962ee45b91e4530147098f80cdd1de8a2647 Mon Sep 17 00:00:00 2001 From: Chsudeepta Date: Wed, 15 Oct 2025 00:34:43 +0100 Subject: [PATCH 06/12] Added test case --- tests/test_genie_waitfor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_genie_waitfor.py b/tests/test_genie_waitfor.py index 7794cafc..269add23 100644 --- a/tests/test_genie_waitfor.py +++ b/tests/test_genie_waitfor.py @@ -92,5 +92,5 @@ def test_GIVEN_waitfor_block_WHEN_waitfor_block_integer_THEN_error_output(self): self.genie_waitfor.start_waiting(block=intBlock) self.assertEqual( str(context.exception), - "The very first argument must be valid block name or None, not {}".format(intBlock), + "First argument must be valid block name or None, not {}".format(intBlock), ) From d314397623f7f8d993c6de3e159d5f294396ae98 Mon Sep 17 00:00:00 2001 From: Chsudeepta Date: Wed, 15 Oct 2025 00:38:52 +0100 Subject: [PATCH 07/12] Added test case --- tests/test_genie_waitfor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_genie_waitfor.py b/tests/test_genie_waitfor.py index 269add23..db966bc7 100644 --- a/tests/test_genie_waitfor.py +++ b/tests/test_genie_waitfor.py @@ -92,5 +92,5 @@ def test_GIVEN_waitfor_block_WHEN_waitfor_block_integer_THEN_error_output(self): self.genie_waitfor.start_waiting(block=intBlock) self.assertEqual( str(context.exception), - "First argument must be valid block name or None, not {}".format(intBlock), + "First argument must be a valid block name or None, not {}".format(intBlock), ) From 5bef3a44d98cbd5e28d99896efc8865c405cc1e6 Mon Sep 17 00:00:00 2001 From: Chsudeepta Date: Wed, 15 Oct 2025 00:47:00 +0100 Subject: [PATCH 08/12] Added test case --- tests/test_genie_waitfor.py | 57 ++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/tests/test_genie_waitfor.py b/tests/test_genie_waitfor.py index db966bc7..7a9cfd09 100644 --- a/tests/test_genie_waitfor.py +++ b/tests/test_genie_waitfor.py @@ -28,69 +28,68 @@ def setUp(self): self.genie_waitfor = WaitForController(API()) def test_GIVEN_silent_waitfor_time_WHEN_waitfor_time_THEN_no_output(self): - capturedOutput = StringIO() - sys.stdout = capturedOutput + capturedoutput = StringIO() + sys.stdout = capturedoutput self.genie_waitfor.start_waiting(seconds=0, quiet=True) sys.stdout = sys.__stdout__ - self.assertIs("", capturedOutput.getvalue()) + self.assertIs("", capturedoutput.getvalue()) def test_GIVEN_waitfor_time_WHEN_waitfor_time_THEN_output(self): - capturedOutput = StringIO() - sys.stdout = capturedOutput + capturedoutput = StringIO() + sys.stdout = capturedoutput self.genie_waitfor.start_waiting(seconds=0, quiet=False) sys.stdout = sys.__stdout__ - self.assertIsNot("", capturedOutput.getvalue()) + self.assertIsNot("", capturedoutput.getvalue()) def test_GIVEN_silent_waitfor_uamps_WHEN_waitfor_uamps_THEN_no_output(self): - capturedOutput = StringIO() - sys.stdout = capturedOutput + capturedoutput = StringIO() + sys.stdout = capturedoutput self.genie_waitfor.start_waiting(uamps=0, quiet=True) sys.stdout = sys.__stdout__ - self.assertIs("", capturedOutput.getvalue()) + self.assertIs("", capturedoutput.getvalue()) def test_GIVEN_waitfor_uamps_WHEN_waitfor_uamps_THEN_output(self): - capturedOutput = StringIO() - sys.stdout = capturedOutput + capturedoutput = StringIO() + sys.stdout = capturedoutput self.genie_waitfor.start_waiting(uamps=0, quiet=False) sys.stdout = sys.__stdout__ - self.assertIsNot("", capturedOutput.getvalue()) + self.assertIsNot("", capturedoutput.getvalue()) def test_GIVEN_silent_waitfor_raw_frames_WHEN_waitfor_raw_frames_THEN_no_output(self): - capturedOutput = StringIO() - sys.stdout = capturedOutput + capturedoutput = StringIO() + sys.stdout = capturedoutput self.genie_waitfor.start_waiting(raw_frames=0, quiet=True) sys.stdout = sys.__stdout__ - self.assertIs("", capturedOutput.getvalue()) + self.assertIs("", capturedoutput.getvalue()) def test_GIVEN_waitfor_raw_frames_WHEN_waitfor_raw_frames_THEN_output(self): - capturedOutput = StringIO() - sys.stdout = capturedOutput + capturedoutput = StringIO() + sys.stdout = capturedoutput self.genie_waitfor.start_waiting(raw_frames=0, quiet=False) sys.stdout = sys.__stdout__ - self.assertIsNot("", capturedOutput.getvalue()) + self.assertIsNot("", capturedoutput.getvalue()) def test_GIVEN_silent_waitfor_mevents_WHEN_waitfor_mevents_THEN_no_output(self): - capturedOutput = StringIO() - sys.stdout = capturedOutput + capturedoutput = StringIO() + sys.stdout = capturedoutput self.genie_waitfor.start_waiting(mevents=0, quiet=True) sys.stdout = sys.__stdout__ - self.assertIs("", capturedOutput.getvalue()) + self.assertIs("", capturedoutput.getvalue()) def test_GIVEN_waitfor_mevents_WHEN_waitfor_mevents_THEN_output(self): - capturedOutput = StringIO() - sys.stdout = capturedOutput + capturedoutput = StringIO() + sys.stdout = capturedoutput self.genie_waitfor.start_waiting(mevents=0, quiet=False) sys.stdout = sys.__stdout__ - self.assertIsNot("", capturedOutput.getvalue()) + self.assertIsNot("", capturedoutput.getvalue()) def test_GIVEN_waitfor_block_WHEN_waitfor_block_integer_THEN_error_output(self): - capturedOutput = StringIO() - sys.stdout = capturedOutput + capturedoutput = StringIO() + sys.stdout = capturedoutput # Exception condition with self.assertRaises(TypeError) as context: - intBlock = 10 - self.genie_waitfor.start_waiting(block=intBlock) + self.genie_waitfor.start_waiting(block=10) self.assertEqual( str(context.exception), - "First argument must be a valid block name or None, not {}".format(intBlock), + "First argument must be a valid block name or None, not {}".format(10), ) From 18531ba8f0c7332c629b09d6834f03d636666f56 Mon Sep 17 00:00:00 2001 From: Chsudeepta Date: Wed, 15 Oct 2025 11:57:54 +0100 Subject: [PATCH 09/12] Corrected usage of format in exception message --- src/genie_python/genie_waitfor.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/genie_python/genie_waitfor.py b/src/genie_python/genie_waitfor.py index b1dd5e78..9712d547 100644 --- a/src/genie_python/genie_waitfor.py +++ b/src/genie_python/genie_waitfor.py @@ -357,9 +357,8 @@ def start_waiting( if block is not None: if not isinstance(block, str): - raise TypeError( - "First argument must be a valid block name or None, not {}".format(block) - ) + error = "First argument must be a valid block name or None, not {}".format(block) + raise TypeError(error) if not self.api.block_exists(block): raise NameError('No block with the name "{}" exists'.format(block)) From ee5985d6182ae45da844b8922a9958a359e5de31 Mon Sep 17 00:00:00 2001 From: Chsudeepta Date: Wed, 15 Oct 2025 13:32:43 +0100 Subject: [PATCH 10/12] bypass pyright --- tests/test_genie_waitfor.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/test_genie_waitfor.py b/tests/test_genie_waitfor.py index 7a9cfd09..98841720 100644 --- a/tests/test_genie_waitfor.py +++ b/tests/test_genie_waitfor.py @@ -84,10 +84,9 @@ def test_GIVEN_waitfor_mevents_WHEN_waitfor_mevents_THEN_output(self): self.assertIsNot("", capturedoutput.getvalue()) def test_GIVEN_waitfor_block_WHEN_waitfor_block_integer_THEN_error_output(self): - capturedoutput = StringIO() - sys.stdout = capturedoutput # Exception condition with self.assertRaises(TypeError) as context: + # pyright: ignore self.genie_waitfor.start_waiting(block=10) self.assertEqual( str(context.exception), From 6b6b560a75f42bb2e83a3e428241bc246b89a933 Mon Sep 17 00:00:00 2001 From: Chsudeepta Date: Wed, 15 Oct 2025 13:50:33 +0100 Subject: [PATCH 11/12] bypass pyright --- tests/test_genie_waitfor.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/test_genie_waitfor.py b/tests/test_genie_waitfor.py index 98841720..26a9fa99 100644 --- a/tests/test_genie_waitfor.py +++ b/tests/test_genie_waitfor.py @@ -86,8 +86,7 @@ def test_GIVEN_waitfor_mevents_WHEN_waitfor_mevents_THEN_output(self): def test_GIVEN_waitfor_block_WHEN_waitfor_block_integer_THEN_error_output(self): # Exception condition with self.assertRaises(TypeError) as context: - # pyright: ignore - self.genie_waitfor.start_waiting(block=10) + self.genie_waitfor.start_waiting(block=10) # pyright: ignore self.assertEqual( str(context.exception), "First argument must be a valid block name or None, not {}".format(10), From 8ff4047f560e556eb75e80859465b568ea82344b Mon Sep 17 00:00:00 2001 From: Chsudeepta Date: Wed, 15 Oct 2025 14:00:37 +0100 Subject: [PATCH 12/12] fixed ruff --- tests/test_genie_waitfor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_genie_waitfor.py b/tests/test_genie_waitfor.py index 26a9fa99..9ee1fd62 100644 --- a/tests/test_genie_waitfor.py +++ b/tests/test_genie_waitfor.py @@ -86,7 +86,7 @@ def test_GIVEN_waitfor_mevents_WHEN_waitfor_mevents_THEN_output(self): def test_GIVEN_waitfor_block_WHEN_waitfor_block_integer_THEN_error_output(self): # Exception condition with self.assertRaises(TypeError) as context: - self.genie_waitfor.start_waiting(block=10) # pyright: ignore + self.genie_waitfor.start_waiting(block=10) # pyright: ignore self.assertEqual( str(context.exception), "First argument must be a valid block name or None, not {}".format(10),