Code Review
/
src
/
drm-lease-manager.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Add lease request and release protocol
[src/drm-lease-manager.git]
/
libdlmclient
/
test
/
test-socket-server.c
diff --git
a/libdlmclient/test/test-socket-server.c
b/libdlmclient/test/test-socket-server.c
index
281aaf7
..
6aaa4e4
100644
(file)
--- a/
libdlmclient/test/test-socket-server.c
+++ b/
libdlmclient/test/test-socket-server.c
@@
-25,6
+25,7
@@
#include <sys/un.h>
#include <unistd.h>
#include <sys/un.h>
#include <unistd.h>
+#include "dlm-protocol.h"
#include "socket-path.h"
#include "test-helpers.h"
#include "socket-path.h"
#include "test-helpers.h"
@@
-56,6
+57,13
@@
static void send_fd_list_over_socket(int socket, int nfds, int *fds)
free(buf);
}
free(buf);
}
+static void expect_client_command(int socket, enum dlm_opcode opcode)
+{
+ struct dlm_client_request req;
+ ck_assert_int_eq(receive_dlm_client_request(socket, &req), true);
+ ck_assert_int_eq(req.opcode, opcode);
+}
+
struct server_state {
pthread_t tid;
pthread_mutex_t lock;
struct server_state {
pthread_t tid;
pthread_mutex_t lock;
@@
-77,7
+85,7
@@
static void *test_server_thread(void *arg)
ck_assert_int_eq(
sockaddr_set_lease_server_path(&address, config->lease_name), true);
ck_assert_int_eq(
sockaddr_set_lease_server_path(&address, config->lease_name), true);
- int server = socket(PF_UNIX, SOCK_S
TREAM
, 0);
+ int server = socket(PF_UNIX, SOCK_S
EQPACKET
, 0);
ck_assert_int_ge(server, 0);
unlink(address.sun_path);
ck_assert_int_ge(server, 0);
unlink(address.sun_path);
@@
-102,6
+110,8
@@
static void *test_server_thread(void *arg)
return NULL;
}
return NULL;
}
+ expect_client_command(client, DLM_GET_LEASE);
+
if (config->send_no_data)
goto done;
if (config->send_no_data)
goto done;
@@
-120,6
+130,7
@@
static void *test_server_thread(void *arg)
config->fds[i] = get_dummy_fd();
send_fd_list_over_socket(client, config->nfds, config->fds);
config->fds[i] = get_dummy_fd();
send_fd_list_over_socket(client, config->nfds, config->fds);
+ expect_client_command(client, DLM_RELEASE_LEASE);
done:
close(client);
close(server);
done:
close(client);
close(server);