package crashlog import ( "os" "path/filepath" "strings" "testing" "tea.chunkbyte.com/kato/go-worm/lib/config" ) func TestWrite(t *testing.T) { base := t.TempDir() t.Setenv("XDG_CONFIG_HOME", base) t.Setenv("APPDATA", base) if err := write("test", "boom", []byte("trace")); err != nil { t.Fatal(err) } dir := filepath.Join(base, config.AppDataDir, config.LogsSubdir) entries, err := os.ReadDir(dir) if err != nil { t.Fatal(err) } if len(entries) != 1 { t.Fatalf("entries = %d, want 1", len(entries)) } data, err := os.ReadFile(filepath.Join(dir, entries[0].Name())) if err != nil { t.Fatal(err) } text := string(data) for _, part := range []string{"kind: test", "detail: boom", "trace", config.Version} { if !strings.Contains(text, part) { t.Fatalf("log missing %q: %s", part, text) } } }