Documentation ¶
Index ¶
- Variables
- func CaptureLog(tb testing.TB, l *logrus.Logger)
- func CopyFile(toPath, fromPath string, perm os.FileMode) error
- func CopyFileToTmp(fname string) (string, error)
- func DoneWithExportFile(t testing.TB) error
- func GetExportFilename(t testing.TB) (string, error)
- func GetSpecFromTemplate(tmplname string, data interface{}) (string, error)
- func GetTgRuntimeConf() (*confmap.TetragonConfValue, error)
- func KeepExportFile(t testing.TB) error
- func MockPipedFile(t *testing.T, filename string)
- func ReadTgRuntimeConf(mapDir string) (*confmap.TetragonConfValue, error)
- func RedirectStdoutExecuteCmd(t *testing.T, cmd *cobra.Command) []byte
- func RepoRootPath(fname string) string
- type CmdBufferedPipes
- type CmdPipes
- type ExportFile
- type LineParser
- type LogCapturer
- type LseekPipeCmd
- type ThreadTesterInfo
Constants ¶
This section is empty.
Variables ¶
var ( ParentStartsRe = regexp.MustCompile(`parent:\t\t\(pid:(\d+), tid:(\d+), ppid:(\d+)\)\tstarts`) Child1Re = regexp.MustCompile(`Child 1:\t\(pid:(\d+), tid:(\d+), ppid:(\d+)\)\t`) Thread1Re = regexp.MustCompile(`Thread 1:\t\(pid:(\d+), tid:(\d+), ppid:(\d+)\)\t`) )
Functions ¶
func CaptureLog ¶
CaptureLog redirects logrus output to testing.Log
func CopyFileToTmp ¶ added in v1.2.0
func DoneWithExportFile ¶ added in v0.8.4
DoneWithExportFile: marks the export file to be deleted It is the tester's responsibility to call this function
func GetExportFilename ¶
GetExportFilename return export filename for test
func GetSpecFromTemplate ¶
GetSpecFromTemplate creates a file bsed on the given template
func GetTgRuntimeConf ¶ added in v0.8.4
func GetTgRuntimeConf() (*confmap.TetragonConfValue, error)
func KeepExportFile ¶
KeepExportFile: marks the export file to be kept
func MockPipedFile ¶ added in v0.9.0
MockPipedFile mocks the file being piped into stdin, similarly as what you can do with `cat file | cmd`. It restores the original os.Stdin in t.Cleanup. It's using a goroutine to copy the file content to the writer of the pipe.
func ReadTgRuntimeConf ¶ added in v0.8.4
func ReadTgRuntimeConf(mapDir string) (*confmap.TetragonConfValue, error)
func RedirectStdoutExecuteCmd ¶ added in v0.9.0
RedirectStdoutExecuteCmd redirects stdout, executes the command and returns the result of the command.
func RepoRootPath ¶ added in v0.9.0
RepoRootPath retrieves the repository root path (useful to find scripts and other files)
Types ¶
type CmdBufferedPipes ¶
CmdBufferedPipes wraps stdout and stderr in a bufio.Reader
func NewCmdBufferedPipes ¶
func NewCmdBufferedPipes(cmd *exec.Cmd) (*CmdBufferedPipes, error)
func (*CmdBufferedPipes) Close ¶
func (cbp *CmdBufferedPipes) Close()
func (*CmdBufferedPipes) ParseAndLogCmdOutput ¶
func (cbp *CmdBufferedPipes) ParseAndLogCmdOutput( t *testing.T, parseOut LineParser, parseErr LineParser, ) *sync.WaitGroup
ParseAndLogCmdOutput will log command output using t.Log, and also call the lineparser functions for each line. This will happen in two goroutines. It returns a waitgroup for them finishing.
type CmdPipes ¶
type CmdPipes struct {
Stdout, Stderr io.ReadCloser
Stdin io.WriteCloser
}
CmdPipes maintains pipes for stdout, stderr, and stdin
func NewCmdPipes ¶
NewCmdPipes returns a new CmdPipes
type ExportFile ¶
func CreateExportFile ¶
func CreateExportFile(tb testing.TB) (*ExportFile, error)
CreateExportFile creates an export file for a test. It returns an ExportFile that has a .Close() method, that will be called by the observer loop. This function is responsible to delete the file. For a file to be deleted, the tester should call DoneWithExportFile() if the test was successful.
func (*ExportFile) Close ¶
func (f *ExportFile) Close() error
Close() is called by the observer loop when it exits, and is responsible for deleting the file.
type LineParser ¶
type LogCapturer ¶
type LseekPipeCmd ¶ added in v0.9.0
type LseekPipeCmd struct { Cmd *exec.Cmd Pipes *CmdBufferedPipes }
func NewLseekPipe ¶ added in v0.9.0
func NewLseekPipe(t *testing.T, ctx context.Context) *LseekPipeCmd
starts a new lseek-pipe command
func (*LseekPipeCmd) Close ¶ added in v0.9.0
func (lp *LseekPipeCmd) Close() error
func (*LseekPipeCmd) Lseek ¶ added in v0.9.0
func (lp *LseekPipeCmd) Lseek(fd int, offset int64, whence int) string
func (*LseekPipeCmd) Pid ¶ added in v0.9.0
func (lp *LseekPipeCmd) Pid() int
type ThreadTesterInfo ¶ added in v0.10.0
type ThreadTesterInfo struct {
ParentPid, ParentTid uint32
Child1Pid, Child1Tid, ParentChild1Pid uint32
Thread1Pid, Thread1Tid, ParentThread1Pid uint32
}
func (*ThreadTesterInfo) AssertPidsTids ¶ added in v0.10.0
func (tti *ThreadTesterInfo) AssertPidsTids(t *testing.T)
func (*ThreadTesterInfo) ParseLine ¶ added in v0.10.0
func (tti *ThreadTesterInfo) ParseLine(l string) error