tests/qtest: failover: use a macro for check_one_card()
This allows g_assert() to correctly report the line number of the error in the test case. Signed-off-by: Laurent Vivier <lvivier@redhat.com> Message-Id: <20220203141537.972317-3-lvivier@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
		
							parent
							
								
									fbd2913cce
								
							
						
					
					
						commit
						1a800870c5
					
				@ -224,32 +224,27 @@ static char *get_mac(QTestState *qts, const char *name)
 | 
				
			|||||||
    return mac;
 | 
					    return mac;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void check_one_card(QTestState *qts, bool present,
 | 
					#define check_one_card(qts, present, id, mac)                   \
 | 
				
			||||||
                           const char *id, const char *mac)
 | 
					do {                                                            \
 | 
				
			||||||
{
 | 
					    QDict *device;                                              \
 | 
				
			||||||
    QDict *device;
 | 
					    QDict *bus;                                                 \
 | 
				
			||||||
    QDict *bus;
 | 
					    char *addr;                                                 \
 | 
				
			||||||
    char *addr;
 | 
					    bus = get_bus(qts, 0);                                      \
 | 
				
			||||||
 | 
					    device = find_device(bus, id);                              \
 | 
				
			||||||
    bus = get_bus(qts, 0);
 | 
					    if (present) {                                              \
 | 
				
			||||||
    device = find_device(bus, id);
 | 
					        char *path;                                             \
 | 
				
			||||||
    if (present) {
 | 
					        g_assert_nonnull(device);                               \
 | 
				
			||||||
        char *path;
 | 
					        qobject_unref(device);                                  \
 | 
				
			||||||
 | 
					        path = g_strdup_printf("/machine/peripheral/%s", id);   \
 | 
				
			||||||
        g_assert_nonnull(device);
 | 
					        addr = get_mac(qts, path);                              \
 | 
				
			||||||
        qobject_unref(device);
 | 
					        g_free(path);                                           \
 | 
				
			||||||
 | 
					        g_assert_cmpstr(mac, ==, addr);                         \
 | 
				
			||||||
        path = g_strdup_printf("/machine/peripheral/%s", id);
 | 
					        g_free(addr);                                           \
 | 
				
			||||||
        addr = get_mac(qts, path);
 | 
					    } else {                                                    \
 | 
				
			||||||
        g_free(path);
 | 
					       g_assert_null(device);                                   \
 | 
				
			||||||
        g_assert_cmpstr(mac, ==, addr);
 | 
					    }                                                           \
 | 
				
			||||||
        g_free(addr);
 | 
					    qobject_unref(bus);                                         \
 | 
				
			||||||
    } else {
 | 
					} while (0)
 | 
				
			||||||
       g_assert_null(device);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    qobject_unref(bus);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void test_on(void)
 | 
					static void test_on(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user