Skip to content

Commit

Permalink
clean up test bins, improve dns tests
Browse files Browse the repository at this point in the history
  • Loading branch information
fearful-symmetry committed Sep 23, 2024
1 parent 4479d6a commit 9e0aad9
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 34 deletions.
17 changes: 17 additions & 0 deletions testing/test_bins/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,20 @@ void gen_pid_info_json(char *buf, size_t size)
(pid_t)syscall(SYS_gettid), getppid(), getpid(), getsid(0), getpgid(0), cap_permitted,
cap_effective);
}

int dump_info(int client_port, int server_port)
{
char pid_info[8192];
gen_pid_info_json(pid_info, sizeof(pid_info));

char netns[128];
ssize_t nbytes;
CHECK(nbytes = readlink("/proc/self/ns/net", netns, sizeof(netns)), -1);
netns[nbytes] = '\0';

uint64_t netns_inode;
sscanf(netns, "net:[%lu]", &netns_inode);

printf("{ \"pid_info\": %s, \"client_port\": %d, \"server_port\": %d, \"netns\": %lu }\n",
pid_info, client_port, server_port, netns_inode);
}
2 changes: 1 addition & 1 deletion testing/test_bins/create_rename_delete_file_container.c
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ int main()

cleanup:
// Clean up directories created by child
CHECK(umount2(ovl_mountpoint, MNT_DETACH), -1);
CHECK(umount2(ovl_mountpoint, MNT_FORCE), -1);
CHECK(rm_recursive(ovl_mountpoint), -1);
CHECK(rm_recursive(ovl_upperdir), -1);
CHECK(rm_recursive(ovl_lowerdir), -1);
Expand Down
16 changes: 0 additions & 16 deletions testing/test_bins/tcpv4_connect.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,6 @@

#define BOUND_PORT 2048

int dump_info(int client_port, int server_port)
{
char pid_info[8192];
gen_pid_info_json(pid_info, sizeof(pid_info));

char netns[128];
ssize_t nbytes;
CHECK(nbytes = readlink("/proc/self/ns/net", netns, sizeof(netns)), -1);
netns[nbytes] = '\0';

uint64_t netns_inode;
sscanf(netns, "net:[%lu]", &netns_inode);

printf("{ \"pid_info\": %s, \"client_port\": %d, \"server_port\": %d, \"netns\": %lu }\n",
pid_info, client_port, server_port, netns_inode);
}

int main()
{
Expand Down
16 changes: 0 additions & 16 deletions testing/test_bins/tcpv6_connect.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,6 @@

#define BOUND_PORT 2048

int dump_info(int client_port, int server_port)
{
char pid_info[8192];
gen_pid_info_json(pid_info, sizeof(pid_info));

char netns[128];
ssize_t nbytes;
CHECK(nbytes = readlink("/proc/self/ns/net", netns, sizeof(netns)), -1);
netns[nbytes] = '\0';

uint64_t netns_inode;
sscanf(netns, "net:[%lu]", &netns_inode);

printf("{ \"pid_info\": %s, \"client_port\": %d, \"server_port\": %d, \"netns\": %lu }\n",
pid_info, client_port, server_port, netns_inode);
}

int main()
{
Expand Down
4 changes: 4 additions & 0 deletions testing/test_bins/udp_send.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
#include <string.h>
#include <unistd.h>

#include "common.h"

int main(int argc, char *argv[])
{
struct sockaddr_in sin;
Expand All @@ -38,5 +40,7 @@ int main(int argc, char *argv[])
else if (n != sizeof(buf))
errx(1, "sendto: shortcount");

dump_info(53, 0);

return (0);
}
14 changes: 13 additions & 1 deletion testing/testrunner/ebpf_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -592,15 +592,27 @@ func Tcpv6ConnectionClose(t *testing.T, et *Runner) {
}

func DNSMonitor(t *testing.T, et *Runner) {
var binOutput struct {
PidInfo TestPidInfo `json:"pid_info"`
ClientPort int64 `json:"client_port"`
ServerPort int64 `json:"server_port"`
NetNs int64 `json:"netns"`
}
runTestUnmarshalOutput(t, "udp_send", &binOutput)
type dnsOutput struct {
Data []uint8 `json:"data"`
NetConnAcceptEvent
Pids PidInfo `json:"pids"`
Net NetInfo `json:"net"`
Comm string `json:"comm"`
}
runTestBin(t, "udp_send")

lineData := dnsOutput{}
et.UnmarshalNextEvent(&lineData, "DNS_EVENT")

require.Equal(t, lineData.Net.DestAddr, "127.0.0.1")
require.Equal(t, lineData.Net.SourceAddr, "127.0.0.1")
TestPidEqual(t, binOutput.PidInfo, lineData.Pids)
require.Equal(t, lineData.Net.Transport, "UDP")
require.Equal(t, lineData.Net.Family, "AF_INET")

Expand Down

0 comments on commit 9e0aad9

Please sign in to comment.