All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Ani Sinha <ani@anisinha.ca>,
	qemu-devel@nongnu.org, Marian Postevca <posteuca@mutex.one>
Subject: Re: [PATCH 1/4] tests: acpi: manually pad OEM_ID/OEM_TABLE_ID for test_oem_fields() test
Date: Fri, 14 Jan 2022 12:48:20 +0100	[thread overview]
Message-ID: <20220114124820.7aa72a3a@redhat.com> (raw)
In-Reply-To: <20220112084124-mutt-send-email-mst@kernel.org>

On Wed, 12 Jan 2022 08:44:19 -0500
"Michael S. Tsirkin" <mst@redhat.com> wrote:

> On Wed, Jan 12, 2022 at 08:03:29AM -0500, Igor Mammedov wrote:
> > The next commit will revert OEM fields padding with whitespace to
> > padding with '\0' as it was before [1]. As result test_oem_fields() will
> > fail due to unexpectedly smaller ID sizes read from QEMU ACPI tables.
> > 
> > Pad OEM_ID/OEM_TABLE_ID manually with spaces so that values the test
> > puts on QEMU CLI and expected values match.
> > 
> > 1) 602b458201 ("acpi: Permit OEM ID and OEM table ID fields to be changed")
> > Signed-off-by: Igor Mammedov <imammedo@redhat.com>  
> 
> That's kind of ugly in that we do not test
> shorter names then.  How about we pad with \0 instead?


test_acpi_q35_slic() should cover short OEM_TABLE_ID.

also padding in this patch makes test_oem_fields() cleaner
and simplifies 3/4, switching to \0 here would require
merging this patch with the fix itself to avoid breaking
bisection.

If you still prefer to have test_oem_fields() test short
names, I can post following on top that can to it without
breaking bisection:

diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index 90c9f6a0a2..0fd7cf1f89 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -71,8 +71,8 @@
 
 #define ACPI_REBUILD_EXPECTED_AML "TEST_ACPI_REBUILD_AML"
 
-#define OEM_ID             "TEST  "
-#define OEM_TABLE_ID       "OEM     "
+#define OEM_ID             "TEST"
+#define OEM_TABLE_ID       "OEM"
 #define OEM_TEST_ARGS      "-machine x-oem-id='" OEM_ID "',x-oem-table-id='" \
                            OEM_TABLE_ID "'"
 
@@ -1530,8 +1530,8 @@ static void test_oem_fields(test_data *data)
             continue;
         }
 
-        g_assert(memcmp(sdt->aml + 10, OEM_ID, 6) == 0);
-        g_assert(memcmp(sdt->aml + 16, OEM_TABLE_ID, 8) == 0);
+        g_assert(strncmp((char *)sdt->aml + 10, OEM_ID, 6) == 0);
+        g_assert(strncmp((char *)sdt->aml + 16, OEM_TABLE_ID, 8) == 0);
     }
 }
 


