Skip to content

Commit a1c4732

Browse files
authored
Test for tsc --watch to stub out actual time (#57936)
1 parent 0e0975d commit a1c4732

File tree

355 files changed

+2633
-2629
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

355 files changed

+2633
-2629
lines changed

src/testRunner/unittests/helpers/virtualFileSystemWithWatch.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1164,7 +1164,11 @@ function diffFsEntry(baseline: string[], oldFsEntry: FSEntry | undefined, newFsE
11641164
function baselineOutputs(baseline: string[], output: readonly string[], start: number, end = output.length) {
11651165
let baselinedOutput: string[] | undefined;
11661166
for (let i = start; i < end; i++) {
1167-
(baselinedOutput ||= []).push(output[i].replace(/Elapsed::\s[0-9]+(?:\.\d+)?ms/g, "Elapsed:: *ms"));
1167+
(baselinedOutput ||= []).push(
1168+
output[i]
1169+
.replace(/Elapsed::\s[0-9]+(?:\.\d+)?ms/g, "Elapsed:: *ms")
1170+
.replace(/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\s(A|P)M/g, "HH:MM:SS AM"),
1171+
);
11681172
}
11691173
if (baselinedOutput) baseline.push(baselinedOutput.join(""));
11701174
}

tests/baselines/reference/tsbuild/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly-with-preserveSymlinks.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,13 @@ interface Array<T> { length: number; [n: number]: T; }
5757

5858
/a/lib/tsc.js -b packages/pkg1 --verbose --traceResolution
5959
Output::
60-
[[90m12:00:39 AM[0m] Projects in this build:
60+
[[90mHH:MM:SS AM[0m] Projects in this build:
6161
* packages/pkg2/tsconfig.json
6262
* packages/pkg1/tsconfig.json
6363

64-
[[90m12:00:40 AM[0m] Project 'packages/pkg2/tsconfig.json' is out of date because output file 'packages/pkg2/build/tsconfig.tsbuildinfo' does not exist
64+
[[90mHH:MM:SS AM[0m] Project 'packages/pkg2/tsconfig.json' is out of date because output file 'packages/pkg2/build/tsconfig.tsbuildinfo' does not exist
6565

66-
[[90m12:00:41 AM[0m] Building project '/user/username/projects/myproject/packages/pkg2/tsconfig.json'...
66+
[[90mHH:MM:SS AM[0m] Building project '/user/username/projects/myproject/packages/pkg2/tsconfig.json'...
6767

6868
======== Resolving module 'const' from '/user/username/projects/myproject/packages/pkg2/index.ts'. ========
6969
Module resolution kind is not specified, using 'Node10'.
@@ -72,9 +72,9 @@ Resolving module name 'const' relative to base url '/user/username/projects/mypr
7272
Loading module as file / folder, candidate module location '/user/username/projects/myproject/packages/pkg2/const', target file types: TypeScript, Declaration.
7373
File '/user/username/projects/myproject/packages/pkg2/const.ts' exists - use it as a name resolution result.
7474
======== Module name 'const' was successfully resolved to '/user/username/projects/myproject/packages/pkg2/const.ts'. ========
75-
[[90m12:00:58 AM[0m] Project 'packages/pkg1/tsconfig.json' is out of date because output file 'packages/pkg1/build/index.js' does not exist
75+
[[90mHH:MM:SS AM[0m] Project 'packages/pkg1/tsconfig.json' is out of date because output file 'packages/pkg1/build/index.js' does not exist
7676

77-
[[90m12:00:59 AM[0m] Building project '/user/username/projects/myproject/packages/pkg1/tsconfig.json'...
77+
[[90mHH:MM:SS AM[0m] Building project '/user/username/projects/myproject/packages/pkg1/tsconfig.json'...
7878

7979
======== Resolving module 'pkg2' from '/user/username/projects/myproject/packages/pkg1/index.ts'. ========
8080
Module resolution kind is not specified, using 'Node10'.

tests/baselines/reference/tsbuild/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,13 @@ interface Array<T> { length: number; [n: number]: T; }
5555

5656
/a/lib/tsc.js -b packages/pkg1 --verbose --traceResolution
5757
Output::
58-
[[90m12:00:39 AM[0m] Projects in this build:
58+
[[90mHH:MM:SS AM[0m] Projects in this build:
5959
* packages/pkg2/tsconfig.json
6060
* packages/pkg1/tsconfig.json
6161

62-
[[90m12:00:40 AM[0m] Project 'packages/pkg2/tsconfig.json' is out of date because output file 'packages/pkg2/build/tsconfig.tsbuildinfo' does not exist
62+
[[90mHH:MM:SS AM[0m] Project 'packages/pkg2/tsconfig.json' is out of date because output file 'packages/pkg2/build/tsconfig.tsbuildinfo' does not exist
6363

64-
[[90m12:00:41 AM[0m] Building project '/user/username/projects/myproject/packages/pkg2/tsconfig.json'...
64+
[[90mHH:MM:SS AM[0m] Building project '/user/username/projects/myproject/packages/pkg2/tsconfig.json'...
6565

6666
======== Resolving module 'const' from '/user/username/projects/myproject/packages/pkg2/index.ts'. ========
6767
Module resolution kind is not specified, using 'Node10'.
@@ -70,9 +70,9 @@ Resolving module name 'const' relative to base url '/user/username/projects/mypr
7070
Loading module as file / folder, candidate module location '/user/username/projects/myproject/packages/pkg2/const', target file types: TypeScript, Declaration.
7171
File '/user/username/projects/myproject/packages/pkg2/const.ts' exists - use it as a name resolution result.
7272
======== Module name 'const' was successfully resolved to '/user/username/projects/myproject/packages/pkg2/const.ts'. ========
73-
[[90m12:00:58 AM[0m] Project 'packages/pkg1/tsconfig.json' is out of date because output file 'packages/pkg1/build/index.js' does not exist
73+
[[90mHH:MM:SS AM[0m] Project 'packages/pkg1/tsconfig.json' is out of date because output file 'packages/pkg1/build/index.js' does not exist
7474

75-
[[90m12:00:59 AM[0m] Building project '/user/username/projects/myproject/packages/pkg1/tsconfig.json'...
75+
[[90mHH:MM:SS AM[0m] Building project '/user/username/projects/myproject/packages/pkg1/tsconfig.json'...
7676

7777
======== Resolving module 'pkg2' from '/user/username/projects/myproject/packages/pkg1/index.ts'. ========
7878
Module resolution kind is not specified, using 'Node10'.

tests/baselines/reference/tsbuildWatch/configFileErrors/reports-syntax-errors-in-config-file.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@ interface Array<T> { length: number; [n: number]: T; }
3434
/a/lib/tsc.js --b -w
3535
Output::
3636
>> Screen clear
37-
[[90m12:00:23 AM[0m] Starting compilation in watch mode...
37+
[[90mHH:MM:SS AM[0m] Starting compilation in watch mode...
3838

3939
tsconfig.json:7:9 - error TS1005: ',' expected.
4040

4141
7 "b.ts"
4242
   ~~~~~~
4343

44-
[[90m12:00:29 AM[0m] Found 1 error. Watching for file changes.
44+
[[90mHH:MM:SS AM[0m] Found 1 error. Watching for file changes.
4545

4646

4747

@@ -160,14 +160,14 @@ Before running Timeout callback:: count: 1
160160
After running Timeout callback:: count: 0
161161
Output::
162162
>> Screen clear
163-
[[90m12:00:33 AM[0m] File change detected. Starting incremental compilation...
163+
[[90mHH:MM:SS AM[0m] File change detected. Starting incremental compilation...
164164

165165
tsconfig.json:8:9 - error TS1005: ',' expected.
166166

167167
8 "b.ts"
168168
   ~~~~~~
169169

170-
[[90m12:00:34 AM[0m] Found 1 error. Watching for file changes.
170+
[[90mHH:MM:SS AM[0m] Found 1 error. Watching for file changes.
171171

172172

173173

@@ -211,14 +211,14 @@ Before running Timeout callback:: count: 1
211211
After running Timeout callback:: count: 0
212212
Output::
213213
>> Screen clear
214-
[[90m12:00:38 AM[0m] File change detected. Starting incremental compilation...
214+
[[90mHH:MM:SS AM[0m] File change detected. Starting incremental compilation...
215215

216216
tsconfig.json:8:9 - error TS1005: ',' expected.
217217

218218
8 "b.ts"
219219
   ~~~~~~
220220

221-
[[90m12:00:46 AM[0m] Found 1 error. Watching for file changes.
221+
[[90mHH:MM:SS AM[0m] Found 1 error. Watching for file changes.
222222

223223

224224

@@ -321,14 +321,14 @@ Before running Timeout callback:: count: 1
321321
After running Timeout callback:: count: 0
322322
Output::
323323
>> Screen clear
324-
[[90m12:00:50 AM[0m] File change detected. Starting incremental compilation...
324+
[[90mHH:MM:SS AM[0m] File change detected. Starting incremental compilation...
325325

326326
tsconfig.json:8:9 - error TS1005: ',' expected.
327327

328328
8 "b.ts"
329329
   ~~~~~~
330330

331-
[[90m12:00:51 AM[0m] Found 1 error. Watching for file changes.
331+
[[90mHH:MM:SS AM[0m] Found 1 error. Watching for file changes.
332332

333333

334334

@@ -381,9 +381,9 @@ Before running Timeout callback:: count: 1
381381
After running Timeout callback:: count: 0
382382
Output::
383383
>> Screen clear
384-
[[90m12:00:56 AM[0m] File change detected. Starting incremental compilation...
384+
[[90mHH:MM:SS AM[0m] File change detected. Starting incremental compilation...
385385

386-
[[90m12:01:12 AM[0m] Found 0 errors. Watching for file changes.
386+
[[90mHH:MM:SS AM[0m] Found 0 errors. Watching for file changes.
387387

388388

389389

tests/baselines/reference/tsbuildWatch/demo/updates-with-bad-reference.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -144,17 +144,17 @@ declare const console: { log(msg: any): void; };
144144
/a/lib/tsc.js -b -w -verbose
145145
Output::
146146
>> Screen clear
147-
[[90m12:00:45 AM[0m] Starting compilation in watch mode...
147+
[[90mHH:MM:SS AM[0m] Starting compilation in watch mode...
148148

149-
[[90m12:00:46 AM[0m] Projects in this build:
149+
[[90mHH:MM:SS AM[0m] Projects in this build:
150150
* core/tsconfig.json
151151
* animals/tsconfig.json
152152
* zoo/tsconfig.json
153153
* tsconfig.json
154154

155-
[[90m12:00:47 AM[0m] Project 'core/tsconfig.json' is out of date because output file 'lib/core/tsconfig.tsbuildinfo' does not exist
155+
[[90mHH:MM:SS AM[0m] Project 'core/tsconfig.json' is out of date because output file 'lib/core/tsconfig.tsbuildinfo' does not exist
156156

157-
[[90m12:00:48 AM[0m] Building project '/user/username/projects/demo/core/tsconfig.json'...
157+
[[90mHH:MM:SS AM[0m] Building project '/user/username/projects/demo/core/tsconfig.json'...
158158

159159
animals/index.ts:1:20 - error TS6059: File '/user/username/projects/demo/animals/animal.ts' is not under 'rootDir' '/user/username/projects/demo/core'. 'rootDir' is expected to contain all source files.
160160

@@ -207,15 +207,15 @@ Output::
207207
   ~~~
208208
File is included via import here.
209209

210-
[[90m12:00:59 AM[0m] Project 'animals/tsconfig.json' can't be built because its dependency 'core' has errors
210+
[[90mHH:MM:SS AM[0m] Project 'animals/tsconfig.json' can't be built because its dependency 'core' has errors
211211

212-
[[90m12:01:00 AM[0m] Skipping build of project '/user/username/projects/demo/animals/tsconfig.json' because its dependency '/user/username/projects/demo/core' has errors
212+
[[90mHH:MM:SS AM[0m] Skipping build of project '/user/username/projects/demo/animals/tsconfig.json' because its dependency '/user/username/projects/demo/core' has errors
213213

214-
[[90m12:01:01 AM[0m] Project 'zoo/tsconfig.json' can't be built because its dependency 'animals' was not built
214+
[[90mHH:MM:SS AM[0m] Project 'zoo/tsconfig.json' can't be built because its dependency 'animals' was not built
215215

216-
[[90m12:01:02 AM[0m] Skipping build of project '/user/username/projects/demo/zoo/tsconfig.json' because its dependency '/user/username/projects/demo/animals' was not built
216+
[[90mHH:MM:SS AM[0m] Skipping build of project '/user/username/projects/demo/zoo/tsconfig.json' because its dependency '/user/username/projects/demo/animals' was not built
217217

218-
[[90m12:01:03 AM[0m] Found 7 errors. Watching for file changes.
218+
[[90mHH:MM:SS AM[0m] Found 7 errors. Watching for file changes.
219219

220220

221221

@@ -456,11 +456,11 @@ Before running Timeout callback:: count: 1
456456
After running Timeout callback:: count: 0
457457
Output::
458458
>> Screen clear
459-
[[90m12:01:06 AM[0m] File change detected. Starting incremental compilation...
459+
[[90mHH:MM:SS AM[0m] File change detected. Starting incremental compilation...
460460

461-
[[90m12:01:07 AM[0m] Project 'core/tsconfig.json' is out of date because buildinfo file 'lib/core/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted
461+
[[90mHH:MM:SS AM[0m] Project 'core/tsconfig.json' is out of date because buildinfo file 'lib/core/tsconfig.tsbuildinfo' indicates that some of the changes were not emitted
462462

463-
[[90m12:01:08 AM[0m] Building project '/user/username/projects/demo/core/tsconfig.json'...
463+
[[90mHH:MM:SS AM[0m] Building project '/user/username/projects/demo/core/tsconfig.json'...
464464

465465
animals/index.ts:1:20 - error TS6059: File '/user/username/projects/demo/animals/animal.ts' is not under 'rootDir' '/user/username/projects/demo/core'. 'rootDir' is expected to contain all source files.
466466

@@ -513,7 +513,7 @@ Output::
513513
   ~~~
514514
File is included via import here.
515515

516-
[[90m12:01:16 AM[0m] Found 7 errors. Watching for file changes.
516+
[[90mHH:MM:SS AM[0m] Found 7 errors. Watching for file changes.
517517

518518

519519

tests/baselines/reference/tsbuildWatch/demo/updates-with-circular-reference.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,9 @@ declare const console: { log(msg: any): void; };
148148
/a/lib/tsc.js -b -w -verbose
149149
Output::
150150
>> Screen clear
151-
[[90m12:00:46 AM[0m] Starting compilation in watch mode...
151+
[[90mHH:MM:SS AM[0m] Starting compilation in watch mode...
152152

153-
[[90m12:00:47 AM[0m] Projects in this build:
153+
[[90mHH:MM:SS AM[0m] Projects in this build:
154154
* animals/tsconfig.json
155155
* zoo/tsconfig.json
156156
* core/tsconfig.json
@@ -161,7 +161,7 @@ Output::
161161
/user/username/projects/demo/zoo/tsconfig.json
162162
/user/username/projects/demo/animals/tsconfig.json
163163

164-
[[90m12:00:48 AM[0m] Found 1 error. Watching for file changes.
164+
[[90mHH:MM:SS AM[0m] Found 1 error. Watching for file changes.
165165

166166

167167

@@ -220,11 +220,11 @@ Before running Timeout callback:: count: 1
220220
After running Timeout callback:: count: 1
221221
Output::
222222
>> Screen clear
223-
[[90m12:00:52 AM[0m] File change detected. Starting incremental compilation...
223+
[[90mHH:MM:SS AM[0m] File change detected. Starting incremental compilation...
224224

225-
[[90m12:00:53 AM[0m] Project 'core/tsconfig.json' is out of date because output file 'lib/core/tsconfig.tsbuildinfo' does not exist
225+
[[90mHH:MM:SS AM[0m] Project 'core/tsconfig.json' is out of date because output file 'lib/core/tsconfig.tsbuildinfo' does not exist
226226

227-
[[90m12:00:54 AM[0m] Building project '/user/username/projects/demo/core/tsconfig.json'...
227+
[[90mHH:MM:SS AM[0m] Building project '/user/username/projects/demo/core/tsconfig.json'...
228228

229229

230230

@@ -316,15 +316,15 @@ Before running Timeout callback:: count: 1
316316

317317
After running Timeout callback:: count: 0
318318
Output::
319-
[[90m12:01:09 AM[0m] Project 'animals/tsconfig.json' is out of date because output file 'lib/animals/tsconfig.tsbuildinfo' does not exist
319+
[[90mHH:MM:SS AM[0m] Project 'animals/tsconfig.json' is out of date because output file 'lib/animals/tsconfig.tsbuildinfo' does not exist
320320

321-
[[90m12:01:10 AM[0m] Building project '/user/username/projects/demo/animals/tsconfig.json'...
321+
[[90mHH:MM:SS AM[0m] Building project '/user/username/projects/demo/animals/tsconfig.json'...
322322

323-
[[90m12:01:31 AM[0m] Project 'zoo/tsconfig.json' is out of date because output file 'lib/zoo/tsconfig.tsbuildinfo' does not exist
323+
[[90mHH:MM:SS AM[0m] Project 'zoo/tsconfig.json' is out of date because output file 'lib/zoo/tsconfig.tsbuildinfo' does not exist
324324

325-
[[90m12:01:32 AM[0m] Building project '/user/username/projects/demo/zoo/tsconfig.json'...
325+
[[90mHH:MM:SS AM[0m] Building project '/user/username/projects/demo/zoo/tsconfig.json'...
326326

327-
[[90m12:01:45 AM[0m] Found 0 errors. Watching for file changes.
327+
[[90mHH:MM:SS AM[0m] Found 0 errors. Watching for file changes.
328328

329329

330330

tests/baselines/reference/tsbuildWatch/libraryResolution/with-config-with-redirection.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -175,17 +175,17 @@ interface ScriptHostInterface { }
175175

176176
/home/src/lib/tsc.js -b -w project1 project2 project3 project4 --verbose --explainFiles --extendedDiagnostics
177177
Output::
178-
[[90m12:01:33 AM[0m] Starting compilation in watch mode...
178+
[[90mHH:MM:SS AM[0m] Starting compilation in watch mode...
179179

180-
[[90m12:01:34 AM[0m] Projects in this build:
180+
[[90mHH:MM:SS AM[0m] Projects in this build:
181181
* project1/tsconfig.json
182182
* project2/tsconfig.json
183183
* project3/tsconfig.json
184184
* project4/tsconfig.json
185185

186-
[[90m12:01:35 AM[0m] Project 'project1/tsconfig.json' is out of date because output file 'project1/tsconfig.tsbuildinfo' does not exist
186+
[[90mHH:MM:SS AM[0m] Project 'project1/tsconfig.json' is out of date because output file 'project1/tsconfig.tsbuildinfo' does not exist
187187

188-
[[90m12:01:36 AM[0m] Building project '/home/src/projects/project1/tsconfig.json'...
188+
[[90mHH:MM:SS AM[0m] Building project '/home/src/projects/project1/tsconfig.json'...
189189

190190
======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ========
191191
Explicitly specified module resolution kind: 'Node10'.
@@ -276,9 +276,9 @@ project1/utils.d.ts
276276
project1/typeroot1/sometype/index.d.ts
277277
Matched by default include pattern '**/*'
278278
Entry point for implicit type library 'sometype'
279-
[[90m12:01:54 AM[0m] Project 'project2/tsconfig.json' is out of date because output file 'project2/tsconfig.tsbuildinfo' does not exist
279+
[[90mHH:MM:SS AM[0m] Project 'project2/tsconfig.json' is out of date because output file 'project2/tsconfig.tsbuildinfo' does not exist
280280

281-
[[90m12:01:55 AM[0m] Building project '/home/src/projects/project2/tsconfig.json'...
281+
[[90mHH:MM:SS AM[0m] Building project '/home/src/projects/project2/tsconfig.json'...
282282

283283
======== Resolving module '@typescript/lib-es5' from '/home/src/projects/project2/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========
284284
Explicitly specified module resolution kind: 'Node10'.
@@ -304,9 +304,9 @@ project2/index.ts
304304
Matched by default include pattern '**/*'
305305
project2/utils.d.ts
306306
Matched by default include pattern '**/*'
307-
[[90m12:02:05 AM[0m] Project 'project3/tsconfig.json' is out of date because output file 'project3/tsconfig.tsbuildinfo' does not exist
307+
[[90mHH:MM:SS AM[0m] Project 'project3/tsconfig.json' is out of date because output file 'project3/tsconfig.tsbuildinfo' does not exist
308308

309-
[[90m12:02:06 AM[0m] Building project '/home/src/projects/project3/tsconfig.json'...
309+
[[90mHH:MM:SS AM[0m] Building project '/home/src/projects/project3/tsconfig.json'...
310310

311311
======== Resolving module '@typescript/lib-es5' from '/home/src/projects/project3/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========
312312
Explicitly specified module resolution kind: 'Node10'.
@@ -332,9 +332,9 @@ project3/index.ts
332332
Matched by default include pattern '**/*'
333333
project3/utils.d.ts
334334
Matched by default include pattern '**/*'
335-
[[90m12:02:16 AM[0m] Project 'project4/tsconfig.json' is out of date because output file 'project4/tsconfig.tsbuildinfo' does not exist
335+
[[90mHH:MM:SS AM[0m] Project 'project4/tsconfig.json' is out of date because output file 'project4/tsconfig.tsbuildinfo' does not exist
336336

337-
[[90m12:02:17 AM[0m] Building project '/home/src/projects/project4/tsconfig.json'...
337+
[[90mHH:MM:SS AM[0m] Building project '/home/src/projects/project4/tsconfig.json'...
338338

339339
======== Resolving module '@typescript/lib-esnext' from '/home/src/projects/project4/__lib_node_modules_lookup_lib.esnext.d.ts__.ts'. ========
340340
Explicitly specified module resolution kind: 'Node10'.
@@ -377,7 +377,7 @@ project4/index.ts
377377
Matched by default include pattern '**/*'
378378
project4/utils.d.ts
379379
Matched by default include pattern '**/*'
380-
[[90m12:02:27 AM[0m] Found 0 errors. Watching for file changes.
380+
[[90mHH:MM:SS AM[0m] Found 0 errors. Watching for file changes.
381381

382382
FileWatcher:: Added:: WatchInfo: /home/src/projects/project1/tsconfig.json 2000 undefined Config file /home/src/projects/project1/tsconfig.json
383383
DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1 1 undefined Wild card directory /home/src/projects/project1/tsconfig.json

0 commit comments

Comments
 (0)