On 05/17/2016 05:42 PM, Igor Mammedov wrote:
print expected file name if it doesn't exists if
verbose mode is enabled*. It helps to avoid running
bios-tables-test under debugger to figure out missing
file name.
*)
verbose mode is enabled if "V" env. variable is set
Signed-off-by: Igor Mammedov <imamm...@redhat.com>
---
tests/bios-tables-test.c | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
index 0352814..9acf9ba 100644
--- a/tests/bios-tables-test.c
+++ b/tests/bios-tables-test.c
@@ -464,7 +464,6 @@ static GArray *load_expected_aml(test_data *data)
{
int i;
AcpiSdtTable *sdt;
- gchar *aml_file = NULL;
GError *error = NULL;
gboolean ret;
@@ -472,7 +471,9 @@ static GArray *load_expected_aml(test_data *data)
for (i = 0; i < data->tables->len; ++i) {
AcpiSdtTable exp_sdt;
uint32_t signature;
+ gchar *aml_file = NULL;
const char *ext = data->variant ? data->variant : "";
+ int j;
sdt = &g_array_index(data->tables, AcpiSdtTable, i);
@@ -481,16 +482,23 @@ static GArray *load_expected_aml(test_data *data)
signature = cpu_to_le32(sdt->header.signature);
-try_again:
- aml_file = g_strdup_printf("%s/%s/%.4s%s", data_dir, data->machine,
- (gchar *)&signature, ext);
- if (data->variant && !g_file_test(aml_file, G_FILE_TEST_EXISTS)) {
+ for (j = 2; j; j -= data->variant ? 1 : 2) {
Can you please make this code more readable ? I am kind of lost.
I do agree with what the patch tries to achieve.
Thanks,
Marcel
g_free(aml_file);
+ aml_file = g_strdup_printf("%s/%s/%.4s%s", data_dir, data->machine,
+ (gchar *)&signature, ext);
+ if (g_file_test(aml_file, G_FILE_TEST_EXISTS)) {
+ exp_sdt.aml_file = aml_file;
+ break;
+ }
+ if (getenv("V")) {
+ fprintf(stderr, "\nLooking for expected file '%s'\n",
aml_file);
+ }
ext = "";
- goto try_again;
}
- exp_sdt.aml_file = aml_file;
- g_assert(g_file_test(aml_file, G_FILE_TEST_EXISTS));
+ g_assert(exp_sdt.aml_file);
+ if (getenv("V")) {
+ fprintf(stderr, "\nUsing expected file '%s'\n", aml_file);
+ }
ret = g_file_get_contents(aml_file, &exp_sdt.aml,
&exp_sdt.aml_len, &error);
g_assert(ret);