On Fri, 21 Jun 2024 17:28:56 +0530 Sunil V L <suni...@ventanamicro.com> wrote:
> Since machine name can be common for multiple architectures (ex: virt), > add "arch" in the path to search for expected AML files. Since the AML > files are still under old path, add support for searching with and > without arch in the path. > > Signed-off-by: Sunil V L <suni...@ventanamicro.com> Reviewed-by: Igor Mammedov <imamm...@redhat.com> > --- > tests/qtest/bios-tables-test.c | 23 ++++++++++++++++++++--- > 1 file changed, 20 insertions(+), 3 deletions(-) > > diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c > index c4a4d1c7bf..29c52952f4 100644 > --- a/tests/qtest/bios-tables-test.c > +++ b/tests/qtest/bios-tables-test.c > @@ -78,6 +78,7 @@ > typedef struct { > bool tcg_only; > const char *machine; > + const char *arch; > const char *machine_param; > const char *variant; > const char *uefi_fl1; > @@ -262,8 +263,19 @@ static void dump_aml_files(test_data *data, bool rebuild) > g_assert(exp_sdt->aml); > > if (rebuild) { > - aml_file = g_strdup_printf("%s/%s/%.4s%s", data_dir, > data->machine, > + aml_file = g_strdup_printf("%s/%s/%s/%.4s%s", data_dir, > + data->arch, data->machine, > sdt->aml, ext); > + > + /* > + * To keep test cases not failing before the DATA files are > moved to > + * ${arch}/${machine} folder, add this check as well. > + */ > + if (!g_file_test(aml_file, G_FILE_TEST_EXISTS)) { > + aml_file = g_strdup_printf("%s/%s/%.4s%s", data_dir, > + data->machine, sdt->aml, ext); > + } > + > if (!g_file_test(aml_file, G_FILE_TEST_EXISTS) && > sdt->aml_len == exp_sdt->aml_len && > !memcmp(sdt->aml, exp_sdt->aml, sdt->aml_len)) { > @@ -398,8 +410,13 @@ static GArray *load_expected_aml(test_data *data) > memset(&exp_sdt, 0, sizeof(exp_sdt)); > > try_again: > - aml_file = g_strdup_printf("%s/%s/%.4s%s", data_dir, data->machine, > - sdt->aml, ext); > + aml_file = g_strdup_printf("%s/%s/%s/%.4s%s", data_dir, data->arch, > + data->machine, sdt->aml, ext); > + if (!g_file_test(aml_file, G_FILE_TEST_EXISTS)) { > + aml_file = g_strdup_printf("%s/%s/%.4s%s", data_dir, > data->machine, > + sdt->aml, ext); > + } > + > if (verbosity_level >= 2) { > fprintf(stderr, "Looking for expected file '%s'\n", aml_file); > }