@@ -140,6 +140,7 @@ type snapshot struct {
140140
141141type testSys struct {
142142 currentWrite * strings.Builder
143+ programBaselines strings.Builder
143144 tracer * harnessutil.TracerForBaselining
144145 serializedDiff * snapshot
145146 forIncrementalCorrectness bool
@@ -263,57 +264,53 @@ func (s *testSys) GetTrace(w io.Writer) func(str string) {
263264 }
264265}
265266
266- func (s * testSys ) baselinePrograms (baseline * strings.Builder , programs []* incremental.Program , watcher tsc.Watcher ) {
267- if watcher != nil {
268- programs = []* incremental.Program {watcher .GetProgram ()}
269- }
270- for index , program := range programs {
271- if index > 0 {
272- baseline .WriteString ("\n " )
273- }
274- s .baselineProgram (baseline , program )
275- }
276- }
277-
278- func (s * testSys ) baselineProgram (baseline * strings.Builder , program * incremental.Program ) {
279- if program == nil {
280- return
267+ func (s * testSys ) OnProgram (program * incremental.Program ) {
268+ if s .programBaselines .Len () != 0 {
269+ s .programBaselines .WriteString ("\n " )
281270 }
282271
283- testingData := program .GetTestingData (program . GetProgram () )
284- if testingData . ConfigFilePath != "" {
285- baseline . WriteString (tspath .GetRelativePathFromDirectory (s .cwd , testingData . ConfigFilePath , tspath.ComparePathsOptions {
272+ testingData := program .GetTestingData ()
273+ if configFilePath := program . Options (). ConfigFilePath ; configFilePath != "" {
274+ s . programBaselines . WriteString (tspath .GetRelativePathFromDirectory (s .cwd , configFilePath , tspath.ComparePathsOptions {
286275 UseCaseSensitiveFileNames : s .FS ().UseCaseSensitiveFileNames (),
287276 CurrentDirectory : s .GetCurrentDirectory (),
288277 }) + "::\n " )
289278 }
290- baseline .WriteString ("SemanticDiagnostics::\n " )
279+ s . programBaselines .WriteString ("SemanticDiagnostics::\n " )
291280 for _ , file := range program .GetProgram ().GetSourceFiles () {
292281 if diagnostics , ok := testingData .SemanticDiagnosticsPerFile .Load (file .Path ()); ok {
293282 if oldDiagnostics , ok := testingData .OldProgramSemanticDiagnosticsPerFile .Load (file .Path ()); ! ok || oldDiagnostics != diagnostics {
294- baseline .WriteString ("*refresh* " + file .FileName () + "\n " )
283+ s . programBaselines .WriteString ("*refresh* " + file .FileName () + "\n " )
295284 }
296285 } else {
297- baseline .WriteString ("*not cached* " + file .FileName () + "\n " )
286+ s . programBaselines .WriteString ("*not cached* " + file .FileName () + "\n " )
298287 }
299288 }
300289
301290 // Write signature updates
302- baseline .WriteString ("Signatures::\n " )
291+ s . programBaselines .WriteString ("Signatures::\n " )
303292 for _ , file := range program .GetProgram ().GetSourceFiles () {
304293 if kind , ok := testingData .UpdatedSignatureKinds [file .Path ()]; ok {
305294 switch kind {
306295 case incremental .SignatureUpdateKindComputedDts :
307- baseline .WriteString ("(computed .d.ts) " + file .FileName () + "\n " )
296+ s . programBaselines .WriteString ("(computed .d.ts) " + file .FileName () + "\n " )
308297 case incremental .SignatureUpdateKindStoredAtEmit :
309- baseline .WriteString ("(stored at emit) " + file .FileName () + "\n " )
298+ s . programBaselines .WriteString ("(stored at emit) " + file .FileName () + "\n " )
310299 case incremental .SignatureUpdateKindUsedVersion :
311- baseline .WriteString ("(used version) " + file .FileName () + "\n " )
300+ s . programBaselines .WriteString ("(used version) " + file .FileName () + "\n " )
312301 }
313302 }
314303 }
315304}
316305
306+ func (s * testSys ) baselinePrograms (baseline * strings.Builder ) {
307+ baseline .WriteString (s .programBaselines .String ())
308+ s .programBaselines .Reset ()
309+ }
310+
311+ func (s * testSys ) baselineProgram (program * incremental.Program ) {
312+ }
313+
317314func (s * testSys ) serializeState (baseline * strings.Builder ) {
318315 s .baselineOutput (baseline )
319316 s .baselineFSwithDiff (baseline )
0 commit comments