(t *testing.T)
| 28 | ) |
| 29 | |
| 30 | func TestStackExtensions(t *testing.T) { |
| 31 | cfg := &config.Config{ |
| 32 | EventSource: config.EventSourceConfig{ |
| 33 | EnableThreadEvents: true, |
| 34 | EnableNetEvents: true, |
| 35 | EnableFileIOEvents: true, |
| 36 | EnableMemEvents: true, |
| 37 | BufferSize: 1024, |
| 38 | FlushTimer: time.Millisecond * 2300, |
| 39 | }, |
| 40 | } |
| 41 | |
| 42 | cfg.EventSource.Init() |
| 43 | |
| 44 | exts := NewStackExtensions(cfg.EventSource) |
| 45 | assert.Len(t, exts.EventIds(), 0) |
| 46 | |
| 47 | exts.EnableProcessCallstack() |
| 48 | exts.EnableRegistryCallstack() |
| 49 | exts.EnableFileCallstack() |
| 50 | exts.EnableMemoryCallstack() |
| 51 | |
| 52 | assert.Len(t, exts.EventIds(), 7) |
| 53 | assert.Contains(t, exts.EventIds(), etw.ClassicEventID{GUID: event.ProcessEventGUID, Type: uint8(event.CreateProcess.HookID())}) |
| 54 | assert.Contains(t, exts.EventIds(), etw.ClassicEventID{GUID: event.ThreadEventGUID, Type: uint8(event.CreateThread.HookID())}) |
| 55 | assert.Contains(t, exts.EventIds(), etw.ClassicEventID{GUID: event.ThreadEventGUID, Type: uint8(event.TerminateThread.HookID())}) |
| 56 | assert.Contains(t, exts.EventIds(), etw.ClassicEventID{GUID: event.FileEventGUID, Type: uint8(event.CreateFile.HookID())}) |
| 57 | assert.Contains(t, exts.EventIds(), etw.ClassicEventID{GUID: event.FileEventGUID, Type: uint8(event.RenameFile.HookID())}) |
| 58 | assert.Contains(t, exts.EventIds(), etw.ClassicEventID{GUID: event.FileEventGUID, Type: uint8(event.DeleteFile.HookID())}) |
| 59 | assert.Contains(t, exts.EventIds(), etw.ClassicEventID{GUID: event.MemEventGUID, Type: uint8(event.VirtualAlloc.HookID())}) |
| 60 | } |
nothing calls this directly
no test coverage detected