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 <imamm...@redhat.com>

That's kind of ugly in that we do not test
shorter names then.  How about we pad with \0 instead?
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 via email to