summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2024-02-02 02:02:19 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2024-02-02 02:02:19 +0000
commit9a106a6906d6a9718541633525de540e667b7625 (patch)
treed7628042bfa52586a0efe5df849aa10d1194b349 /test
parentFix warnings in test-glContainer (diff)
downloadilt-9a106a6906d6a9718541633525de540e667b7625.tar.bz2
ilt-9a106a6906d6a9718541633525de540e667b7625.tar.xz
ilt-9a106a6906d6a9718541633525de540e667b7625.zip
Don't keep a span, create as needed
Removes the error prone issue where data/size get out of sync. Fixes overflow issues leading to memory corruption of GPU data.
Diffstat (limited to 'test')
-rw-r--r--test/test-glContainer.cpp19
-rw-r--r--test/test-instancing.cpp6
2 files changed, 12 insertions, 13 deletions
diff --git a/test/test-glContainer.cpp b/test/test-glContainer.cpp
index f19ca74..382bd7a 100644
--- a/test/test-glContainer.cpp
+++ b/test/test-glContainer.cpp
@@ -23,14 +23,14 @@ BOOST_FIXTURE_TEST_SUITE(i, glContainer<int>)
BOOST_AUTO_TEST_CASE(createDestroy, *boost::unit_test::timeout(1))
{
- BOOST_CHECK(!data_.data());
+ BOOST_CHECK(!data_);
BOOST_CHECK_NO_THROW(map());
- BOOST_REQUIRE(!data_.data());
+ BOOST_REQUIRE(!data_);
BOOST_CHECK_NO_THROW(emplace_back(0));
BOOST_CHECK_NO_THROW(map());
- BOOST_REQUIRE(data_.data());
+ BOOST_REQUIRE(data_);
BOOST_CHECK_NO_THROW(unmap());
- BOOST_CHECK(!data_.data());
+ BOOST_CHECK(!data_);
}
BOOST_AUTO_TEST_CASE(push_back_test, *boost::unit_test::timeout(1))
@@ -44,7 +44,6 @@ BOOST_AUTO_TEST_CASE(push_back_test, *boost::unit_test::timeout(1))
BOOST_CHECK_NO_THROW(push_back(5));
BOOST_CHECK_EQUAL(capacity_, 8);
BOOST_CHECK_EQUAL(size_, 5);
- BOOST_CHECK_EQUAL(data_.size(), 5);
{
std::array expected1 {1, 2, 3, 4, 5};
BOOST_CHECK_EQUAL_COLLECTIONS(begin(), end(), expected1.begin(), expected1.end());
@@ -166,7 +165,7 @@ BOOST_AUTO_TEST_CASE(getters)
BOOST_CHECK_EQUAL(2, at(1));
BOOST_CHECK_EQUAL(1, (*this)[0]);
BOOST_CHECK_EQUAL(2, (*this)[1]);
- BOOST_CHECK_EQUAL(data_.data(), data());
+ BOOST_CHECK_EQUAL(data_, data());
BOOST_CHECK_THROW(std::ignore = at(2), std::out_of_range);
const auto & constCont {*this};
@@ -183,7 +182,7 @@ BOOST_AUTO_TEST_CASE(getters)
BOOST_CHECK_EQUAL(2, constCont.at(1));
BOOST_CHECK_EQUAL(1, constCont[0]);
BOOST_CHECK_EQUAL(2, constCont[1]);
- BOOST_CHECK_EQUAL(data_.data(), constCont.data());
+ BOOST_CHECK_EQUAL(data_, constCont.data());
BOOST_CHECK_THROW(std::ignore = constCont.at(2), std::out_of_range);
}
@@ -209,16 +208,16 @@ BOOST_AUTO_TEST_CASE(random_write)
BOOST_CHECK_NO_THROW(resize(3));
BOOST_CHECK_EQUAL(size(), 3);
BOOST_CHECK_NO_THROW(unmap());
- BOOST_REQUIRE(!data_.data());
+ BOOST_REQUIRE(!data_);
BOOST_CHECK_NO_THROW(at(0, 10));
BOOST_CHECK_NO_THROW(at(1, 20));
BOOST_CHECK_NO_THROW(at(2, 30));
- BOOST_CHECK(!data_.data());
+ BOOST_CHECK(!data_);
{
std::array expected1 {10, 20, 30};
BOOST_CHECK_EQUAL_COLLECTIONS(begin(), end(), expected1.begin(), expected1.end());
}
- BOOST_CHECK(data_.data());
+ BOOST_CHECK(data_);
BOOST_CHECK_NO_THROW(at(1, 40));
{
std::array expected1 {10, 40, 30};
diff --git a/test/test-instancing.cpp b/test/test-instancing.cpp
index 98133f3..c1860a4 100644
--- a/test/test-instancing.cpp
+++ b/test/test-instancing.cpp
@@ -56,11 +56,11 @@ BOOST_AUTO_TEST_CASE(autoMapUnmap)
{
{
auto proxy = acquire();
- BOOST_CHECK(data_.data());
+ BOOST_CHECK(data_);
std::ignore = bufferName();
- BOOST_CHECK(data_.data());
+ BOOST_CHECK(data_);
BOOST_CHECK_EQUAL(1, size());
- BOOST_CHECK(!data_.data());
+ BOOST_CHECK(!data_);
}
BOOST_CHECK_EQUAL(0, size());
}