Skip to content

Commit 397e25a

Browse files
committed
Refactor test cases for pmr_memory_resource, pmr_new, pmr_allocator, pmr_block_pool, and pmr_monotonic_buffer_resource
1 parent 2f79716 commit 397e25a

6 files changed

+49
-30
lines changed

test/pmr/test_pmr_allocator.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66

77
#include "libpmr/allocator.h"
88

9-
TEST(allocator, construct) {
9+
TEST(pmr_allocator, construct) {
1010
pmr::allocator alc;
1111
SUCCEED();
1212
}
1313

14-
TEST(allocator, construct_value_initialization) {
14+
TEST(pmr_allocator, construct_value_initialization) {
1515
pmr::allocator alc{};
1616
auto p = alc.allocate(128);
1717
EXPECT_NE(p, nullptr);
@@ -32,7 +32,7 @@ class dummy_resource {
3232

3333
} // namespace
3434

35-
TEST(allocator, construct_copy_move) {
35+
TEST(pmr_allocator, construct_copy_move) {
3636
pmr::new_delete_resource mem_res;
3737
dummy_resource dummy_res;
3838
pmr::allocator alc1{&mem_res}, alc2{&dummy_res};
@@ -54,7 +54,7 @@ TEST(allocator, construct_copy_move) {
5454
ASSERT_NO_THROW(alc5.deallocate(p, 128));
5555
}
5656

57-
TEST(allocator, swap) {
57+
TEST(pmr_allocator, swap) {
5858
pmr::new_delete_resource mem_res;
5959
dummy_resource dummy_res;
6060
pmr::allocator alc1{&mem_res}, alc2{&dummy_res};
@@ -65,14 +65,14 @@ TEST(allocator, swap) {
6565
ASSERT_EQ(alc1.allocate(128), nullptr);
6666
}
6767

68-
TEST(allocator, invalid_alloc_free) {
68+
TEST(pmr_allocator, invalid_alloc_free) {
6969
pmr::allocator alc1;
7070
EXPECT_EQ(alc1.allocate(0), nullptr);
7171
EXPECT_NO_THROW(alc1.deallocate(nullptr, 128));
7272
EXPECT_NO_THROW(alc1.deallocate(nullptr, 0));
7373
EXPECT_NO_THROW(alc1.deallocate(&alc1, 0));
7474
}
7575

76-
TEST(allocator, sizeof) {
76+
TEST(pmr_allocator, sizeof) {
7777
EXPECT_EQ(sizeof(pmr::allocator), sizeof(void *) * 2);
7878
}

test/pmr/test_pmr_block_pool.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
#include "libpmr/block_pool.h"
88

9-
TEST(block_pool, central_cache_allocator) {
9+
TEST(pmr_block_pool, central_cache_allocator) {
1010
auto &a = pmr::central_cache_allocator();
1111
ASSERT_FALSE(nullptr == a.allocate(1));
1212
ASSERT_FALSE(nullptr == a.allocate(10));
@@ -15,7 +15,7 @@ TEST(block_pool, central_cache_allocator) {
1515
ASSERT_FALSE(nullptr == a.allocate(10000));
1616
}
1717

18-
TEST(block_pool, block) {
18+
TEST(pmr_block_pool, block) {
1919
pmr::block<1> b1;
2020
EXPECT_EQ(sizeof(b1), (std::max)(alignof(std::max_align_t), sizeof(void *)));
2121
pmr::block<sizeof(void *)> b2;
@@ -24,7 +24,7 @@ TEST(block_pool, block) {
2424
EXPECT_EQ(sizeof(b3), (std::max)(alignof(std::max_align_t), sizeof(void *) * 2));
2525
}
2626

27-
TEST(block_pool, central_cache_pool_ctor) {
27+
TEST(pmr_block_pool, central_cache_pool_ctor) {
2828
ASSERT_FALSE((std::is_default_constructible<pmr::central_cache_pool<pmr::block<1>, 1>>::value));
2929
ASSERT_FALSE((std::is_copy_constructible<pmr::central_cache_pool<pmr::block<1>, 1>>::value));
3030
ASSERT_FALSE((std::is_move_constructible<pmr::central_cache_pool<pmr::block<1>, 1>>::value));
@@ -62,15 +62,15 @@ TEST(block_pool, central_cache_pool_ctor) {
6262
}
6363
}
6464

65-
TEST(block_pool, ctor) {
65+
TEST(pmr_block_pool, ctor) {
6666
ASSERT_TRUE ((std::is_default_constructible<pmr::block_pool<1, 1>>::value));
6767
ASSERT_FALSE((std::is_copy_constructible<pmr::block_pool<1, 1>>::value));
68-
ASSERT_FALSE((std::is_move_constructible<pmr::block_pool<1, 1>>::value));
68+
ASSERT_TRUE ((std::is_move_constructible<pmr::block_pool<1, 1>>::value));
6969
ASSERT_FALSE((std::is_copy_assignable<pmr::block_pool<1, 1>>::value));
7070
ASSERT_FALSE((std::is_move_assignable<pmr::block_pool<1, 1>>::value));
7171
}
7272

73-
TEST(block_pool, allocate) {
73+
TEST(pmr_block_pool, allocate) {
7474
std::vector<void *> v;
7575
pmr::block_pool<1, 1> pool;
7676
for (int i = 0; i < 100; ++i) {

test/pmr/test_pmr_memory_resource.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ void *test_mr(T &&mr, std::size_t bytes, std::size_t alignment) {
2424

2525
} // namespace
2626

27-
TEST(memory_resource, traits) {
27+
TEST(pmr_memory_resource, traits) {
2828
EXPECT_FALSE(pmr::has_allocate<void>::value);
2929
EXPECT_FALSE(pmr::has_allocate<int>::value);
3030
EXPECT_FALSE(pmr::has_allocate<std::vector<int>>::value);
@@ -44,7 +44,7 @@ TEST(memory_resource, traits) {
4444
#endif
4545
}
4646

47-
TEST(memory_resource, new_delete_resource) {
47+
TEST(pmr_memory_resource, new_delete_resource) {
4848
pmr::new_delete_resource mem_res;
4949

5050
EXPECT_EQ(test_mr(mem_res, 0, 0), nullptr);

test/pmr/test_pmr_monotonic_buffer_resource.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#include "libpmr/monotonic_buffer_resource.h"
99

10-
TEST(monotonic_buffer_resource, construct) {
10+
TEST(pmr_monotonic_buffer_resource, construct) {
1111
{ pmr::monotonic_buffer_resource tmp; }
1212
pmr::monotonic_buffer_resource{};
1313
pmr::monotonic_buffer_resource{pmr::allocator{}};
@@ -18,14 +18,14 @@ TEST(monotonic_buffer_resource, construct) {
1818
SUCCEED();
1919
}
2020

21-
TEST(monotonic_buffer_resource, no_copy) {
21+
TEST(pmr_monotonic_buffer_resource, no_copy) {
2222
EXPECT_FALSE(std::is_copy_constructible<pmr::monotonic_buffer_resource>::value);
2323
EXPECT_FALSE(std::is_copy_assignable<pmr::monotonic_buffer_resource>::value);
2424
EXPECT_FALSE(std::is_move_constructible<pmr::monotonic_buffer_resource>::value);
2525
EXPECT_FALSE(std::is_move_assignable<pmr::monotonic_buffer_resource>::value);
2626
}
2727

28-
TEST(monotonic_buffer_resource, upstream_resource) {
28+
TEST(pmr_monotonic_buffer_resource, upstream_resource) {
2929
struct dummy_allocator {
3030
bool allocated = false;
3131
void *allocate(std::size_t, std::size_t) noexcept { allocated = true; return nullptr; }
@@ -52,7 +52,7 @@ struct dummy_allocator {
5252

5353
} // namespace
5454

55-
TEST(monotonic_buffer_resource, allocate) {
55+
TEST(pmr_monotonic_buffer_resource, allocate) {
5656
dummy_allocator dummy;
5757
{
5858
pmr::monotonic_buffer_resource tmp{&dummy};
@@ -76,7 +76,7 @@ TEST(monotonic_buffer_resource, allocate) {
7676
ASSERT_EQ(dummy.allocated, 0);
7777
}
7878

79-
TEST(monotonic_buffer_resource, allocate_by_buffer) {
79+
TEST(pmr_monotonic_buffer_resource, allocate_by_buffer) {
8080
dummy_allocator dummy;
8181
std::array<imp::byte, 4096> buffer;
8282
{
@@ -95,7 +95,7 @@ TEST(monotonic_buffer_resource, allocate_by_buffer) {
9595
ASSERT_EQ(dummy.allocated, 0);
9696
}
9797

98-
TEST(monotonic_buffer_resource, release) {
98+
TEST(pmr_monotonic_buffer_resource, release) {
9999
dummy_allocator dummy;
100100
{
101101
pmr::monotonic_buffer_resource tmp{&dummy};

test/pmr/test_pmr_new.cpp

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ TEST(pmr_new, new$array) {
6868

6969
namespace {
7070

71+
int construct_count__ = 0;
72+
7173
class Base {
7274
public:
7375
virtual ~Base() = default;
@@ -76,7 +78,14 @@ class Base {
7678

7779
class Derived : public Base {
7880
public:
79-
Derived(int value) : value_(value) {}
81+
Derived(int value) : value_(value) {
82+
construct_count__ = value_;
83+
}
84+
85+
~Derived() override {
86+
construct_count__ = 0;
87+
}
88+
8089
int get() const override { return value_; }
8190

8291
private:
@@ -89,9 +98,19 @@ TEST(pmr_new, delete$poly) {
8998
Base *p = pmr::new$<Derived>(-1);
9099
ASSERT_NE(p, nullptr);
91100
ASSERT_EQ(p->get(), -1);
101+
ASSERT_EQ(construct_count__, -1);
92102
pmr::delete$(p);
103+
ASSERT_EQ(construct_count__, 0);
93104

94105
ASSERT_EQ(p, pmr::new$<Derived>((std::numeric_limits<int>::max)()));
95106
ASSERT_EQ(p->get(), (std::numeric_limits<int>::max)());
107+
ASSERT_EQ(construct_count__, (std::numeric_limits<int>::max)());
108+
pmr::delete$(p);
109+
ASSERT_EQ(construct_count__, 0);
110+
}
111+
112+
TEST(pmr_new, delete$null) {
113+
Base *p = nullptr;
96114
pmr::delete$(p);
115+
SUCCEED();
97116
}

test/pmr/test_pmr_small_storage.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
#include "libpmr/small_storage.h"
88

9-
TEST(small_storage, holder_construct) {
9+
TEST(pmr_small_storage, holder_construct) {
1010
pmr::holder_null();
1111
pmr::holder<int, true>();
1212
pmr::holder<int, false>();
@@ -15,7 +15,7 @@ TEST(small_storage, holder_construct) {
1515
SUCCEED();
1616
}
1717

18-
TEST(small_storage, holder_copy_move_construct) {
18+
TEST(pmr_small_storage, holder_copy_move_construct) {
1919
EXPECT_FALSE(std::is_copy_constructible<pmr::holder_null>::value);
2020
EXPECT_FALSE((std::is_copy_constructible<pmr::holder<int, true>>::value));
2121
EXPECT_FALSE((std::is_copy_constructible<pmr::holder<int, false>>::value));
@@ -52,7 +52,7 @@ struct foo {
5252

5353
} // namespace
5454

55-
TEST(small_storage, holder_copy_move_object_stack) {
55+
TEST(pmr_small_storage, holder_copy_move_object_stack) {
5656
pmr::allocator alc;
5757
pmr::holder<foo, true> h1(alc, 1);
5858
pmr::holder<foo, true> h2, h3;
@@ -67,7 +67,7 @@ TEST(small_storage, holder_copy_move_object_stack) {
6767
h3.destroy(alc);
6868
}
6969

70-
TEST(small_storage, holder_copy_move_object_heap) {
70+
TEST(pmr_small_storage, holder_copy_move_object_heap) {
7171
pmr::allocator alc;
7272
pmr::holder<foo, false> h4(alc, 1);
7373
pmr::holder<foo, false> h5, h6;
@@ -82,7 +82,7 @@ TEST(small_storage, holder_copy_move_object_heap) {
8282
h6.destroy(alc);
8383
}
8484

85-
TEST(small_storage, holder_copy_move_array_stack) {
85+
TEST(pmr_small_storage, holder_copy_move_array_stack) {
8686
pmr::allocator alc;
8787
void *ph1 = std::malloc(pmr::holder<void, true>::full_sizeof<int>(10));
8888
void *ph2 = std::malloc(pmr::holder<void, true>::full_sizeof<int>(10));
@@ -104,7 +104,7 @@ TEST(small_storage, holder_copy_move_array_stack) {
104104
std::free(ph3);
105105
}
106106

107-
TEST(small_storage, holder_copy_move_array_heap) {
107+
TEST(pmr_small_storage, holder_copy_move_array_heap) {
108108
pmr::allocator alc;
109109
pmr::holder<void, false> h10(alc, ::LIBIMP::types<int>{}, 10);
110110
pmr::holder<void, false> h11, h12;
@@ -119,7 +119,7 @@ TEST(small_storage, holder_copy_move_array_heap) {
119119
h12.destroy(alc);
120120
}
121121

122-
TEST(small_storage, sizeof) {
122+
TEST(pmr_small_storage, sizeof) {
123123
EXPECT_EQ(sizeof(pmr::holder_null), sizeof(void *));
124124
EXPECT_EQ(sizeof(pmr::holder<int, true>), sizeof(void *) + imp::round_up(sizeof(int), alignof(void *)));
125125
EXPECT_EQ(sizeof(pmr::holder<int, false>), sizeof(void *) + sizeof(void *));
@@ -133,12 +133,12 @@ TEST(small_storage, sizeof) {
133133
EXPECT_GT(sizeof(pmr::small_storage<4096>), 4096);
134134
}
135135

136-
TEST(small_storage, construct) {
136+
TEST(pmr_small_storage, construct) {
137137
pmr::small_storage<64> ss;
138138
SUCCEED();
139139
}
140140

141-
TEST(small_storage, acquire) {
141+
TEST(pmr_small_storage, acquire) {
142142
pmr::small_storage<128> ss;
143143
pmr::allocator alc;
144144
ASSERT_FALSE(ss.valid());

0 commit comments

Comments
 (0)