osrm-backend/test/t/util/test_memory.cpp
Patrick Niklaus 8511256779 Squashed 'third_party/libosmium/' content from commit 2282c84
git-subtree-dir: third_party/libosmium
git-subtree-split: 2282c8450bae55839372a2002db7ca754530d2fc
2016-03-01 17:56:55 +01:00

35 lines
780 B
C++

#include "catch.hpp"
#include <osmium/util/memory.hpp>
TEST_CASE("Check memory usage") {
#ifdef __linux__
const int size_in_mbytes = 10;
osmium::MemoryUsage m1;
REQUIRE(m1.current() > 1);
REQUIRE(m1.peak() > 1);
{
std::vector<int> v;
v.reserve(size_in_mbytes * 1024 * 1024);
osmium::MemoryUsage m2;
REQUIRE(m2.current() >= m1.current() + size_in_mbytes);
REQUIRE(m2.peak() >= m1.peak() + size_in_mbytes);
REQUIRE(m2.peak() - m2.current() <= 1);
}
osmium::MemoryUsage m3;
REQUIRE(m3.current() > 1);
REQUIRE(m3.current() < m3.peak());
REQUIRE(m3.peak() >= m1.peak() + size_in_mbytes);
#else
osmium::MemoryUsage m;
REQUIRE(m.current() == 0);
REQUIRE(m.peak() == 0);
#endif
}