> And add a comment explaining why it's done.
> 
> > ---
> >  tests/qtest/bios-tables-test.c | 15 ++++++---------
> >  1 file changed, 6 insertions(+), 9 deletions(-)
> > 
> > diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
> > index e6b72d9026..90c9f6a0a2 100644
> > --- a/tests/qtest/bios-tables-test.c
> > +++ b/tests/qtest/bios-tables-test.c
> > @@ -71,9 +71,10 @@
> >  
> >  #define ACPI_REBUILD_EXPECTED_AML "TEST_ACPI_REBUILD_AML"
> >  
> > -#define OEM_ID             "TEST"
> > -#define OEM_TABLE_ID       "OEM"
> > -#define OEM_TEST_ARGS      "-machine x-oem-id="OEM_ID",x-oem-table-id="OEM_TABLE_ID
> > +#define OEM_ID             "TEST  "
> > +#define OEM_TABLE_ID       "OEM     "
> > +#define OEM_TEST_ARGS      "-machine x-oem-id='" OEM_ID "',x-oem-table-id='" \
> > +                           OEM_TABLE_ID "'"
> >  
> >  typedef struct {
> >      bool tcg_only;
> > @@ -1519,11 +1520,7 @@ static void test_acpi_q35_slic(void)
> >  static void test_oem_fields(test_data *data)
> >  {
> >      int i;
> > -    char oem_id[6];
> > -    char oem_table_id[8];
> >  
> > -    strpadcpy(oem_id, sizeof oem_id, OEM_ID, ' ');
> > -    strpadcpy(oem_table_id, sizeof oem_table_id, OEM_TABLE_ID, ' ');
> >      for (i = 0; i < data->tables->len; ++i) {
> >          AcpiSdtTable *sdt;
> >  
> > @@ -1533,8 +1530,8 @@ static void test_oem_fields(test_data *data)
> >              continue;
> >          }
> >  
> > -        g_assert(memcmp(sdt->aml + 10, oem_id, 6) == 0);
> > -        g_assert(memcmp(sdt->aml + 16, oem_table_id, 8) == 0);
> > +        g_assert(memcmp(sdt->aml + 10, OEM_ID, 6) == 0);
> > +        g_assert(memcmp(sdt->aml + 16, OEM_TABLE_ID, 8) == 0);
> >      }
> >  }
> >  
> > -- 
> > 2.31.1  
> 



  reply	other threads:[~2022-01-14 11:51 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-12 13:03 [PATCH 0/4] acpi: fix short OEM [Table] ID padding Igor Mammedov
2022-01-12 13:03 ` [PATCH 1/4] tests: acpi: manually pad OEM_ID/OEM_TABLE_ID for test_oem_fields() test Igor Mammedov
2022-01-12 13:44   ` Michael S. Tsirkin
2022-01-14 11:48     ` Igor Mammedov [this message]
2022-01-14 13:09       ` Michael S. Tsirkin
2022-01-12 13:03 ` [PATCH 2/4] tests: acpi: whitelist nvdimm's SSDT and FACP.slic expected blobs Igor Mammedov
2022-01-12 13:03 ` [PATCH 3/4] acpi: fix OEM ID/OEM Table ID padding Igor Mammedov
2022-01-12 13:39   ` Michael S. Tsirkin
2022-01-12 15:16     ` Ani Sinha
2022-01-12 15:28       ` Michael S. Tsirkin
2022-01-12 15:19   ` Ani Sinha
2022-01-13  9:53   ` Dmitry V. Orekhov
2022-01-13 10:22     ` Ani Sinha
2022-01-13 13:19       ` Dmitry V. Orekhov
2022-01-31  6:17   ` Ani Sinha
2022-01-31 13:20     ` Igor Mammedov
2022-01-31 13:28       ` Ani Sinha
2022-01-31 14:10         ` Igor Mammedov
2022-01-31 14:21           ` Ani Sinha
2022-02-01  7:39             ` Igor Mammedov
2022-02-01  7:55               ` Ani Sinha
2022-02-01  9:14                 ` Igor Mammedov
2022-01-12 13:03 ` [PATCH 4/4] tests: acpi: update expected blobs Igor Mammedov
2022-01-12 15:13   ` Ani Sinha
2022-01-14 14:26 ` [PATCH 5/4] tests: acpi: test short OEM_ID/OEM_TABLE_ID values in test_oem_fields() Igor Mammedov
2022-01-14 14:53   ` Ani Sinha
2022-01-31 13:21 ` [PATCH 0/4] acpi: fix short OEM [Table] ID padding Igor Mammedov
2022-01-31 13:37   ` Michael S. Tsirkin

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=20220114124820.7aa72a3a@redhat.com \
    --to=imammedo@redhat.com \
    --cc=ani@anisinha.ca \
    --cc=mst@redhat.com \
    --cc=posteuca@mutex.one \
    --cc=qemu-devel@nongnu.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.