Skip to content

Commit 25a3224

Browse files
committed
Fix memory manager + tests
1 parent ade39eb commit 25a3224

2 files changed

Lines changed: 13 additions & 13 deletions

File tree

src/MemoryManager.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class MemoryManager
4141

4242
T* getNextMemPointer() {
4343
T* ReturnPointer = getMemPointer(SegmentOffset);
44-
SegmentOffset >= SegmentCount ? SegmentOffset = 0 : SegmentOffset++;
44+
SegmentOffset+1 >= SegmentCount ? SegmentOffset = 0 : SegmentOffset++;
4545
return ReturnPointer;
4646
}
4747

test/unit/memory-manager/test-memory-manager.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ BOOST_AUTO_TEST_CASE( test_basic_memory_manager_char_type )
1717
char* BaseAddr = BufferMemory.getMemBaseAddress();
1818
char* MemPointer;
1919
MemPointer = BufferMemory.getNextMemPointer();
20-
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr)+11);
20+
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr));
2121
MemPointer = BufferMemory.getNextMemPointer();
22-
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr)+(2*11));
22+
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr)+(1*11));
2323
MemPointer = BufferMemory.getNextMemPointer();
24-
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr)+(3*11));
24+
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr)+(2*11));
2525
}
2626

2727
// 64bit (8 byte)
@@ -31,11 +31,11 @@ BOOST_AUTO_TEST_CASE( test_basic_memory_manager_int64_type )
3131
int64_t* BaseAddr = BufferMemory.getMemBaseAddress();
3232
int64_t* MemPointer;
3333
MemPointer = BufferMemory.getNextMemPointer();
34-
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+(16*8)));
34+
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr));
3535
MemPointer = BufferMemory.getNextMemPointer();
36-
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+2*(16*8)));
36+
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+1*(16*8)));
3737
MemPointer = BufferMemory.getNextMemPointer();
38-
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+3*(16*8)));
38+
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+2*(16*8)));
3939
}
4040

4141
// 16bit (2 byte)
@@ -45,11 +45,11 @@ BOOST_AUTO_TEST_CASE( test_basic_memory_manager_short_type )
4545
short* BaseAddr = BufferMemory.getMemBaseAddress();
4646
short* MemPointer;
4747
MemPointer = BufferMemory.getNextMemPointer();
48-
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+(38*2)));
48+
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr));
4949
MemPointer = BufferMemory.getNextMemPointer();
50-
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+2*(38*2)));
50+
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+1*(38*2)));
5151
MemPointer = BufferMemory.getNextMemPointer();
52-
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+3*(38*2)));
52+
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+2*(38*2)));
5353
}
5454

5555
// 64bit (8 byte) out of bounds check
@@ -59,16 +59,16 @@ BOOST_AUTO_TEST_CASE( test_basic_memory_manager_int64_type_oob )
5959
int64_t* BaseAddr = BufferMemory.getMemBaseAddress();
6060
int64_t* MemPointer;
6161
MemPointer = BufferMemory.getNextMemPointer();
62-
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+(24*8)));
62+
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr));
63+
MemPointer = BufferMemory.getNextMemPointer();
64+
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+1*(24*8)));
6365
MemPointer = BufferMemory.getNextMemPointer();
6466
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+2*(24*8)));
6567
MemPointer = BufferMemory.getNextMemPointer();
6668
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+3*(24*8)));
6769
MemPointer = BufferMemory.getNextMemPointer();
6870
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr+4*(24*8)));
6971
MemPointer = BufferMemory.getNextMemPointer();
70-
BOOST_CHECK_EQUAL(MemPointer, static_cast<void*>(BaseAddr));
71-
MemPointer = BufferMemory.getNextMemPointer();
7272
}
7373

7474
BOOST_AUTO_TEST_CASE( test_memory_manager_wraps_after_segment_count )

0 commit comments

Comments
 (0)