Message ID | 20230719150103.36634-1-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | [for-8.1] tests/test-util-filemonitor: Avoid pointless allocations | expand |
On Wed, Jul 19, 2023 at 05:01:03PM +0200, Philippe Mathieu-Daudé wrote: > Coverity reports few resource leaks. While they are > harmless, fix them to avoid them showing on the reports. > > Reported-by: Coverity (CID 1432615: RESOURCE_LEAK) > Fixes: 4f370b1098 ("test-util-filemonitor: Skip test on non-x86 Travis containers") > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > tests/unit/test-util-filemonitor.c | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/tests/unit/test-util-filemonitor.c b/tests/unit/test-util-filemonitor.c > index b629e10857..3ca687860d 100644 > --- a/tests/unit/test-util-filemonitor.c > +++ b/tests/unit/test-util-filemonitor.c > @@ -398,7 +398,7 @@ test_file_monitor_events(void) > }; > Error *local_err = NULL; > GError *gerr = NULL; > - QFileMonitor *mon = qemu_file_monitor_new(&local_err); > + QFileMonitor *mon; > QemuThread th; > GTimer *timer; > gchar *dir = NULL; > @@ -407,12 +407,9 @@ test_file_monitor_events(void) > char *pathsrc = NULL; > char *pathdst = NULL; > QFileMonitorTestData data; > - GHashTable *ids = g_hash_table_new(g_int64_hash, g_int64_equal); > + GHashTable *ids; > char *travis_arch; > > - qemu_mutex_init(&data.lock); > - data.records = NULL; > - > /* > * This test does not work on Travis LXD containers since some > * syscalls are blocked in that environment. Right here is logic that checks the TRAVIS_ARCH env variable. IMHO this should just be moved out into the main() method, so we don't even start test when under Travis. Just make the whole program exits with a skip status on travis. > @@ -423,6 +420,12 @@ test_file_monitor_events(void) > return; > } > > + mon = qemu_file_monitor_new(&local_err); > + ids = g_hash_table_new(g_int64_hash, g_int64_equal); > + > + qemu_mutex_init(&data.lock); > + data.records = NULL; > + > /* > * The file monitor needs the main loop running in > * order to receive events from inotify. We must > -- > 2.38.1 > With regards, Daniel
On 19/7/23 17:39, Daniel P. Berrangé wrote: > On Wed, Jul 19, 2023 at 05:01:03PM +0200, Philippe Mathieu-Daudé wrote: >> Coverity reports few resource leaks. While they are >> harmless, fix them to avoid them showing on the reports. >> >> Reported-by: Coverity (CID 1432615: RESOURCE_LEAK) >> Fixes: 4f370b1098 ("test-util-filemonitor: Skip test on non-x86 Travis containers") >> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> >> --- >> tests/unit/test-util-filemonitor.c | 13 ++++++++----- >> 1 file changed, 8 insertions(+), 5 deletions(-) >> >> diff --git a/tests/unit/test-util-filemonitor.c b/tests/unit/test-util-filemonitor.c >> index b629e10857..3ca687860d 100644 >> --- a/tests/unit/test-util-filemonitor.c >> +++ b/tests/unit/test-util-filemonitor.c >> @@ -398,7 +398,7 @@ test_file_monitor_events(void) >> /* >> * This test does not work on Travis LXD containers since some >> * syscalls are blocked in that environment. > > Right here is logic that checks the TRAVIS_ARCH env variable. > > IMHO this should just be moved out into the main() method, so > we don't even start test when under Travis. Just make the whole > program exits with a skip status on travis. Clever eh :)
diff --git a/tests/unit/test-util-filemonitor.c b/tests/unit/test-util-filemonitor.c index b629e10857..3ca687860d 100644 --- a/tests/unit/test-util-filemonitor.c +++ b/tests/unit/test-util-filemonitor.c @@ -398,7 +398,7 @@ test_file_monitor_events(void) }; Error *local_err = NULL; GError *gerr = NULL; - QFileMonitor *mon = qemu_file_monitor_new(&local_err); + QFileMonitor *mon; QemuThread th; GTimer *timer; gchar *dir = NULL; @@ -407,12 +407,9 @@ test_file_monitor_events(void) char *pathsrc = NULL; char *pathdst = NULL; QFileMonitorTestData data; - GHashTable *ids = g_hash_table_new(g_int64_hash, g_int64_equal); + GHashTable *ids; char *travis_arch; - qemu_mutex_init(&data.lock); - data.records = NULL; - /* * This test does not work on Travis LXD containers since some * syscalls are blocked in that environment. @@ -423,6 +420,12 @@ test_file_monitor_events(void) return; } + mon = qemu_file_monitor_new(&local_err); + ids = g_hash_table_new(g_int64_hash, g_int64_equal); + + qemu_mutex_init(&data.lock); + data.records = NULL; + /* * The file monitor needs the main loop running in * order to receive events from inotify. We must
Coverity reports few resource leaks. While they are harmless, fix them to avoid them showing on the reports. Reported-by: Coverity (CID 1432615: RESOURCE_LEAK) Fixes: 4f370b1098 ("test-util-filemonitor: Skip test on non-x86 Travis containers") Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- tests/unit/test-util-filemonitor.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-)