Skip to content

Commit b096533

Browse files
Merge pull request #28 from git-ecosystem/jh/test-for-tr2-exec-crash
evt_apply_test: add test for 'exec' event
2 parents 4dbf220 + 5919956 commit b096533

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

evt_apply_test.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,15 @@ func x_make_child_exit(id int64, pid int64, code int64) string {
222222
code,
223223
1.0)
224224
}
225+
func x_make_exec(id int64, exe string, a0 string, a1 string) string {
226+
return fmt.Sprintf(`{%s,"exec_id":%d,"exe":"%s","argv":%s}`,
227+
x_make_common(
228+
"exec",
229+
x_main),
230+
id,
231+
exe,
232+
fmt.Sprintf(`["%s","%s"]`, a0, a1))
233+
}
225234
func x_make_region_enter(thread_name string, nesting int64, category string, label string, msg string) string {
226235
return fmt.Sprintf(`{%s,"nesting":%d,"category":"%s","label":"%s","msg":"%s"}`,
227236
x_make_common(
@@ -926,6 +935,37 @@ func Test_Dataset_RejectClient_FSMonitor(t *testing.T) {
926935
assert.True(t, rce.FSMonitor)
927936
}
928937

938+
func Test_Dataset_Exec(t *testing.T) {
939+
940+
var events []string = []string{
941+
x_make_version(),
942+
x_make_start_argv1("xx"),
943+
x_make_cmd_name_nh("foo", "qq"),
944+
x_make_cmd_mode(),
945+
x_make_alias(),
946+
947+
x_make_exec(0, "git", "a0", "a1"),
948+
949+
x_make_atexit(), // should be last
950+
}
951+
952+
tr2, sufficient, _ := load_test_dataset(t, events)
953+
assert.True(t, sufficient, "have sufficient data")
954+
assert.Equal(t, tr2.trace2SID, x_sid)
955+
assert.Equal(t, tr2.process.qualifiedNames.exe, "xx")
956+
assert.Equal(t, tr2.process.qualifiedNames.exeVerb, "xx:foo")
957+
assert.Equal(t, tr2.process.qualifiedNames.exeVerbMode, "xx:foo#x-mode")
958+
959+
assert.Equal(t, len(tr2.exec), 1)
960+
assert.NotNil(t, tr2.exec)
961+
assert.NotNil(t, tr2.exec[0])
962+
963+
assert.Equal(t, tr2.exec[0].exe, "git")
964+
assert.Equal(t, len(tr2.exec[0].argv), 2)
965+
assert.Equal(t, tr2.exec[0].argv[0], "a0")
966+
assert.Equal(t, tr2.exec[0].argv[1], "a1")
967+
}
968+
929969
// Given an array of raw Trace2 messages, parse and appy them
930970
// to a newly created dataset.
931971
func load_test_dataset(t *testing.T, events []string) (tr2 *trace2Dataset, sufficient bool, err error) {

0 commit comments

Comments
 (0)