|
|
@ -141,6 +141,59 @@ func TestLessThan(t *testing.T) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func TestSameInodes(t *testing.T) {
|
|
|
|
|
|
|
|
port1 := Port{Proto: "tcp", Port: 100, Process: "proc", inode: "inode1"}
|
|
|
|
|
|
|
|
port2 := Port{Proto: "tcp", Port: 100, Process: "proc", inode: "inode1"}
|
|
|
|
|
|
|
|
portProto := Port{Proto: "udp", Port: 100, Process: "proc", inode: "inode1"}
|
|
|
|
|
|
|
|
portPort := Port{Proto: "tcp", Port: 101, Process: "proc", inode: "inode1"}
|
|
|
|
|
|
|
|
portInode := Port{Proto: "tcp", Port: 100, Process: "proc", inode: "inode2"}
|
|
|
|
|
|
|
|
portProcess := Port{Proto: "tcp", Port: 100, Process: "other", inode: "inode1"}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tests := []struct {
|
|
|
|
|
|
|
|
name string
|
|
|
|
|
|
|
|
a, b List
|
|
|
|
|
|
|
|
want bool
|
|
|
|
|
|
|
|
}{
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"identical",
|
|
|
|
|
|
|
|
List{port1, port1},
|
|
|
|
|
|
|
|
List{port2, port2},
|
|
|
|
|
|
|
|
true,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"proto differs",
|
|
|
|
|
|
|
|
List{port1, port1},
|
|
|
|
|
|
|
|
List{port2, portProto},
|
|
|
|
|
|
|
|
false,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"port differs",
|
|
|
|
|
|
|
|
List{port1, port1},
|
|
|
|
|
|
|
|
List{port2, portPort},
|
|
|
|
|
|
|
|
false,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"inode differs",
|
|
|
|
|
|
|
|
List{port1, port1},
|
|
|
|
|
|
|
|
List{port2, portInode},
|
|
|
|
|
|
|
|
false,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
// SameInodes does not check the Process field
|
|
|
|
|
|
|
|
"Process differs",
|
|
|
|
|
|
|
|
List{port1, port1},
|
|
|
|
|
|
|
|
List{port2, portProcess},
|
|
|
|
|
|
|
|
true,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
for _, tt := range tests {
|
|
|
|
|
|
|
|
got := tt.a.SameInodes(tt.b)
|
|
|
|
|
|
|
|
if got != tt.want {
|
|
|
|
|
|
|
|
t.Errorf("%s: Equal = %v; want %v", tt.name, got, tt.want)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func BenchmarkGetList(b *testing.B) {
|
|
|
|
func BenchmarkGetList(b *testing.B) {
|
|
|
|
b.ReportAllocs()
|
|
|
|
b.ReportAllocs()
|
|
|
|
for i := 0; i < b.N; i++ {
|
|
|
|
for i := 0; i < b.N; i++ {
|
|
|
|