~brianaker/libmemcached/1164440

928.2.7 by Brian Aker
Import parser/etc
1
/*  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
2
 * 
3
 *  Libmemcached
4
 *
5
 *  Copyright (C) 2011 Data Differential, http://datadifferential.com/
6
 *  All rights reserved.
7
 *
8
 *  Redistribution and use in source and binary forms, with or without
9
 *  modification, are permitted provided that the following conditions are
10
 *  met:
11
 *
12
 *      * Redistributions of source code must retain the above copyright
13
 *  notice, this list of conditions and the following disclaimer.
14
 *
15
 *      * Redistributions in binary form must reproduce the above
16
 *  copyright notice, this list of conditions and the following disclaimer
17
 *  in the documentation and/or other materials provided with the
18
 *  distribution.
19
 *
20
 *      * The names of its contributors may not be used to endorse or
21
 *  promote products derived from this software without specific prior
22
 *  written permission.
23
 *
24
 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25
 *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26
 *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27
 *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
28
 *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29
 *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30
 *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31
 *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32
 *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33
 *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34
 *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35
 *
36
 */
37
929.1.185 by Brian Aker
Merge in all of libtest updates.
38
#include <config.h>
39
#include <libtest/test.hpp>
929.1.160 by Brian Aker
Fix common test usage, and merge in additional document changes.
40
928.2.7 by Brian Aker
Import parser/etc
41
#include <libmemcached/memcached.h>
42
#include <libmemcached/is.h>
929.1.155 by Brian Aker
Update docs, and syncronize libtest.
43
928.2.7 by Brian Aker
Import parser/etc
44
#include "tests/basic.h"
45
929.1.89 by Brian Aker
Fix for OSX.
46
#include <cstring>
47
928.2.7 by Brian Aker
Import parser/etc
48
test_return_t basic_init_test(memcached_st *junk)
49
{
50
  (void)junk;
51
52
  memcached_st memc;
53
  memcached_st *memc_ptr;
54
55
  memc_ptr= memcached_create(&memc);
56
  test_true(memc_ptr);
57
  test_false(memcached_is_allocated(&memc));
58
  memcached_free(memc_ptr);
59
60
  return TEST_SUCCESS;
61
}
62
63
test_return_t basic_clone_test(memcached_st *memc)
64
{
65
  memcached_st *memc_ptr;
66
67
  memc_ptr= memcached_clone(NULL, memc);
68
  test_true(memc_ptr);
69
  test_true(memcached_is_allocated(memc_ptr));
70
  memcached_free(memc_ptr);
71
72
  return TEST_SUCCESS;
73
}
74
75
test_return_t basic_reset_stack_test(memcached_st *junk)
76
{
77
  (void)junk;
78
  memcached_st memc;
79
80
  memcached_create(&memc);
81
82
  memcached_reset(&memc);
83
  test_false(memcached_is_allocated(&memc));
84
85
  memcached_free(&memc);
86
  test_false(memcached_is_allocated(&memc));
87
88
  return TEST_SUCCESS;
89
}
90
91
test_return_t basic_reset_heap_test(memcached_st *junk)
92
{
93
  (void)junk;
94
  memcached_st *memc_ptr;
95
96
  memc_ptr= memcached_create(NULL);
97
  test_true(memcached_is_allocated(memc_ptr));
98
99
  memcached_reset(memc_ptr);
100
  test_true(memcached_is_allocated(memc_ptr));
101
102
  memcached_free(memc_ptr);
103
104
  return TEST_SUCCESS;
105
}
106
107
test_return_t basic_reset_stack_clone_test(memcached_st *memc)
108
{
109
  memcached_st clone;
110
  memcached_st *memc_ptr;
111
112
  memset(&clone, 0, sizeof(clone));
113
  memc_ptr= memcached_clone(&clone, memc);
114
  test_true(memc_ptr);
115
116
  memcached_reset(memc_ptr);
117
118
  memcached_free(memc_ptr);
119
120
  return TEST_SUCCESS;
121
}
122
123
test_return_t basic_reset_heap_clone_test(memcached_st *memc)
124
{
125
  memcached_st *memc_ptr;
126
127
  memc_ptr= memcached_clone(NULL, memc);
128
  test_true(memc_ptr);
129
130
  memcached_reset(memc_ptr);
131
132
  memcached_free(memc_ptr);
133
134
  return TEST_SUCCESS;
135
}