Skip to content

Commit df01da6

Browse files
authored
Partial tests update to use the new resource system - Part 2 (#1943)
* Added RawPacketFactory to replace macros `READ_FILE_AND_CREATE_PACKET` and `READ_FILE_AND_CREATE_PACKET_LINKTYPE`. * Added example usage. * Reverted test utils changes. * Added project pcpp test utils for common utils. * Added PcppTestUtilities to replace packet load macros. * Moved default resource provider into PcppTestUtilities. * Lint * Fix std::uint8_t to uint8_t. * Fix explicit ctors. * Fix includes. * Fix constness. * Fix cmake define. * Fix typo. * Replaced READ_FILE_AND_CREATE_PACKET with `createPacketFromHexResource`. * Replaced READ_FILE_AND_CREATE_PACKET with `createPacketFromHexResource`. * Replaced READ_FILE_AND_CREATE_PACKET with `createPacketFromHexResource`. * Replaced READ_FILE_AND_CREATE_PACKET_LINKTYPE with createPacketFromHexResource. * Added new procedure `createPacketAndBufferFromHexResource` for tests that require the buffer available for inspection. * Updated some macros with the new procedure. * Fix style. * Simplified readHexResource. * Removed reserve. * Removed extra overloads on ResourceProvider. * Remove BinaryData for now. * Update createPacketAndBuffer. * Fix missed tests * Fixed OS separator. * Fixed header extensions. * Lint * Added documentation. * Removed unused PacketFactory API. * Lint * Fixed malformed hex data files. * Lint * Updated simple cases. * Fixed malformed hex data files. * Lint * Updated BGP tests. * Update FTP tests. * Updated gtp tests * Updated tests. * Updated modbus tests. * Lint * Fix broken Vlan test update. * Updated Null loopback tests. * Fixed null loopback resource file. * Lint * Removed unused include.
1 parent 75bdade commit df01da6

19 files changed

+336
-259
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0f0008004500018900004000401124da0a00008a0a0000010035e30d0175192a2d6d818000010011000000000377777710676f6f676c652d616e616c797469637303636f6d0000010001c00c000500010000deb00020147777772d676f6f676c652d616e616c7974696373016c06676f6f676c65c021147777772d676f6f676c652d616e616c7974696373014cc04d00010001000000750004d4c7dbedc05600010001000000750004d4c7dbe3c05600010001000000750004d4c7dbf6c05600010001000000750004d4c7dbf1c05600010001000000750004d4c7dbdec05600010001000000750004d4c7dbfbc05600010001000000750004d4c7dbd4c05600010001000000750004d4c7dbf7c05600010001000000750004d4c7dbe8c05600010001000000750004d4c7dbf2c05600010001000000750004d4c7dbd8c05600010001000000750004d4c7dbddc05600010001000000750004d4c7dbd9c05600010001000000750004d4c7dbe2c05600010001000000750004d4c7dbe7c05600010001000000750004d4c7dbec
1+
0f0008004500018900004000401124da0a00008a0a0000010035e30d0175192a2d6d818000010011000000000377777710676f6f676c652d616e616c797469637303636f6d0000010001c00c000500010000deb00020147777772d676f6f676c652d616e616c7974696373016c06676f6f676c65c021147777772d676f6f676c652d616e616c7974696373014cc04d00010001000000750004d4c7dbedc05600010001000000750004d4c7dbe3c05600010001000000750004d4c7dbf6c05600010001000000750004d4c7dbf1c05600010001000000750004d4c7dbdec05600010001000000750004d4c7dbfbc05600010001000000750004d4c7dbd4c05600010001000000750004d4c7dbf7c05600010001000000750004d4c7dbe8c05600010001000000750004d4c7dbf2c05600010001000000750004d4c7dbd8c05600010001000000750004d4c7dbddc05600010001000000750004d4c7dbd9c05600010001000000750004d4c7dbe2c05600010001000000750004d4c7dbe7c05600010001000000750004d4c7dbec

Tests/Packet++Test/Tests/BgpTests.cpp

Lines changed: 75 additions & 52 deletions
Large diffs are not rendered by default.

Tests/Packet++Test/Tests/DhcpV6Tests.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include "DhcpV6Layer.h"
66
#include "SystemUtils.h"
77

8+
using pcpp_tests::utils::createPacketAndBufferFromHexResource;
89
using pcpp_tests::utils::createPacketFromHexResource;
910

1011
PTF_TEST_CASE(DhcpV6ParsingTest)
@@ -47,18 +48,17 @@ PTF_TEST_CASE(DhcpV6ParsingTest)
4748

4849
PTF_TEST_CASE(DhcpV6CreationTest)
4950
{
50-
timeval time;
51-
gettimeofday(&time, nullptr);
52-
53-
READ_FILE_AND_CREATE_PACKET(1, "PacketExamples/dhcpv6_2.dat");
51+
auto rawPacketAndBuf1 = createPacketAndBufferFromHexResource("PacketExamples/dhcpv6_2.dat");
52+
auto& resource1 = rawPacketAndBuf1.resourceBuffer;
53+
auto& rawPacket1 = rawPacketAndBuf1.packet;
5454

5555
uint8_t origBuffer[1500];
5656

5757
pcpp::DhcpV6Layer newDhcpV6Layer(pcpp::DHCPV6_ADVERTISE, 0x9a0006);
5858
PTF_ASSERT_EQUAL(newDhcpV6Layer.getTransactionID(), 0x9a0006);
5959

60-
memcpy(origBuffer, buffer1, bufferLength1);
61-
pcpp::Packet dhcpv6Packet(&rawPacket1);
60+
memcpy(origBuffer, resource1.data.get(), resource1.length);
61+
pcpp::Packet dhcpv6Packet(rawPacket1.get());
6262
pcpp::DhcpV6Layer* origDhcpV6Layer = dynamic_cast<pcpp::DhcpV6Layer*>(dhcpv6Packet.detachLayer(pcpp::DHCPv6));
6363
PTF_ASSERT_NOT_NULL(origDhcpV6Layer);
6464

@@ -124,8 +124,8 @@ PTF_TEST_CASE(DhcpV6CreationTest)
124124

125125
PTF_ASSERT_TRUE(dhcpv6Packet.addLayer(&newDhcpV6Layer));
126126
dhcpv6Packet.computeCalculateFields();
127-
PTF_ASSERT_EQUAL(dhcpv6Packet.getRawPacket()->getRawDataLen(), bufferLength1);
128-
PTF_ASSERT_BUF_COMPARE(dhcpv6Packet.getRawPacket()->getRawData(), origBuffer, bufferLength1);
127+
PTF_ASSERT_EQUAL(dhcpv6Packet.getRawPacket()->getRawDataLen(), resource1.length);
128+
PTF_ASSERT_BUF_COMPARE(dhcpv6Packet.getRawPacket()->getRawData(), origBuffer, resource1.length);
129129
delete origDhcpV6Layer;
130130
} // DhcpV6CreationTest
131131

Tests/Packet++Test/Tests/DnsTests.cpp

Lines changed: 37 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include "DnsLayer.h"
1212
#include "SystemUtils.h"
1313

14+
using pcpp_tests::utils::createPacketAndBufferFromHexResource;
1415
using pcpp_tests::utils::createPacketFromHexResource;
1516

1617
PTF_TEST_CASE(DnsLayerParsingTest)
@@ -222,12 +223,11 @@ PTF_TEST_CASE(DnsLayerParsingTest)
222223

223224
PTF_TEST_CASE(DnsLayerQueryCreationTest)
224225
{
225-
timeval time;
226-
gettimeofday(&time, nullptr);
226+
auto rawPacketAndBuf2 = createPacketAndBufferFromHexResource("PacketExamples/DnsEdit2.dat");
227+
auto& resource2 = rawPacketAndBuf2.resourceBuffer;
228+
auto& rawPacket2 = rawPacketAndBuf2.packet;
227229

228-
READ_FILE_AND_CREATE_PACKET(2, "PacketExamples/DnsEdit2.dat");
229-
230-
pcpp::Packet dnsEdit2RefPacket(&rawPacket2);
230+
pcpp::Packet dnsEdit2RefPacket(rawPacket2.get());
231231

232232
pcpp::EthLayer ethLayer2(*dnsEdit2RefPacket.getLayerOfType<pcpp::EthLayer>());
233233
pcpp::IPv4Layer ipLayer2(*dnsEdit2RefPacket.getLayerOfType<pcpp::IPv4Layer>());
@@ -250,13 +250,14 @@ PTF_TEST_CASE(DnsLayerQueryCreationTest)
250250

251251
dnsEdit2Packet.computeCalculateFields();
252252

253-
PTF_ASSERT_EQUAL(bufferLength2, dnsEdit2Packet.getRawPacket()->getRawDataLen());
254-
255-
PTF_ASSERT_BUF_COMPARE(dnsEdit2Packet.getRawPacket()->getRawData(), buffer2, bufferLength2);
253+
PTF_ASSERT_EQUAL(dnsEdit2Packet.getRawPacket()->getRawDataLen(), resource2.length);
254+
PTF_ASSERT_BUF_COMPARE(dnsEdit2Packet.getRawPacket()->getRawData(), resource2.data.get(), resource2.length);
256255

257-
READ_FILE_AND_CREATE_PACKET(1, "PacketExamples/DnsEdit1.dat");
256+
auto rawPacketAndBuf1 = createPacketAndBufferFromHexResource("PacketExamples/DnsEdit1.dat");
257+
auto& resource1 = rawPacketAndBuf1.resourceBuffer;
258+
auto& rawPacket1 = rawPacketAndBuf1.packet;
258259

259-
pcpp::Packet dnsEdit1RefPacket(&rawPacket1);
260+
pcpp::Packet dnsEdit1RefPacket(rawPacket1.get());
260261

261262
pcpp::EthLayer ethLayer1(*dnsEdit1RefPacket.getLayerOfType<pcpp::EthLayer>());
262263
pcpp::IPv4Layer ipLayer1(*dnsEdit1RefPacket.getLayerOfType<pcpp::IPv4Layer>());
@@ -285,19 +286,17 @@ PTF_TEST_CASE(DnsLayerQueryCreationTest)
285286

286287
dnsEdit1Packet.computeCalculateFields();
287288

288-
PTF_ASSERT_EQUAL(dnsEdit1Packet.getRawPacket()->getRawDataLen(), bufferLength1);
289-
290-
PTF_ASSERT_BUF_COMPARE(dnsEdit1Packet.getRawPacket()->getRawData(), buffer1, bufferLength1);
289+
PTF_ASSERT_EQUAL(dnsEdit1Packet.getRawPacket()->getRawDataLen(), resource1.length);
290+
PTF_ASSERT_BUF_COMPARE(dnsEdit1Packet.getRawPacket()->getRawData(), resource1.data.get(), resource1.length);
291291
} // DnsLayerQueryCreationTest
292292

293293
PTF_TEST_CASE(DnsLayerResourceCreationTest)
294294
{
295-
timeval time;
296-
gettimeofday(&time, nullptr);
295+
auto rawPacketAndBuf4 = createPacketAndBufferFromHexResource("PacketExamples/DnsEdit4.dat");
296+
auto& resource4 = rawPacketAndBuf4.resourceBuffer;
297+
auto& rawPacket4 = rawPacketAndBuf4.packet;
297298

298-
READ_FILE_AND_CREATE_PACKET(4, "PacketExamples/DnsEdit4.dat");
299-
300-
pcpp::Packet dnsEdit4RefPacket(&rawPacket4);
299+
pcpp::Packet dnsEdit4RefPacket(rawPacket4.get());
301300

302301
pcpp::EthLayer ethLayer4(*dnsEdit4RefPacket.getLayerOfType<pcpp::EthLayer>());
303302
pcpp::IPv4Layer ipLayer4(*dnsEdit4RefPacket.getLayerOfType<pcpp::IPv4Layer>());
@@ -356,13 +355,14 @@ PTF_TEST_CASE(DnsLayerResourceCreationTest)
356355

357356
dnsEdit4Packet.computeCalculateFields();
358357

359-
PTF_ASSERT_EQUAL(dnsEdit4Packet.getRawPacket()->getRawDataLen(), bufferLength4);
360-
361-
PTF_ASSERT_BUF_COMPARE(dnsEdit4Packet.getRawPacket()->getRawData(), buffer4, bufferLength4);
358+
PTF_ASSERT_EQUAL(dnsEdit4Packet.getRawPacket()->getRawDataLen(), resource4.length);
359+
PTF_ASSERT_BUF_COMPARE(dnsEdit4Packet.getRawPacket()->getRawData(), resource4.data.get(), resource4.length);
362360

363-
READ_FILE_AND_CREATE_PACKET(6, "PacketExamples/DnsEdit6.dat");
361+
auto rawPacketAndBuf6 = createPacketAndBufferFromHexResource("PacketExamples/DnsEdit6.dat");
362+
auto& resource6 = rawPacketAndBuf6.resourceBuffer;
363+
auto& rawPacket6 = rawPacketAndBuf6.packet;
364364

365-
pcpp::Packet dnsEdit6RefPacket(&rawPacket6);
365+
pcpp::Packet dnsEdit6RefPacket(rawPacket6.get());
366366

367367
pcpp::EthLayer ethLayer6(*dnsEdit6RefPacket.getLayerOfType<pcpp::EthLayer>());
368368
pcpp::IPv6Layer ipLayer6(*dnsEdit6RefPacket.getLayerOfType<pcpp::IPv6Layer>());
@@ -419,13 +419,14 @@ PTF_TEST_CASE(DnsLayerResourceCreationTest)
419419

420420
dnsEdit6Packet.computeCalculateFields();
421421

422-
PTF_ASSERT_EQUAL(dnsEdit6Packet.getRawPacket()->getRawDataLen(), bufferLength6);
422+
PTF_ASSERT_EQUAL(dnsEdit6Packet.getRawPacket()->getRawDataLen(), resource6.length);
423+
PTF_ASSERT_BUF_COMPARE(dnsEdit6Packet.getRawPacket()->getRawData(), resource6.data.get(), resource6.length);
423424

424-
PTF_ASSERT_BUF_COMPARE(dnsEdit6Packet.getRawPacket()->getRawData(), buffer6, bufferLength6);
425+
auto rawPacketAndBuf7 = createPacketAndBufferFromHexResource("PacketExamples/DnsEdit7.dat");
426+
auto& resource7 = rawPacketAndBuf7.resourceBuffer;
427+
auto& rawPacket7 = rawPacketAndBuf7.packet;
425428

426-
READ_FILE_AND_CREATE_PACKET(7, "PacketExamples/DnsEdit7.dat");
427-
428-
pcpp::Packet dnsEdit7RefPacket(&rawPacket7);
429+
pcpp::Packet dnsEdit7RefPacket(rawPacket7.get());
429430

430431
pcpp::EthLayer ethLayer7(*dnsEdit7RefPacket.getLayerOfType<pcpp::EthLayer>());
431432
pcpp::IPv4Layer ipLayer7(*dnsEdit7RefPacket.getLayerOfType<pcpp::IPv4Layer>());
@@ -467,9 +468,8 @@ PTF_TEST_CASE(DnsLayerResourceCreationTest)
467468

468469
dnsEdit7Packet.computeCalculateFields();
469470

470-
PTF_ASSERT_EQUAL(dnsEdit7Packet.getRawPacket()->getRawDataLen(), bufferLength7);
471-
472-
PTF_ASSERT_BUF_COMPARE(dnsEdit7Packet.getRawPacket()->getRawData(), buffer7, bufferLength7);
471+
PTF_ASSERT_EQUAL(dnsEdit7Packet.getRawPacket()->getRawDataLen(), resource7.length);
472+
PTF_ASSERT_BUF_COMPARE(dnsEdit7Packet.getRawPacket()->getRawData(), resource7.data.get(), resource7.length);
473473
} // DnsLayerResourceCreationTest
474474

475475
PTF_TEST_CASE(DnsLayerAddDnsKeyTest)
@@ -620,8 +620,6 @@ PTF_TEST_CASE(DnsLayerRemoveResourceTest)
620620

621621
PTF_TEST_CASE(DnsOverTcpParsingTest)
622622
{
623-
using pcpp_tests::utils::createPacketFromHexResource;
624-
625623
auto rawPacket1 = createPacketFromHexResource("PacketExamples/dns_over_tcp_query.dat");
626624
pcpp::Packet dnsPacket(rawPacket1.get());
627625

@@ -701,10 +699,9 @@ PTF_TEST_CASE(DnsOverTcpParsingTest)
701699

702700
PTF_TEST_CASE(DnsOverTcpCreationTest)
703701
{
704-
timeval time;
705-
gettimeofday(&time, nullptr);
706-
707-
READ_FILE_AND_CREATE_PACKET(1, "PacketExamples/dns_over_tcp_answer2.dat");
702+
auto rawPacketAndBuf = createPacketAndBufferFromHexResource("PacketExamples/dns_over_tcp_answer2.dat");
703+
auto& resource1 = rawPacketAndBuf.resourceBuffer;
704+
auto& rawPacket1 = rawPacketAndBuf.packet;
708705

709706
pcpp::DnsOverTcpLayer newDnsLayer;
710707
newDnsLayer.getDnsHeader()->transactionID = htobe16(0x38);
@@ -715,14 +712,14 @@ PTF_TEST_CASE(DnsOverTcpCreationTest)
715712
pcpp::IPv4DnsResourceData ipv4Answer("192.30.255.113");
716713
newDnsLayer.addAnswer("github.com", pcpp::DNS_TYPE_A, pcpp::DNS_CLASS_IN, 32, &ipv4Answer);
717714

718-
pcpp::Packet dnsPacket(&rawPacket1);
715+
pcpp::Packet dnsPacket(rawPacket1.get());
719716
dnsPacket.removeLayer(pcpp::DNS);
720717

721718
dnsPacket.addLayer(&newDnsLayer);
722719
dnsPacket.computeCalculateFields();
723720

724-
PTF_ASSERT_EQUAL(bufferLength1, dnsPacket.getRawPacket()->getRawDataLen());
725-
PTF_ASSERT_BUF_COMPARE(dnsPacket.getRawPacket()->getRawData(), buffer1, bufferLength1);
721+
PTF_ASSERT_EQUAL(resource1.length, dnsPacket.getRawPacket()->getRawDataLen());
722+
PTF_ASSERT_BUF_COMPARE(dnsPacket.getRawPacket()->getRawData(), resource1.data.get(), resource1.length);
726723
} // DnsOverTcpCreationTest
727724

728725
PTF_TEST_CASE(DnsNXDomainTest)

Tests/Packet++Test/Tests/FtpTests.cpp

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include "SystemUtils.h"
1010
#include "TcpLayer.h"
1111

12+
using pcpp_tests::utils::createPacketAndBufferFromHexResource;
1213
using pcpp_tests::utils::createPacketFromHexResource;
1314

1415
PTF_TEST_CASE(FtpParsingTests)
@@ -254,13 +255,12 @@ PTF_TEST_CASE(FtpParsingTests)
254255

255256
PTF_TEST_CASE(FtpCreationTests)
256257
{
257-
timeval time;
258-
gettimeofday(&time, nullptr);
259-
260258
// Craft packets
261-
READ_FILE_AND_CREATE_PACKET(1, "PacketExamples/ftpIpv4Req.dat");
259+
auto rawPacketAndBuf1 = createPacketAndBufferFromHexResource("PacketExamples/ftpIpv4Req.dat");
260+
auto& resource1 = rawPacketAndBuf1.resourceBuffer;
261+
auto& rawPacket1 = rawPacketAndBuf1.packet;
262262

263-
pcpp::Packet ftpPacket1(&rawPacket1);
263+
pcpp::Packet ftpPacket1(rawPacket1.get());
264264

265265
pcpp::EthLayer ethLayer1(*ftpPacket1.getLayerOfType<pcpp::EthLayer>());
266266
pcpp::IPv4Layer ipv4Layer1(*ftpPacket1.getLayerOfType<pcpp::IPv4Layer>());
@@ -274,12 +274,14 @@ PTF_TEST_CASE(FtpCreationTests)
274274
PTF_ASSERT_TRUE(craftedPacket1.addLayer(&tcpLayer1));
275275
PTF_ASSERT_TRUE(craftedPacket1.addLayer(&ftpReqLayer1));
276276

277-
PTF_ASSERT_EQUAL(bufferLength1, craftedPacket1.getRawPacket()->getRawDataLen());
278-
PTF_ASSERT_BUF_COMPARE(buffer1, craftedPacket1.getRawPacket()->getRawData(), bufferLength1);
277+
PTF_ASSERT_EQUAL(resource1.length, craftedPacket1.getRawPacket()->getRawDataLen());
278+
PTF_ASSERT_BUF_COMPARE(resource1.data.get(), craftedPacket1.getRawPacket()->getRawData(), resource1.length);
279279

280-
READ_FILE_AND_CREATE_PACKET(2, "PacketExamples/ftpIpv4RespHyphen.dat");
280+
auto rawPacketAndBuf2 = createPacketAndBufferFromHexResource("PacketExamples/ftpIpv4RespHyphen.dat");
281+
auto& resource2 = rawPacketAndBuf2.resourceBuffer;
282+
auto& rawPacket2 = rawPacketAndBuf2.packet;
281283

282-
pcpp::Packet ftpPacket2(&rawPacket2);
284+
pcpp::Packet ftpPacket2(rawPacket2.get());
283285

284286
pcpp::EthLayer ethLayer2(*ftpPacket2.getLayerOfType<pcpp::EthLayer>());
285287
pcpp::IPv4Layer ipv4Layer2(*ftpPacket2.getLayerOfType<pcpp::IPv4Layer>());
@@ -295,8 +297,8 @@ PTF_TEST_CASE(FtpCreationTests)
295297
PTF_ASSERT_TRUE(craftedPacket2.addLayer(&tcpLayer2));
296298
PTF_ASSERT_TRUE(craftedPacket2.addLayer(&ftpRespLayer1));
297299

298-
PTF_ASSERT_EQUAL(bufferLength2, craftedPacket2.getRawPacket()->getRawDataLen());
299-
PTF_ASSERT_BUF_COMPARE(buffer2, craftedPacket2.getRawPacket()->getRawData(), bufferLength2);
300+
PTF_ASSERT_EQUAL(resource2.length, craftedPacket2.getRawPacket()->getRawDataLen());
301+
PTF_ASSERT_BUF_COMPARE(resource2.data.get(), craftedPacket2.getRawPacket()->getRawData(), resource2.length);
300302
}
301303

302304
PTF_TEST_CASE(FtpEditTests)

Tests/Packet++Test/Tests/GtpTests.cpp

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include "SystemUtils.h"
1212
#include <tuple>
1313

14+
using pcpp_tests::utils::createPacketAndBufferFromHexResource;
1415
using pcpp_tests::utils::createPacketFromHexResource;
1516

1617
PTF_TEST_CASE(GtpV1LayerParsingTest)
@@ -163,15 +164,20 @@ PTF_TEST_CASE(GtpV1LayerParsingTest)
163164

164165
PTF_TEST_CASE(GtpV1LayerCreationTest)
165166
{
166-
timeval time;
167-
gettimeofday(&time, nullptr);
168-
169167
{
170-
READ_FILE_AND_CREATE_PACKET(1, "PacketExamples/gtp-u1.dat");
171-
READ_FILE_AND_CREATE_PACKET(2, "PacketExamples/gtp-u-1ext.dat");
172-
READ_FILE_AND_CREATE_PACKET(3, "PacketExamples/gtp-u-2ext.dat");
168+
auto rawPacketAndBuf1 = createPacketAndBufferFromHexResource("PacketExamples/gtp-u1.dat");
169+
auto& resource1 = rawPacketAndBuf1.resourceBuffer;
170+
auto& rawPacket1 = rawPacketAndBuf1.packet;
171+
172+
auto rawPacketAndBuf2 = createPacketAndBufferFromHexResource("PacketExamples/gtp-u-1ext.dat");
173+
auto& resource2 = rawPacketAndBuf2.resourceBuffer;
174+
auto& rawPacket2 = rawPacketAndBuf2.packet;
173175

174-
pcpp::Packet gtpPacket1(&rawPacket1);
176+
auto rawPacketAndBuf3 = createPacketAndBufferFromHexResource("PacketExamples/gtp-u-2ext.dat");
177+
auto& resource3 = rawPacketAndBuf3.resourceBuffer;
178+
auto& rawPacket3 = rawPacketAndBuf3.packet;
179+
180+
pcpp::Packet gtpPacket1(rawPacket1.get());
175181

176182
pcpp::EthLayer ethLayer(*gtpPacket1.getLayerOfType<pcpp::EthLayer>());
177183
pcpp::IPv4Layer ip4Layer(*gtpPacket1.getLayerOfType<pcpp::IPv4Layer>());
@@ -190,8 +196,8 @@ PTF_TEST_CASE(GtpV1LayerCreationTest)
190196
PTF_ASSERT_TRUE(newGtpPacket.addLayer(&icmpLayer));
191197
newGtpPacket.computeCalculateFields();
192198

193-
PTF_ASSERT_EQUAL(bufferLength1, newGtpPacket.getRawPacket()->getRawDataLen());
194-
PTF_ASSERT_BUF_COMPARE(newGtpPacket.getRawPacket()->getRawData(), buffer1,
199+
PTF_ASSERT_EQUAL(resource1.length, newGtpPacket.getRawPacket()->getRawDataLen());
200+
PTF_ASSERT_BUF_COMPARE(newGtpPacket.getRawPacket()->getRawData(), resource1.data.get(),
195201
newGtpPacket.getRawPacket()->getRawDataLen());
196202

197203
pcpp::GtpV1Layer* newGtpLayer = newGtpPacket.getLayerOfType<pcpp::GtpV1Layer>();
@@ -207,8 +213,8 @@ PTF_TEST_CASE(GtpV1LayerCreationTest)
207213

208214
newGtpPacket.computeCalculateFields();
209215

210-
PTF_ASSERT_EQUAL(bufferLength2, newGtpPacket.getRawPacket()->getRawDataLen());
211-
PTF_ASSERT_BUF_COMPARE(newGtpPacket.getRawPacket()->getRawData(), buffer2,
216+
PTF_ASSERT_EQUAL(resource2.length, newGtpPacket.getRawPacket()->getRawDataLen());
217+
PTF_ASSERT_BUF_COMPARE(newGtpPacket.getRawPacket()->getRawData(), resource2.data.get(),
212218
newGtpPacket.getRawPacket()->getRawDataLen());
213219

214220
pcpp::GtpV1Layer::GtpExtension newExt2 = newGtpLayer->addExtension(0x40, 1308);
@@ -226,8 +232,8 @@ PTF_TEST_CASE(GtpV1LayerCreationTest)
226232
PTF_ASSERT_FALSE(newGtpLayer->getNextExtension().getNextExtension().isNull());
227233
PTF_ASSERT_EQUAL(newGtpLayer->getNextExtension().getNextExtensionHeaderType(), 0x40);
228234

229-
PTF_ASSERT_EQUAL(bufferLength3, newGtpPacket.getRawPacket()->getRawDataLen());
230-
PTF_ASSERT_BUF_COMPARE(newGtpPacket.getRawPacket()->getRawData(), buffer3,
235+
PTF_ASSERT_EQUAL(resource3.length, newGtpPacket.getRawPacket()->getRawDataLen());
236+
PTF_ASSERT_BUF_COMPARE(newGtpPacket.getRawPacket()->getRawData(), resource3.data.get(),
231237
newGtpPacket.getRawPacket()->getRawDataLen());
232238
}
233239

Tests/Packet++Test/Tests/HttpTests.cpp

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include "SystemUtils.h"
1212
#include <iostream>
1313

14+
using pcpp_tests::utils::createPacketAndBufferFromHexResource;
1415
using pcpp_tests::utils::createPacketFromHexResource;
1516

1617
PTF_TEST_CASE(HttpRequestParseMethodTest)
@@ -97,12 +98,11 @@ PTF_TEST_CASE(HttpRequestLayerParsingTest)
9798

9899
PTF_TEST_CASE(HttpRequestLayerCreationTest)
99100
{
100-
timeval time;
101-
gettimeofday(&time, nullptr);
101+
auto rawPacketAndBuf1 = createPacketAndBufferFromHexResource("PacketExamples/TwoHttpRequests1.dat");
102+
auto& resource1 = rawPacketAndBuf1.resourceBuffer;
103+
auto& rawPacket1 = rawPacketAndBuf1.packet;
102104

103-
READ_FILE_AND_CREATE_PACKET(1, "PacketExamples/TwoHttpRequests1.dat");
104-
105-
pcpp::Packet sampleHttpPacket(&rawPacket1);
105+
pcpp::Packet sampleHttpPacket(rawPacket1.get());
106106

107107
pcpp::EthLayer ethLayer(*sampleHttpPacket.getLayerOfType<pcpp::EthLayer>());
108108
pcpp::IPv4Layer ip4Layer;
@@ -152,8 +152,8 @@ PTF_TEST_CASE(HttpRequestLayerCreationTest)
152152

153153
httpPacket.computeCalculateFields();
154154

155-
PTF_ASSERT_EQUAL(bufferLength1, httpPacket.getRawPacket()->getRawDataLen());
156-
PTF_ASSERT_BUF_COMPARE(buffer1, httpPacket.getRawPacket()->getRawData(), bufferLength1);
155+
PTF_ASSERT_EQUAL(resource1.length, httpPacket.getRawPacket()->getRawDataLen());
156+
PTF_ASSERT_BUF_COMPARE(resource1.data.get(), httpPacket.getRawPacket()->getRawData(), resource1.length);
157157

158158
} // HttpRequestLayerCreationTest
159159

@@ -408,12 +408,11 @@ PTF_TEST_CASE(HttpResponseLayerParsingTest)
408408

409409
PTF_TEST_CASE(HttpResponseLayerCreationTest)
410410
{
411-
timeval time;
412-
gettimeofday(&time, nullptr);
413-
414-
READ_FILE_AND_CREATE_PACKET(1, "PacketExamples/TwoHttpResponses1.dat");
411+
auto rawPacketAndBuf1 = createPacketAndBufferFromHexResource("PacketExamples/TwoHttpResponses1.dat");
412+
auto& resource1 = rawPacketAndBuf1.resourceBuffer;
413+
auto& rawPacket1 = rawPacketAndBuf1.packet;
415414

416-
pcpp::Packet sampleHttpPacket(&rawPacket1);
415+
pcpp::Packet sampleHttpPacket(rawPacket1.get());
417416

418417
pcpp::EthLayer ethLayer = *sampleHttpPacket.getLayerOfType<pcpp::EthLayer>();
419418
pcpp::IPv4Layer ip4Layer(*sampleHttpPacket.getLayerOfType<pcpp::IPv4Layer>());
@@ -467,7 +466,7 @@ PTF_TEST_CASE(HttpResponseLayerCreationTest)
467466

468467
PTF_ASSERT_EQUAL(httpResponse.getHeaderLen(), 382);
469468

470-
PTF_ASSERT_BUF_COMPARE(buffer1, httpPacket.getRawPacket()->getRawData(),
469+
PTF_ASSERT_BUF_COMPARE(resource1.data.get(), httpPacket.getRawPacket()->getRawData(),
471470
ethLayer.getHeaderLen() + ip4Layer.getHeaderLen() + tcpLayer.getHeaderLen() +
472471
httpResponse.getHeaderLen());
473472

0 commit comments

Comments
 (0)