On Fri, Jun 21, 2024 at 9:59 PM Sunil V L <sunilvl@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 <sunilvl@ventanamicro.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> 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);
> }
> --
> 2.40.1
>