]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
bios-tables-test: ignore identical binaries
authorMichael S. Tsirkin <mst@redhat.com>
Wed, 5 Jun 2019 03:41:32 +0000 (23:41 -0400)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 5 Jun 2019 19:54:15 +0000 (15:54 -0400)
when binary of the tables is identical, there is no need to run iasl
to check that they are functionally equivalent.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
tests/bios-tables-test.c

index d80ea7f7f36f2a1233a82f0c63451d0c929f868c..0ce55182f23893a8055460ab68a73b9d665a980b 100644 (file)
@@ -375,6 +375,20 @@ static void test_acpi_asl(test_data *data)
         sdt = &g_array_index(data->tables, AcpiSdtTable, i);
         exp_sdt = &g_array_index(exp_data.tables, AcpiSdtTable, i);
 
+        if (sdt->aml_len == exp_sdt->aml_len &&
+            !memcmp(sdt->aml, exp_sdt->aml, sdt->aml_len)) {
+            /* Identical table binaries: no need to disassemble. */
+            continue;
+        }
+
+        fprintf(stderr,
+                "acpi-test: Warning! %.4s binary file mismatch. "
+                "Actual [aml:%s], Expected [aml:%s].\n",
+                exp_sdt->aml, sdt->aml_file, exp_sdt->aml_file);
+
+        all_tables_match = all_tables_match &&
+            test_acpi_find_diff_allowed(exp_sdt);
+
         err = load_asl(data->tables, sdt);
         asl = normalize_asl(sdt->asl);
 
@@ -413,8 +427,6 @@ static void test_acpi_asl(test_data *data)
                     }
                 }
             }
-            all_tables_match = all_tables_match &&
-                test_acpi_find_diff_allowed(exp_sdt);
         }
         g_string_free(asl, true);
         g_string_free(exp_asl, true);