github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/pkg/platform/runtime/executors/execmeta/execmeta_test.go (about) 1 package execmeta 2 3 import ( 4 "bytes" 5 "reflect" 6 "testing" 7 ) 8 9 func TestExecMeta(t *testing.T) { 10 env := []string{ 11 "EXAMPLE=value", 12 "SAMPLE=other", 13 "THIRD=whatever", 14 } 15 bins := map[string]string{ // map[alias]dest 16 "abc": "/bin/abc", 17 "def": "/tools/def", 18 "xyz.bat.exe": "/Scripts/xyz.bat", 19 "xyz.exe": "/Scripts/xyz.bat", 20 } 21 tgt := Target{ 22 CommitUUID: "1234abcd-1234-abcd-1234-abcd1234", 23 Namespace: "owner/project", 24 Dir: "/example/bin", 25 Headless: true, 26 } 27 m := New("/sock-path", env, tgt, bins) 28 buf := &bytes.Buffer{} 29 if err := m.Encode(buf); err != nil { 30 t.Fatalf("unexpected error: %s", err) 31 } 32 33 t.Logf(buf.String()) 34 35 mx, err := NewFromReader(buf) 36 if err != nil { 37 t.Fatalf("unexpected error: %s", err) 38 } 39 if !reflect.DeepEqual(mx, m) { 40 t.Fatalf("got %v, want %v", mx, m) 41 } 42 }