From 70148431616bcc74c0c68428c3ae1dbbfaefe126 Mon Sep 17 00:00:00 2001 From: ignatella Date: Mon, 4 Nov 2024 18:49:25 +0100 Subject: [PATCH] Add: proc comm test --- monitor.go | 5 ++--- monitor_test.go | 11 ++++++++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/monitor.go b/monitor.go index bcc0f9d..7bd88f3 100644 --- a/monitor.go +++ b/monitor.go @@ -198,7 +198,7 @@ func NewMonitor(opts ...MonitorOption) *Monitor { } func (monitor *Monitor) monitor() { - changesEvents := make([]*MonitorEvent, 0) + var changesEvents []*MonitorEvent for { msgs, err := monitor.conn.Receive() @@ -220,7 +220,7 @@ func (monitor *Monitor) monitor() { GeneratedBy: event, Changes: changesEvents, } - changesEvents = make([]*MonitorEvent, 0) + changesEvents = nil break } @@ -333,7 +333,6 @@ func (monitor *Monitor) Close() error { // handle, for now. func (cc *Conn) AddMonitor(monitor *Monitor) (chan *MonitorEvent, error) { generationalEventCh, err := cc.AddGenerationalMonitor(monitor) - if err != nil { return nil, err } diff --git a/monitor_test.go b/monitor_test.go index 155e13c..9bccff4 100644 --- a/monitor_test.go +++ b/monitor_test.go @@ -4,6 +4,8 @@ import ( "fmt" "log" "net" + "os" + "path/filepath" "sync" "sync/atomic" "testing" @@ -46,7 +48,6 @@ func TestMonitor(t *testing.T) { // Clear all rules at the beginning + end of the test. c.FlushRuleset() defer c.FlushRuleset() - // default to monitor all monitor := nftables.NewMonitor() events, err := c.AddGenerationalMonitor(monitor) @@ -69,6 +70,14 @@ func TestMonitor(t *testing.T) { return } + genMsg := event.GeneratedBy.Data.(*nftables.GenMsg) + fileName := filepath.Base(os.Args[0]) + + if genMsg.ProcComm != fileName { + err = fmt.Errorf("procComm: %s, want: %s", genMsg.ProcComm, fileName) + return + } + for _, change := range event.Changes { if change.Error != nil { err = fmt.Errorf("monitor err: %s", change.Error)