MCPcopy Create free account
hub / github.com/defold/defold / TEST_P

Function TEST_P

engine/dlib/src/test/test_buffer.cpp:681–718  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

679
680
681TEST_P(AlignmentTest, CheckAlignment)
682{
683 const AlignmentTestParams& p = GetParam();
684
685 dmBuffer::Result r = dmBuffer::Create(p.count, p.streams_decl, p.streams_decl_count, &buffer);
686 ASSERT_EQ(dmBuffer::RESULT_OK, r);
687 ASSERT_EQ(0u, ((uintptr_t)buffer) % 16);
688
689 ASSERT_EQ(p.expected_size, dmBuffer::GetStructSize(buffer));
690
691 uint32_t datasize = 0;
692 uint8_t* data = 0;
693 r = dmBuffer::GetBytes(buffer, (void**)&data, &datasize);
694 ASSERT_EQ(p.count * p.expected_size, datasize);
695
696 ASSERT_EQ(dmBuffer::RESULT_OK, r);
697
698 for (uint32_t i = 0; i < p.streams_decl_count; ++i)
699 {
700 CLEAR_OUT_VARS();
701 const dmBuffer::StreamDeclaration& stream_decl = p.streams_decl[i];
702 r = dmBuffer::GetStream(buffer, stream_decl.m_Name, &out_stream, &out_count, &out_components, &out_stride);
703 ASSERT_EQ(dmBuffer::RESULT_OK, r);
704 ASSERT_EQ(p.count, out_count);
705
706 // Offset from start
707 uintptr_t offset = (uintptr_t)out_stream - (uintptr_t)data;
708 ASSERT_EQ(p.expected_offsets[i], offset);
709
710 uint32_t value_size = dmBuffer::GetSizeForValueType(stream_decl.m_Type);
711 ASSERT_EQ(0, ((uintptr_t)out_stream) % value_size);
712
713 ASSERT_EQ(stream_decl.m_Count, out_components);
714 ASSERT_EQ(p.expected_size / value_size, out_stride);
715 }
716
717 // No destroy of buffer, it's handled by the AlignmentTest class
718}
719
720
721struct AlignTestA

Callers

nothing calls this directly

Calls 5

GetStructSizeFunction · 0.85
GetSizeForValueTypeFunction · 0.85
CreateFunction · 0.50
GetBytesFunction · 0.50
GetStreamFunction · 0.50

Tested by

no test coverage detected