From: "Michael S. Tsirkin" <mst@redhat.com>
To: Igor Mammedov <imammedo@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 08:09:50 -0500 [thread overview]
Message-ID: <20220114075714-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20220114124820.7aa72a3a@redhat.com>
On Fri, Jan 14, 2022 at 12:48:20PM +0100, Igor Mammedov wrote:
> 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 "'"
Don't we want to revert ARGS change too then?
> @@ -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);
> }
> }
>
Looks much cleaner to me. OK as a patch on top.
>
> > 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
> >
next prev parent reply other threads:[~2022-01-14 13:13 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
2022-01-14 13:09 ` Michael S. Tsirkin [this message]
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=20220114075714-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=ani@anisinha.ca \
--cc=imammedo@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.