[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 17/28] tests: fix tco-test leaks
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PULL 17/28] tests: fix tco-test leaks |
Date: |
Wed, 1 Mar 2017 13:04:42 +0400 |
Spotted by ASAN.
Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
tests/tco-test.c | 35 +++++++++++++++++++++--------------
1 file changed, 21 insertions(+), 14 deletions(-)
diff --git a/tests/tco-test.c b/tests/tco-test.c
index ef02ec5903..c4c264eb3d 100644
--- a/tests/tco-test.c
+++ b/tests/tco-test.c
@@ -42,11 +42,18 @@ typedef struct {
bool noreboot;
QPCIDevice *dev;
QPCIBar tco_io_bar;
+ QPCIBus *bus;
} TestData;
+static void test_end(TestData *d)
+{
+ g_free(d->dev);
+ qpci_free_pc(d->bus);
+ qtest_end();
+}
+
static void test_init(TestData *d)
{
- QPCIBus *bus;
QTestState *qs;
char *s;
@@ -57,8 +64,8 @@ static void test_init(TestData *d)
qtest_irq_intercept_in(qs, "ioapic");
g_free(s);
- bus = qpci_init_pc(NULL);
- d->dev = qpci_device_find(bus, QPCI_DEVFN(0x1f, 0x00));
+ d->bus = qpci_init_pc(NULL);
+ d->dev = qpci_device_find(d->bus, QPCI_DEVFN(0x1f, 0x00));
g_assert(d->dev != NULL);
qpci_device_enable(d->dev);
@@ -148,7 +155,7 @@ static void test_tco_defaults(void)
SW_IRQ_GEN_DEFAULT);
g_assert_cmpint(qpci_io_readw(d.dev, d.tco_io_bar, TCO_TMR), ==,
TCO_TMR_DEFAULT);
- qtest_end();
+ test_end(&d);
}
static void test_tco_timeout(void)
@@ -192,7 +199,7 @@ static void test_tco_timeout(void)
g_assert(ret == 1);
stop_tco(&d);
- qtest_end();
+ test_end(&d);
}
static void test_tco_max_timeout(void)
@@ -225,7 +232,7 @@ static void test_tco_max_timeout(void)
g_assert(ret == 1);
stop_tco(&d);
- qtest_end();
+ test_end(&d);
}
static QDict *get_watchdog_action(void)
@@ -262,7 +269,7 @@ static void test_tco_second_timeout_pause(void)
QDECREF(ad);
stop_tco(&td);
- qtest_end();
+ test_end(&td);
}
static void test_tco_second_timeout_reset(void)
@@ -287,7 +294,7 @@ static void test_tco_second_timeout_reset(void)
QDECREF(ad);
stop_tco(&td);
- qtest_end();
+ test_end(&td);
}
static void test_tco_second_timeout_shutdown(void)
@@ -312,7 +319,7 @@ static void test_tco_second_timeout_shutdown(void)
QDECREF(ad);
stop_tco(&td);
- qtest_end();
+ test_end(&td);
}
static void test_tco_second_timeout_none(void)
@@ -337,7 +344,7 @@ static void test_tco_second_timeout_none(void)
QDECREF(ad);
stop_tco(&td);
- qtest_end();
+ test_end(&td);
}
static void test_tco_ticks_counter(void)
@@ -365,7 +372,7 @@ static void test_tco_ticks_counter(void)
} while (!(qpci_io_readw(d.dev, d.tco_io_bar, TCO1_STS) & TCO_TIMEOUT));
stop_tco(&d);
- qtest_end();
+ test_end(&d);
}
static void test_tco1_control_bits(void)
@@ -383,7 +390,7 @@ static void test_tco1_control_bits(void)
qpci_io_writew(d.dev, d.tco_io_bar, TCO1_CNT, val);
g_assert_cmpint(qpci_io_readw(d.dev, d.tco_io_bar, TCO1_CNT), ==,
TCO_LOCK);
- qtest_end();
+ test_end(&d);
}
static void test_tco1_status_bits(void)
@@ -412,7 +419,7 @@ static void test_tco1_status_bits(void)
g_assert(ret == 1);
qpci_io_writew(d.dev, d.tco_io_bar, TCO1_STS, val);
g_assert_cmpint(qpci_io_readw(d.dev, d.tco_io_bar, TCO1_STS), ==, 0);
- qtest_end();
+ test_end(&d);
}
static void test_tco2_status_bits(void)
@@ -439,7 +446,7 @@ static void test_tco2_status_bits(void)
g_assert(ret == 1);
qpci_io_writew(d.dev, d.tco_io_bar, TCO2_STS, val);
g_assert_cmpint(qpci_io_readw(d.dev, d.tco_io_bar, TCO2_STS), ==, 0);
- qtest_end();
+ test_end(&d);
}
int main(int argc, char **argv)
--
2.12.0.rc2.3.gc93709801
- [Qemu-devel] [PULL 08/28] tests: fix q35-test leaks, (continued)
- [Qemu-devel] [PULL 08/28] tests: fix q35-test leaks, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 09/28] tests: fix vhost-user-test leaks, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 10/28] tests: fix ide-test leaks, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 12/28] tests: fix bios-tables-test leak, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 11/28] tests: fix hd-geo-test leaks, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 13/28] tests: fix ipmi-kcs-test leak, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 14/28] tests: fix ipmi-bt-test leak, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 15/28] pc: pcihp: avoid adding ACPI_PCIHP_PROP_BSEL twice, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 16/28] tests: fix eepro100-test leak, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 18/28] tests: fix e1000-test leak, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 17/28] tests: fix tco-test leaks,
Marc-André Lureau <=
- [Qemu-devel] [PULL 19/28] tests: fix i440fx-test leaks, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 20/28] tests: fix e1000e leaks, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 21/28] tests: fix virtio-scsi-test leak, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 22/28] tests: fix virtio-9p-test leaks, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 23/28] bus: do not unref hotplug handler, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 24/28] usb: release the created buses, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 25/28] tests: allows to run single test in usb-hcd-ehci-test, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 26/28] tests: fix usb-test leaks, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 27/28] tests: add specialized device_find function, Marc-André Lureau, 2017/03/01
- [Qemu-devel] [PULL 28/28] tests: fix virtio-blk-test leaks, Marc-André Lureau, 2017/03/01