diff mbox series

[U-Boot,PATCHv2,08/13] test/py: test_efi_selftest.py: Updates for python 3 support

Message ID 20191023032010.27725-9-trini@konsulko.com
State Changes Requested
Delegated to: Tom Rini
Headers show
Series Moving test/py to Python 3 | expand

Commit Message

Tom Rini Oct. 23, 2019, 3:20 a.m. UTC
- In python 3 you must use raw strings for regex as other forms are
  deprecated and would require further changes to the pattern here.
  In one case this lets us have a simpler match pattern.
- As strings are now Unicode our complex tests (Euro symbol,
  SHIFT+ALT+FN 5) we need to declare that as a bytes string and then
  decode it for use.

Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
Changes in v2:
- New patch
---
 test/py/tests/test_efi_selftest.py | 36 +++++++++++++++---------------
 1 file changed, 18 insertions(+), 18 deletions(-)

Comments

Stephen Warren Oct. 23, 2019, 4:47 p.m. UTC | #1
On 10/22/19 9:20 PM, Tom Rini wrote:
> - In python 3 you must use raw strings for regex as other forms are
>    deprecated and would require further changes to the pattern here.
>    In one case this lets us have a simpler match pattern.

I'm not sure the code was really correct even for Python 2. I'm 
surprised that the escape sequences were accepted considering they're 
meaningless. But the new code certainly looks good.
Simon Glass Oct. 24, 2019, 12:59 a.m. UTC | #2
On Tue, 22 Oct 2019 at 21:20, Tom Rini <trini@konsulko.com> wrote:
>
> - In python 3 you must use raw strings for regex as other forms are
>   deprecated and would require further changes to the pattern here.
>   In one case this lets us have a simpler match pattern.
> - As strings are now Unicode our complex tests (Euro symbol,
>   SHIFT+ALT+FN 5) we need to declare that as a bytes string and then
>   decode it for use.
>
> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
> Signed-off-by: Tom Rini <trini@konsulko.com>
> ---
> Changes in v2:
> - New patch
> ---
>  test/py/tests/test_efi_selftest.py | 36 +++++++++++++++---------------
>  1 file changed, 18 insertions(+), 18 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
Tested on sandbox:
Tested-by: Simon Glass <sjg@chromium.org>
diff mbox series

Patch

diff --git a/test/py/tests/test_efi_selftest.py b/test/py/tests/test_efi_selftest.py
index d5430f9c1275..ca01542088f1 100644
--- a/test/py/tests/test_efi_selftest.py
+++ b/test/py/tests/test_efi_selftest.py
@@ -59,7 +59,7 @@  def test_efi_selftest_text_input(u_boot_console):
 	u_boot_console.run_command(cmd='setenv efi_selftest text input')
 	output = u_boot_console.run_command(cmd='bootefi selftest',
 					    wait_for_prompt=False)
-	m = u_boot_console.p.expect(['To terminate type \'x\''])
+	m = u_boot_console.p.expect([r'To terminate type \'x\''])
 	if m != 0:
 		raise Exception('No prompt for \'text input\' test')
 	u_boot_console.drain_console()
@@ -68,7 +68,7 @@  def test_efi_selftest_text_input(u_boot_console):
 	u_boot_console.run_command(cmd=chr(4), wait_for_echo=False,
 				   send_nl=False, wait_for_prompt=False)
 	m = u_boot_console.p.expect(
-		['Unicode char 4 \(unknown\), scan code 0 \(Null\)'])
+		[r'Unicode char 4 \(unknown\), scan code 0 \(Null\)'])
 	if m != 0:
 		raise Exception('EOT failed in \'text input\' test')
 	u_boot_console.drain_console()
@@ -76,7 +76,7 @@  def test_efi_selftest_text_input(u_boot_console):
 	u_boot_console.run_command(cmd=chr(8), wait_for_echo=False,
 				   send_nl=False, wait_for_prompt=False)
 	m = u_boot_console.p.expect(
-		['Unicode char 8 \(BS\), scan code 0 \(Null\)'])
+		[r'Unicode char 8 \(BS\), scan code 0 \(Null\)'])
 	if m != 0:
 		raise Exception('BS failed in \'text input\' test')
 	u_boot_console.drain_console()
@@ -84,7 +84,7 @@  def test_efi_selftest_text_input(u_boot_console):
 	u_boot_console.run_command(cmd=chr(9), wait_for_echo=False,
 				   send_nl=False, wait_for_prompt=False)
 	m = u_boot_console.p.expect(
-		['Unicode char 9 \(TAB\), scan code 0 \(Null\)'])
+		[r'Unicode char 9 \(TAB\), scan code 0 \(Null\)'])
 	if m != 0:
 		raise Exception('BS failed in \'text input\' test')
 	u_boot_console.drain_console()
@@ -92,7 +92,7 @@  def test_efi_selftest_text_input(u_boot_console):
 	u_boot_console.run_command(cmd='a', wait_for_echo=False, send_nl=False,
 				   wait_for_prompt=False)
 	m = u_boot_console.p.expect(
-		['Unicode char 97 \(\'a\'\), scan code 0 \(Null\)'])
+		[r'Unicode char 97 \(\'a\'\), scan code 0 \(Null\)'])
 	if m != 0:
 		raise Exception('\'a\' failed in \'text input\' test')
 	u_boot_console.drain_console()
@@ -100,14 +100,14 @@  def test_efi_selftest_text_input(u_boot_console):
 	u_boot_console.run_command(cmd=chr(27) + '[A', wait_for_echo=False,
 				   send_nl=False, wait_for_prompt=False)
 	m = u_boot_console.p.expect(
-		['Unicode char 0 \(Null\), scan code 1 \(Up\)'])
+		[r'Unicode char 0 \(Null\), scan code 1 \(Up\)'])
 	if m != 0:
 		raise Exception('UP failed in \'text input\' test')
 	u_boot_console.drain_console()
 	# Euro sign
