Add test case: inject IPv4 based TCP payload packet after recv S2C first payload
This commit is contained in:
@@ -17,12 +17,16 @@ target_link_libraries(gtest_inject_tcp_rst_after_recv_s2c_first_payload libpacke
|
||||
add_executable(gtest_inject_tcp_payload_after_recv_c2s_first_payload gtest_inject_tcp_payload_after_recv_c2s_first_payload.cpp)
|
||||
target_link_libraries(gtest_inject_tcp_payload_after_recv_c2s_first_payload libpacket_injector)
|
||||
|
||||
add_executable(gtest_inject_tcp_payload_after_recv_s2c_first_payload gtest_inject_tcp_payload_after_recv_s2c_first_payload.cpp)
|
||||
target_link_libraries(gtest_inject_tcp_payload_after_recv_s2c_first_payload libpacket_injector)
|
||||
|
||||
include(GoogleTest)
|
||||
gtest_discover_tests(gtest_inject_tcp_rst_after_recv_syn_ack)
|
||||
gtest_discover_tests(gtest_inject_tcp_rst_after_recv_sub_ack)
|
||||
gtest_discover_tests(gtest_inject_tcp_rst_after_recv_c2s_first_payload)
|
||||
gtest_discover_tests(gtest_inject_tcp_rst_after_recv_s2c_first_payload)
|
||||
gtest_discover_tests(gtest_inject_tcp_payload_after_recv_c2s_first_payload)
|
||||
gtest_discover_tests(gtest_inject_tcp_payload_after_recv_s2c_first_payload)
|
||||
|
||||
add_executable(packet_injector packet_injector.cpp)
|
||||
target_link_libraries(packet_injector core gtest)
|
||||
|
||||
@@ -40,4 +40,5 @@ curl -v http://http.badssl.selftest.gdnt-cloud.website --resolve "http.badssl.se
|
||||
| tcp-rst | c2s-packet | 2 | After recv Sub-ACK | Success |
|
||||
| tcp-rst | c2s-packet | 3 | After recv C2S First-Payload | Success |
|
||||
| tcp-rst | s2c-packet | 3 | After recv S2C First-payload | Success |
|
||||
| tcp-payload | c2s-packet | 3 | After recv C2S First-Payload | Success |
|
||||
| tcp-payload | c2s-packet | 3 | After recv C2S First-Payload | Success |
|
||||
| tcp-payload | s2c-packet | 3 | After recv S2C First-payload | Success |
|
||||
@@ -0,0 +1,62 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include "packet_injector_test_frame.h"
|
||||
|
||||
TEST(INJECT_IPV4_BASED_TCP_PAYLOAD, AFTER_RECV_S2C_FIRST_PAYLOAD)
|
||||
{
|
||||
char current_dir[1024] = {0};
|
||||
char work_dir[2048] = {0};
|
||||
char input_dir[2048] = {0};
|
||||
getcwd(current_dir, sizeof(current_dir));
|
||||
snprintf(work_dir, sizeof(work_dir), "%s/%s", current_dir, "inject_ipv4_based_tcp_payload_after_recv_s2c_first_payload");
|
||||
snprintf(input_dir, sizeof(input_dir), "%s/%s", current_dir, "pcap/inject_ipv4_based_tcp_payload_after_recv_s2c_first_payload/test/");
|
||||
|
||||
struct packet_injector_case test = {
|
||||
// descriptor
|
||||
.finish_clean_work_dir = 0,
|
||||
.descriptor = "Inject IPv4 based TCP Payload after receiving S2C first payload packet.",
|
||||
.work_dir = work_dir,
|
||||
|
||||
// prefix
|
||||
.input_prefix = input_dir,
|
||||
|
||||
// input pcap
|
||||
.input_pcap = "input.pcap",
|
||||
|
||||
// compare
|
||||
.compares = {
|
||||
{
|
||||
.expect_pcap = "expect-192.0.2.110:80-192.0.2.213:48322-1.pcap",
|
||||
.inject_pcap = "inject-192.0.2.110:80-192.0.2.213:48322-1.pcap",
|
||||
},
|
||||
{
|
||||
.expect_pcap = "expect-192.0.2.110:80-192.0.2.213:48322-2.pcap",
|
||||
.inject_pcap = "inject-192.0.2.110:80-192.0.2.213:48322-2.pcap",
|
||||
},
|
||||
{
|
||||
.expect_pcap = "expect-192.0.2.110:80-192.0.2.213:48322-3.pcap",
|
||||
.inject_pcap = "inject-192.0.2.110:80-192.0.2.213:48322-3.pcap",
|
||||
},
|
||||
{
|
||||
.expect_pcap = "expect-192.0.2.213:48322-192.0.2.110:80-4.pcap",
|
||||
.inject_pcap = "inject-192.0.2.213:48322-192.0.2.110:80-4.pcap",
|
||||
},
|
||||
{
|
||||
.expect_pcap = NULL,
|
||||
.inject_pcap = NULL,
|
||||
},
|
||||
},
|
||||
|
||||
// packet injector command
|
||||
.packet_injector_cmd = {"./packet_injector", "-t", "tcp-payload", "-c", "s2c-packet", "-n", "3"},
|
||||
.diff_skip_pattern = "-I frame.time -I frame.time_epoch -I ip.id -I ip.ttl -I ip.checksum -I tcp.checksum -I tcp.window_size",
|
||||
};
|
||||
|
||||
packet_injector_test_frame_run(&test);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
return RUN_ALL_TESTS();
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user