1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-25 01:34:28 +03:00

test-dhcp-client: unref lease objects to make valgrind happy

Also unref client objects in test code, and initalize logging,
to DEBUG by default.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2014-04-10 23:45:46 -04:00
parent ca2d378414
commit 6e00a80641
3 changed files with 14 additions and 4 deletions

View File

@ -805,6 +805,7 @@ static int client_handle_offer(sd_dhcp_client *client, DHCPMessage *offer,
} }
} }
sd_dhcp_lease_unref(client->lease);
client->lease = lease; client->lease = lease;
lease = NULL; lease = NULL;
@ -1330,6 +1331,8 @@ sd_dhcp_client *sd_dhcp_client_unref(sd_dhcp_client *client) {
sd_dhcp_client_detach_event(client); sd_dhcp_client_detach_event(client);
sd_dhcp_lease_unref(client->lease);
free(client->req_opts); free(client->req_opts);
free(client); free(client);

View File

@ -271,7 +271,7 @@ int dhcp_lease_parse_options(uint8_t code, uint8_t len, const uint8_t *option,
} }
int dhcp_lease_new(sd_dhcp_lease **ret) { int dhcp_lease_new(sd_dhcp_lease **ret) {
_cleanup_dhcp_lease_unref_ sd_dhcp_lease *lease = NULL; sd_dhcp_lease *lease;
lease = new0(sd_dhcp_lease, 1); lease = new0(sd_dhcp_lease, 1);
if (!lease) if (!lease)
@ -280,8 +280,6 @@ int dhcp_lease_new(sd_dhcp_lease **ret) {
lease->n_ref = REFCNT_INIT; lease->n_ref = REFCNT_INIT;
*ret = lease; *ret = lease;
lease = NULL;
return 0; return 0;
} }

View File

@ -29,6 +29,8 @@
#include "util.h" #include "util.h"
#include "socket-util.h" #include "socket-util.h"
#include "sd-event.h"
#include "event-util.h"
#include "dhcp-protocol.h" #include "dhcp-protocol.h"
#include "dhcp-internal.h" #include "dhcp-internal.h"
@ -109,6 +111,8 @@ static void test_request_basic(sd_event *e)
assert_se(sd_dhcp_client_set_request_option(client, 33) == -EEXIST); assert_se(sd_dhcp_client_set_request_option(client, 33) == -EEXIST);
assert_se(sd_dhcp_client_set_request_option(client, 44) == 0); assert_se(sd_dhcp_client_set_request_option(client, 44) == 0);
assert_se(sd_dhcp_client_set_request_option(client, 33) == -EEXIST); assert_se(sd_dhcp_client_set_request_option(client, 33) == -EEXIST);
sd_dhcp_client_unref(client);
} }
static void test_checksum(void) static void test_checksum(void)
@ -373,6 +377,7 @@ static void test_addr_acq_acquired(sd_dhcp_client *client, int event,
if (verbose) if (verbose)
printf(" DHCP address acquired\n"); printf(" DHCP address acquired\n");
sd_dhcp_lease_unref(lease);
sd_event_exit(e, 0); sd_event_exit(e, 0);
} }
@ -485,7 +490,11 @@ static void test_addr_acq(sd_event *e) {
} }
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
sd_event *e; _cleanup_event_unref_ sd_event *e;
log_set_max_level(LOG_DEBUG);
log_parse_environment();
log_open();
assert_se(sd_event_new(&e) >= 0); assert_se(sd_event_new(&e) >= 0);