-	u_boot_console.run_command(cmd='\xe2\x82\xac', wait_for_echo=False,
+	u_boot_console.run_command(cmd=b'\xe2\x82\xac'.decode(), wait_for_echo=False,
 				   send_nl=False, wait_for_prompt=False)
-	m = u_boot_console.p.expect(['Unicode char 8364 \(\''])
+	m = u_boot_console.p.expect([r'Unicode char 8364 \(\''])
 	if m != 0:
 		raise Exception('Euro sign failed in \'text input\' test')
 	u_boot_console.drain_console()
@@ -129,7 +129,7 @@  def test_efi_selftest_text_input_ex(u_boot_console):
 	u_boot_console.run_command(cmd='setenv efi_selftest extended text input')
 	output = u_boot_console.run_command(cmd='bootefi selftest',
 					    wait_for_prompt=False)
-	m = u_boot_console.p.expect(['To terminate type \'CTRL\+x\''])
+	m = u_boot_console.p.expect([r'To terminate type \'CTRL\+x\''])
 	if m != 0:
 		raise Exception('No prompt for \'text input\' test')
 	u_boot_console.drain_console()
@@ -138,7 +138,7 @@  def test_efi_selftest_text_input_ex(u_boot_console):
 	u_boot_console.run_command(cmd=chr(4), wait_for_echo=False,
 				   send_nl=False, wait_for_prompt=False)
 	m = u_boot_console.p.expect(
-		['Unicode char 100 \\(\'d\'\\), scan code 0 \\(CTRL\\+Null\\)'])
+		[r'Unicode char 100 \(\'d\'\), scan code 0 \(CTRL\+Null\)'])
 	if m != 0:
 		raise Exception('EOT failed in \'text input\' test')
 	u_boot_console.drain_console()
@@ -146,7 +146,7 @@  def test_efi_selftest_text_input_ex(u_boot_console):
 	u_boot_console.run_command(cmd=chr(8), wait_for_echo=False,
 				   send_nl=False, wait_for_prompt=False)
 	m = u_boot_console.p.expect(
-		['Unicode char 8 \(BS\), scan code 0 \(\+Null\)'])
+		[r'Unicode char 8 \(BS\), scan code 0 \(\+Null\)'])
 	if m != 0:
 		raise Exception('BS failed in \'text input\' test')
 	u_boot_console.drain_console()
@@ -154,7 +154,7 @@  def test_efi_selftest_text_input_ex(u_boot_console):
 	u_boot_console.run_command(cmd=chr(9), wait_for_echo=False,
 				   send_nl=False, wait_for_prompt=False)
 	m = u_boot_console.p.expect(
-		['Unicode char 9 \(TAB\), scan code 0 \(\+Null\)'])
+		[r'Unicode char 9 \(TAB\), scan code 0 \(\+Null\)'])
 	if m != 0:
 		raise Exception('TAB failed in \'text input\' test')
 	u_boot_console.drain_console()
@@ -162,7 +162,7 @@  def test_efi_selftest_text_input_ex(u_boot_console):
 	u_boot_console.run_command(cmd='a', wait_for_echo=False, send_nl=False,
 				   wait_for_prompt=False)
 	m = u_boot_console.p.expect(
-		['Unicode char 97 \(\'a\'\), scan code 0 \(Null\)'])
+		[r'Unicode char 97 \(\'a\'\), scan code 0 \(Null\)'])
 	if m != 0:
 		raise Exception('\'a\' failed in \'text input\' test')
 	u_boot_console.drain_console()
@@ -170,23 +170,23 @@  def test_efi_selftest_text_input_ex(u_boot_console):
 	u_boot_console.run_command(cmd=chr(27) + '[A', wait_for_echo=False,
 				   send_nl=False, wait_for_prompt=False)
 	m = u_boot_console.p.expect(
-		['Unicode char 0 \(Null\), scan code 1 \(\+Up\)'])
+		[r'Unicode char 0 \(Null\), scan code 1 \(\+Up\)'])
 	if m != 0:
 		raise Exception('UP failed in \'text input\' test')
 	u_boot_console.drain_console()
 	# Euro sign
-	u_boot_console.run_command(cmd='\xe2\x82\xac', wait_for_echo=False,
+	u_boot_console.run_command(cmd=b'\xe2\x82\xac'.decode(), wait_for_echo=False,
 				   send_nl=False, wait_for_prompt=False)
-	m = u_boot_console.p.expect(['Unicode char 8364 \(\''])
+	m = u_boot_console.p.expect([r'Unicode char 8364 \(\''])
 	if m != 0:
 		raise Exception('Euro sign failed in \'text input\' test')
 	u_boot_console.drain_console()
 	# SHIFT+ALT+FN 5
-	u_boot_console.run_command(cmd='\x1b\x5b\x31\x35\x3b\x34\x7e',
+	u_boot_console.run_command(cmd=b'\x1b\x5b\x31\x35\x3b\x34\x7e'.decode(),
 				   wait_for_echo=False, send_nl=False,
 				   wait_for_prompt=False)
 	m = u_boot_console.p.expect(
-		['Unicode char 0 \(Null\), scan code 15 \(SHIFT\+ALT\+FN 5\)'])
+		[r'Unicode char 0 \(Null\), scan code 15 \(SHIFT\+ALT\+FN 5\)'])
 	if m != 0:
 		raise Exception('SHIFT+ALT+FN 5 failed in \'text input\' test')
 	u_boot_console.drain_console()