summaryrefslogtreecommitdiff
path: root/tests/unit/mongo/client/disconnect.c
blob: 1b0be93426d7cec9a87f0bd614a8e82898baee45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "test.h"
#include "tap.h"
#include "mongo-client.h"

#include "libmongo-private.h"
#include <errno.h>

void
test_mongo_disconnect (void)
{
  mongo_connection *conn;

  conn = g_new0 (mongo_connection, 1);
  conn->fd = -1;

  errno = 0;
  mongo_disconnect (NULL);
  ok (errno == ENOTCONN,
      "mongo_disconnect() fails with ENOTCONN when passed a NULL connection");

  mongo_disconnect (conn);
  ok (errno == 0,
      "mongo_disconnect() works");

  conn = g_new0 (mongo_connection, 1);
  conn->fd = 100;
  mongo_disconnect (conn);
  ok (errno == 0,
      "mongo_disconnect() works, even with a bogus FD");
}

RUN_TEST (3, mongo_disconnect);