All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mattijs Korpershoek <mkorpershoek@kernel.org>
To: Igor Opaniuk <igor.opaniuk@gmail.com>, u-boot@lists.u-boot-project.org
Cc: Jan Kehren <jan.kehren@emteria.com>,
	 Guillaume La Roque <glaroque@baylibre.com>,
	Tom Rini <trini@konsulko.com>,  Simon Glass <sjg@chromium.org>,
	 Mattijs Korpershoek <mkorpershoek@kernel.org>,
	 Igor Opaniuk <igor.opaniuk@oss.qualcomm.com>
Subject: [PATCH v2 10/10] test/py: avb: Fix find() logic when matching response strings
Date: Tue, 20 Oct 2026 11:25:59 +0200	[thread overview]
Message-ID: <20261020-test-avb-fixes-v2-10-997f8f04fd3f@kernel.org> (raw)
In-Reply-To: <20261020-test-avb-fixes-v2-0-997f8f04fd3f@kernel.org>

The AVB test suite runs some avb commands (such as "avb verify") and
then parses the console output for success/failure.

It does so by using the string.find() function which returns:
* -1 when the subsystring does not exist
* 0/a positive number when the substring exists

For example, here is the output of:
$ ./test/py/test.py --bd sandbox --build -k test_avb_verify -s -v

Hit any key to stop autoboot: 0
=> =>  avb init 1
=> => avb verify
get_partition: no MMC device at slot 1
get_partition: no MMC device at slot 1
avb_slot_verify.c:644: ERROR: boot: Error loading footer.
Verification failed, reason: I/O error occurred while trying to load data
=> PASSED

Here, the test is marked as PASSED because assert(-1) will return
success.

Fix the logic to fail these tests when the expected string is not found.

Tested-by: Guillaume La Roque <glaroque@baylibre.com>
Tested-by: Igor Opaniuk <igor.opaniuk@oss.qualcomm.com>
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
---
 test/py/tests/test_android/test_avb.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/test/py/tests/test_android/test_avb.py b/test/py/tests/test_android/test_avb.py
index 48fa6ee7cf0b..b0ecb7deb1f3 100644
--- a/test/py/tests/test_android/test_avb.py
+++ b/test/py/tests/test_android/test_avb.py
@@ -64,7 +64,7 @@ def test_avb_verify(ubman, avb_device_id):
     response = ubman.run_command('avb init %x' % avb_device_id)
     assert response == ''
     response = ubman.run_command('avb verify')
-    assert response.find(success_str)
+    assert response.find(success_str) != -1
 
 
 @pytest.mark.buildconfigspec('cmd_avb')
@@ -79,7 +79,7 @@ def test_avb_mmc_uuid(ubman, avb_device_id):
     assert response == ''
 
     response = ubman.run_command('mmc rescan; mmc dev %d' % avb_device_id)
-    assert response.find('is current device')
+    assert response.find('is current device') != -1
 
     part_lines = ubman.run_command('mmc part').splitlines()
     part_list = {}
@@ -133,22 +133,22 @@ def test_avb_mmc_read(ubman, avb_device_id):
     """
 
     response = ubman.run_command('mmc rescan; mmc dev %d 0' % avb_device_id)
-    assert response.find('is current device')
+    assert response.find('is current device') != -1
 
     response = ubman.run_command('mmc read 0x%x 0x100 0x1' % temp_addr)
-    assert response.find('read: OK')
+    assert response.find('read: OK') != -1
 
     response = ubman.run_command('avb init %x' % avb_device_id)
     assert response == ''
 
     response = ubman.run_command('avb read_part xloader 0 100 0x%x' %
                                            temp_addr2)
-    assert response.find('Read 512 bytes')
+    assert response.find('Read 512 bytes') != -1
 
     # Now lets compare two buffers
     response = ubman.run_command('cmp 0x%x 0x%x 40' %
                                           (temp_addr, temp_addr2))
-    assert response.find('64 word')
+    assert response.find('64 word') != -1
 
 
 @pytest.mark.buildconfigspec('cmd_avb')

-- 
2.56.0


  parent reply	other threads:[~2026-10-20  9:26 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-20  9:25 [PATCH v2 00/10] Fix AVB pytest suite for sandbox Mattijs Korpershoek
2026-10-20  9:25 ` [PATCH v2 01/10] avb: Use map_to_sysmem() for flush_cache() address Mattijs Korpershoek
2026-10-22  8:25   ` Simon Glass
2026-10-20  9:25 ` [PATCH v2 02/10] test/py: android: Move android image creation to a dedicated file Mattijs Korpershoek
2026-10-22  8:25   ` Simon Glass
2026-10-20  9:25 ` [PATCH v2 03/10] test/py: android: Drop verbose printing and unused return Mattijs Korpershoek
2026-10-22  8:25   ` Simon Glass
2026-10-20  9:25 ` [PATCH v2 04/10] test/py: android: Use for loop to create the images / update disks Mattijs Korpershoek
2026-10-22  8:25   ` Simon Glass
2026-10-20  9:25 ` [PATCH v2 05/10] test/py: android: Add create_gpt_image() for image creation Mattijs Korpershoek
2026-10-20 15:07   ` Guillaume La Roque
2026-10-22  8:26   ` Simon Glass
2026-10-22 13:24     ` Mattijs Korpershoek
2026-10-20  9:25 ` [PATCH v2 06/10] test/py: android: Add setup_android_v{4,2}_image subfunctions Mattijs Korpershoek
2026-10-22  8:26   ` [PATCH v2 06/10] test/py: android: Add setup_android_v{4, 2}_image subfunctions Simon Glass
2026-10-20  9:25 ` [PATCH v2 07/10] test/py: avb: Use format specifiers instead of str() for mmc_dev Mattijs Korpershoek
2026-10-22  8:59   ` Simon Glass
2026-10-20  9:25 ` [PATCH v2 08/10] test/py: avb: Move mmc device number to a pytest fixture Mattijs Korpershoek
2026-10-22  8:26   ` Simon Glass
2026-10-20  9:25 ` [PATCH v2 09/10] test/py: avb: Add sandbox AVB testing with dedicated mmc12 device Mattijs Korpershoek
2026-10-22  8:26   ` Simon Glass
2026-10-22 12:53     ` Mattijs Korpershoek
2026-10-20  9:25 ` Mattijs Korpershoek [this message]
2026-10-20 15:07   ` [PATCH v2 10/10] test/py: avb: Fix find() logic when matching response strings Guillaume La Roque
2026-10-22  8:26   ` Simon Glass
2026-10-22 12:22     ` Mattijs Korpershoek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261020-test-avb-fixes-v2-10-997f8f04fd3f@kernel.org \
    --to=mkorpershoek@kernel.org \
    --cc=glaroque@baylibre.com \
    --cc=igor.opaniuk@gmail.com \
    --cc=igor.opaniuk@oss.qualcomm.com \
    --cc=jan.kehren@emteria.com \
    --cc=sjg@chromium.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.u-boot-project.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.