testutils

package
v0.20.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 8, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SIGTERM = "-15"
	SIGKILL = "-9"
)
View Source
const CPUForTests = 0 // CPU to pin test processes to

Variables

View Source
var (
	TraceeBinary   = "../../dist/tracee"
	TraceeHostname = "localhost"
	TraceePort     = 3366
)

Functions

func DiscoverChildProcesses

func DiscoverChildProcesses(pid int) ([]int, error)

DiscoverChildProcesses discovers all child processes of a given PID.

func ExecCmdBgWithSudoAndCtx

func ExecCmdBgWithSudoAndCtx(ctx context.Context, command string) (int, chan error)

ExecCmdBgWithSudoAndCtx executes a command with sudo in the background, and returns the PID of the process and a channel to wait for the command to exit (Check RunningTracee object about how to use this).

func ExecPinnedCmdWithTimeout

func ExecPinnedCmdWithTimeout(command string, timeout time.Duration) (int, error)

ExecPinnedCmdWithTimeout executes a cmd with a timeout and returns the PID of the process.

func IsSudoCmdAvailableForThisUser

func IsSudoCmdAvailableForThisUser() bool

IsSudoCmdAvailableForThisUser checks if the sudo command is available for the current user.

func ParseCmd

func ParseCmd(fullCmd string) (string, []string, error)

ParseCmd parses a command string into a command and arguments.

func PinProccessToCPU

func PinProccessToCPU(id ...int) error

PinProccessToCPU pins the current process to a specific CPU

func SudoKillProcess

func SudoKillProcess(pid int, force bool) error

SudoKillProcess kills a process with sudo.

Types

type RunningTracee

type RunningTracee struct {
	// contains filtered or unexported fields
}

RunningTracee is a wrapper for a running tracee process as a regular process.

func NewRunningTracee

func NewRunningTracee(givenCtx context.Context, cmdLine string) *RunningTracee

NewRunningTracee creates a new RunningTracee instance.

func (*RunningTracee) IsReady

func (r *RunningTracee) IsReady() bool

IsReady checks if the tracee process is ready.

func (*RunningTracee) Start

func (r *RunningTracee) Start() (<-chan TraceeStatus, error)

Start starts the tracee process.

func (*RunningTracee) Stop

func (r *RunningTracee) Stop() error

Stop stops the tracee process.

type TraceeStatus

type TraceeStatus int
const (
	TraceeStarted TraceeStatus = iota
	TraceeFailed
	TraceeTimedout
	TraceeAlreadyRunning
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL