All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julia Suvorova <jusual@redhat.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: QEMU Developers <qemu-devel@nongnu.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Ani Sinha <ani@anisinha.ca>
Subject: Re: [PATCH 4/5] bios-tables-test: add test for number of cores > 255
Date: Mon, 6 Jun 2022 13:38:57 +0200	[thread overview]
Message-ID: <CAMDeoFXrgTbG846RfURzEHZv+W+t9LmJ-M-p1uSk07NW_UR9Dg@mail.gmail.com> (raw)
In-Reply-To: <20220602172007.27cd7e81@redhat.com>

On Thu, Jun 2, 2022 at 5:20 PM Igor Mammedov <imammedo@redhat.com> wrote:
>
> On Fri, 27 May 2022 18:56:50 +0200
> Julia Suvorova <jusual@redhat.com> wrote:
>
> > The new test is run with a large number of cpus and checks if the
> > core_count field in smbios_cpu_test (structure type 4) is correct.
> >
> > Choose q35 as it allows to run with -smp > 255.
> >
> > Signed-off-by: Julia Suvorova <jusual@redhat.com>
> > ---
> >  tests/qtest/bios-tables-test.c | 35 +++++++++++++++++++++++++++++++++-
> >  1 file changed, 34 insertions(+), 1 deletion(-)
> >
> > diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
> > index 0ba9d749a5..f2464adaa0 100644
> > --- a/tests/qtest/bios-tables-test.c
> > +++ b/tests/qtest/bios-tables-test.c
> > @@ -100,6 +100,8 @@ typedef struct {
> >      smbios_entry_point smbios_ep_table;
> >      uint16_t smbios_cpu_max_speed;
> >      uint16_t smbios_cpu_curr_speed;
> > +    uint8_t smbios_core_count;
> > +    uint16_t smbios_core_count2;
> >      uint8_t *required_struct_types;
> >      int required_struct_types_len;
> >      QTestState *qts;
> > @@ -640,8 +642,9 @@ static inline bool smbios_single_instance(uint8_t type)
> >
> >  static bool smbios_cpu_test(test_data *data, uint32_t addr)
> >  {
> > +    uint8_t real_cc, expect_cc = data->smbios_core_count;
>
> %s/expect/expected/
> also I'd s/real_cc/core_count/
>
> > +    uint16_t real, real_cc2, expect_cc2 = data->smbios_core_count2;
> ditto
>
> >      uint16_t expect_speed[2];
> > -    uint16_t real;
> >      int offset[2];
> >      int i;
> >
> > @@ -660,6 +663,20 @@ static bool smbios_cpu_test(test_data *data, uint32_t addr)
> >          }
> >      }
> >
> > +    real_cc = qtest_readb(data->qts, addr + offsetof(struct smbios_type_4, core_count));
> > +    real_cc2 = qtest_readw(data->qts, addr + offsetof(struct smbios_type_4, core_count2));
> > +
> > +    if (expect_cc && (real_cc != expect_cc)) {
> > +        fprintf(stderr, "Unexpected SMBIOS CPU count: real %u expect %u\n",
> > +                real_cc, expect_cc);
> > +        return false;
>
> since you are rewriting it anyways, how about
> if (expect_cc) {
>   g_assert_cmpuint(...)
> }
>
> instead of printing/propagating error

That works. But I still need to return something, unless you want to
change the original code too.

Best regards, Julia Suvorova.

> > +    }
> > +    if ((expect_cc == 0xFF) && (real_cc2 != expect_cc2)) {
> > +        fprintf(stderr, "Unexpected SMBIOS CPU count2: real %u expect %u\n",
> > +                real_cc2, expect_cc2);
> > +        return false;
> > +    }
> > +
> >      return true;
> >  }
> >
> > @@ -905,6 +922,21 @@ static void test_acpi_q35_tcg(void)
> >      free_test_data(&data);
> >  }
> >
> > +static void test_acpi_q35_tcg_core_count2(void)
> > +{
> > +    test_data data = {
> > +        .machine = MACHINE_Q35,
> > +        .variant = ".core-count2",
> > +        .required_struct_types = base_required_struct_types,
> > +        .required_struct_types_len = ARRAY_SIZE(base_required_struct_types),
> > +        .smbios_core_count = 0xFF,
> > +        .smbios_core_count2 = 275,
> > +    };
> > +
> > +    test_acpi_one("-machine smbios-entry-point-type=64 -smp 275", &data);
> > +    free_test_data(&data);
> > +}
> > +
> >  static void test_acpi_q35_tcg_bridge(void)
> >  {
> >      test_data data;
> > @@ -1787,6 +1819,7 @@ int main(int argc, char *argv[])
> >          qtest_add_func("acpi/piix4/pci-hotplug/off",
> >                         test_acpi_piix4_no_acpi_pci_hotplug);
> >          qtest_add_func("acpi/q35", test_acpi_q35_tcg);
> > +        qtest_add_func("acpi/q35/core-count2", test_acpi_q35_tcg_core_count2);
> >          qtest_add_func("acpi/q35/bridge", test_acpi_q35_tcg_bridge);
> >          qtest_add_func("acpi/q35/multif-bridge", test_acpi_q35_multif_bridge);
> >          qtest_add_func("acpi/q35/mmio64", test_acpi_q35_tcg_mmio64);
>



  parent reply	other threads:[~2022-06-06 11:44 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-27 16:56 [PATCH 0/5] hw/smbios: add core_count2 to smbios table type 4 Julia Suvorova
2022-05-27 16:56 ` [PATCH 1/5] " Julia Suvorova
2022-05-28  4:34   ` Ani Sinha
2022-05-31 12:40     ` Julia Suvorova
2022-06-02 14:31       ` Igor Mammedov
2022-06-02 14:35         ` Igor Mammedov
2022-06-06 11:11           ` Julia Suvorova
2022-06-07  9:51             ` Igor Mammedov
2022-05-27 16:56 ` [PATCH 2/5] bios-tables-test: teach test to use smbios 3.0 tables Julia Suvorova
2022-05-30  6:10   ` Ani Sinha
2022-05-31 12:39     ` Julia Suvorova
2022-06-02 15:04   ` Igor Mammedov
2022-06-06 10:52     ` Julia Suvorova
2022-06-07  9:55       ` Igor Mammedov
2022-05-27 16:56 ` [PATCH 3/5] tests/acpi: allow changes for core_count2 test Julia Suvorova
2022-05-28  5:28   ` Ani Sinha
2022-05-27 16:56 ` [PATCH 4/5] bios-tables-test: add test for number of cores > 255 Julia Suvorova
2022-05-28  5:22   ` Ani Sinha
2022-05-31 12:22     ` Julia Suvorova
2022-05-31 13:14       ` Ani Sinha
2022-05-31 15:05         ` Julia Suvorova
2022-06-01  5:09           ` Ani Sinha
2022-06-01  5:06   ` Ani Sinha
2022-06-02 15:20   ` Igor Mammedov
2022-06-02 16:31     ` Ani Sinha
2022-06-06 11:38     ` Julia Suvorova [this message]
2022-06-07 10:08       ` Igor Mammedov
2022-05-27 16:56 ` [PATCH 5/5] tests/acpi: update tables for new core count test Julia Suvorova

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=CAMDeoFXrgTbG846RfURzEHZv+W+t9LmJ-M-p1uSk07NW_UR9Dg@mail.gmail.com \
    --to=jusual@redhat.com \
    --cc=ani@anisinha.ca \
    --cc=imammedo@redhat.com \
    --cc=mst@redhat.com \
    --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.