diff mbox series

support/testing: fix python_flask_expect_python

Message ID 20211006203823.2740442-1-yann.morin.1998@free.fr
State Accepted
Headers show
Series support/testing: fix python_flask_expect_python | expand

Commit Message

Yann E. MORIN Oct. 6, 2021, 8:38 p.m. UTC
Commit e6ee07f41a2b (package/python-flask-expects-json: new package)
added a non-functional test case that, as noticed by Edgar, fails with:

    AssertionError: '%{http_code}' != '200'

That's because the % sign is self-escaped, à-la C, in the first part
of the command, probably to avoid its being %-formatted. But only the
second part of the command is %-formatted, so we do not need to
self-escape % in the first part.

Additionally, since eb3ee3078a76 (support/testing/infra/emulator.py:
prevent the commands from wrapping), we no longer need to play tricks
with commands that are too long to fit on the first line of the shell
prompt.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Edgar Bonet <bonet@grenoble.cnrs.fr>
---
 .../testing/tests/package/test_python_flask_expects_json.py   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Thomas Petazzoni Oct. 6, 2021, 8:44 p.m. UTC | #1
On Wed,  6 Oct 2021 22:38:23 +0200
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> Commit e6ee07f41a2b (package/python-flask-expects-json: new package)
> added a non-functional test case that, as noticed by Edgar, fails with:
> 
>     AssertionError: '%{http_code}' != '200'
> 
> That's because the % sign is self-escaped, à-la C, in the first part
> of the command, probably to avoid its being %-formatted. But only the
> second part of the command is %-formatted, so we do not need to
> self-escape % in the first part.

Gaah, seemingly innocent-looking last minute (untested) refactoring is
ALWAYS wrong. Sorry about this and thanks for fixing my crap.

> Additionally, since eb3ee3078a76 (support/testing/infra/emulator.py:
> prevent the commands from wrapping), we no longer need to play tricks
> with commands that are too long to fit on the first line of the shell
> prompt.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Cc: Edgar Bonet <bonet@grenoble.cnrs.fr>

Looks good:

Reviewed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Thomas
Arnout Vandecappelle Oct. 12, 2021, 8:54 p.m. UTC | #2
On 06/10/2021 22:38, Yann E. MORIN wrote:
> Commit e6ee07f41a2b (package/python-flask-expects-json: new package)
> added a non-functional test case that, as noticed by Edgar, fails with:
> 
>      AssertionError: '%{http_code}' != '200'
> 
> That's because the % sign is self-escaped, à-la C, in the first part
> of the command, probably to avoid its being %-formatted. But only the
> second part of the command is %-formatted, so we do not need to
> self-escape % in the first part.
> 
> Additionally, since eb3ee3078a76 (support/testing/infra/emulator.py:
> prevent the commands from wrapping), we no longer need to play tricks
> with commands that are too long to fit on the first line of the shell
> prompt.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Cc: Edgar Bonet <bonet@grenoble.cnrs.fr>

  Applied to master, thanks.

  Regards,
  Arnout

> ---
>   .../testing/tests/package/test_python_flask_expects_json.py   | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/support/testing/tests/package/test_python_flask_expects_json.py b/support/testing/tests/package/test_python_flask_expects_json.py
> index b7326f5d9e..5576cba2b4 100644
> --- a/support/testing/tests/package/test_python_flask_expects_json.py
> +++ b/support/testing/tests/package/test_python_flask_expects_json.py
> @@ -17,11 +17,11 @@ class TestPythonPy3FlaskExpectsJson(TestPythonPackageBase):
>       timeout = 60
>   
>       def try_json(self, payload, expects):
> -        cmd = """curl -s -o /dev/null -w "%%{http_code}\\n" -X POST """
> +        cmd = """curl -s -o /dev/null -w "%{http_code}\\n" -X POST """
>           cmd += """-H "Content-Type: application/json" -d '%s' http://127.0.0.1:5000""" % payload
>           output, exit_code = self.emulator.run(cmd, timeout=self.timeout)
>           self.assertEqual(exit_code, 0)
> -        self.assertEqual(output[-1], str(expects))
> +        self.assertEqual(output[0], str(expects))
>   
>       def test_run(self):
>           self.login()
>
diff mbox series

Patch

diff --git a/support/testing/tests/package/test_python_flask_expects_json.py b/support/testing/tests/package/test_python_flask_expects_json.py
index b7326f5d9e..5576cba2b4 100644
--- a/support/testing/tests/package/test_python_flask_expects_json.py
+++ b/support/testing/tests/package/test_python_flask_expects_json.py
@@ -17,11 +17,11 @@  class TestPythonPy3FlaskExpectsJson(TestPythonPackageBase):
     timeout = 60
 
     def try_json(self, payload, expects):
-        cmd = """curl -s -o /dev/null -w "%%{http_code}\\n" -X POST """
+        cmd = """curl -s -o /dev/null -w "%{http_code}\\n" -X POST """
         cmd += """-H "Content-Type: application/json" -d '%s' http://127.0.0.1:5000""" % payload
         output, exit_code = self.emulator.run(cmd, timeout=self.timeout)
         self.assertEqual(exit_code, 0)
-        self.assertEqual(output[-1], str(expects))
+        self.assertEqual(output[0], str(expects))
 
     def test_run(self):
         self.login()