aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorPieter Wuille <pieter@wuille.net>2023-09-11 13:54:32 -0400
committerPieter Wuille <pieter@wuille.net>2023-09-13 07:20:36 -0400
commit3fcd7fc7ff563bdc0e2bba66b4cbe72d898c876e (patch)
tree700c58d44de74b7dba914d5ea1083fcff90ece7c /src/test
parentfd69ffbbfb3e08b474b33540e56cf4f81e5c21d4 (diff)
downloadbitcoin-3fcd7fc7ff563bdc0e2bba66b4cbe72d898c876e.tar.xz
Do not use std::vector = {} to release memory
Diffstat (limited to 'src/test')
-rw-r--r--src/test/util_tests.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/util_tests.cpp b/src/test/util_tests.cpp
index 26677bfa55..67f71bd266 100644
--- a/src/test/util_tests.cpp
+++ b/src/test/util_tests.cpp
@@ -1791,4 +1791,29 @@ BOOST_AUTO_TEST_CASE(util_WriteBinaryFile)
BOOST_CHECK(valid);
BOOST_CHECK_EQUAL(actual_text, expected_text);
}
+
+BOOST_AUTO_TEST_CASE(clearshrink_test)
+{
+ {
+ std::vector<uint8_t> v = {1, 2, 3};
+ ClearShrink(v);
+ BOOST_CHECK_EQUAL(v.size(), 0);
+ BOOST_CHECK_EQUAL(v.capacity(), 0);
+ }
+
+ {
+ std::vector<bool> v = {false, true, false, false, true, true};
+ ClearShrink(v);
+ BOOST_CHECK_EQUAL(v.size(), 0);
+ BOOST_CHECK_EQUAL(v.capacity(), 0);
+ }
+
+ {
+ std::deque<int> v = {1, 3, 3, 7};
+ ClearShrink(v);
+ BOOST_CHECK_EQUAL(v.size(), 0);
+ // std::deque has no capacity() we can observe.
+ }
+}
+
BOOST_AUTO_TEST_SUITE_END()