Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							88664c39c9 
							
						 
					 
					
						
						
							
							chore: remove esm error interception, it only confuses users ( #14829 )  
						
						
						
						
					 
					
						2022-06-13 12:32:42 -07:00 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c4b003a29a 
							
						 
					 
					
						
						
							
							chore: don't mask ESM error ( #14628 )  
						
						
						
						
					 
					
						2022-06-03 15:28:53 -07:00 
						 
				 
			
				
					
						
							
							
								Dmitry Gozman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							9420a53939 
							
						 
					 
					
						
						
							
							fix(esm): make sure import from './foo.js' is supported ( #13137 )  
						
						... 
						
						
						
						Drive-by: migrate all @esm tests to esm.spec.ts. 
						
						
					 
					
						2022-03-28 14:37:46 -07:00 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4aaa63beaa 
							
						 
					 
					
						
						
							
							test: add a test for  #12837  ( #12838 )  
						
						
						
						
					 
					
						2022-03-18 18:09:59 -07:00 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4d3d0e2bda 
							
						 
					 
					
						
						
							
							chore: enable ts-esm support by default ( #12658 )  
						
						
						
						
					 
					
						2022-03-10 14:48:33 -08:00 
						 
				 
			
				
					
						
							
							
								Max Schmitt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3f468abedd 
							
						 
					 
					
						
						
							
							fix(test-runner): ESM compatibly on Windows  ( #12615 )  
						
						
						
						
					 
					
						2022-03-10 19:27:25 +01:00 
						 
				 
			
				
					
						
							
							
								Dmitry Gozman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e895bc2751 
							
						 
					 
					
						
						
							
							reland(test-runner): rely on test title paths instead of ordinal ( #12611 )  
						
						... 
						
						
						
						Fixes  #11904 
Co-authored-by: Andrey Lushnikov <lushnikov@chromium.org> 
					
						2022-03-08 19:06:25 -08:00 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6a663ef54f 
							
						 
					 
					
						
						
							
							chore(test-runner): revert recent changes to fix tests ( #12439 )  
						
						... 
						
						
						
						* Revert "fix(hooks): separate test timeout from beforeAll/afterAll timeouts (#12413 )"
This reverts commit 73dee69558110b00916708dafaa99e121c6e7c94.
* Revert "fix(test-runner): rely on test title paths instead of ordinal (#12414 )"
This reverts commit d744a87aeefe9c131ed10cedfff201efa1b5c156.
* Revert "chore(test runner): run hooks/modifiers as a part of the test  (#12329 )"
This reverts commit 47045ba48dd84d38bde17541c8a0a05cdfed7ffc. 
						
						
					 
					
						2022-03-01 09:11:17 -08:00 
						 
				 
			
				
					
						
							
							
								Andrey Lushnikov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d744a87aee 
							
						 
					 
					
						
						
							
							fix(test-runner): rely on test title paths instead of ordinal ( #12414 )  
						
						... 
						
						
						
						Fixes  #11904  
					
						2022-02-28 15:40:23 -08:00 
						 
				 
			
				
					
						
							
							
								pierscowburn 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5db7ce5964 
							
						 
					 
					
						
						
							
							fix: propagate exit code in experimental mode ( #12070 )  
						
						... 
						
						
						
						In experimental ESM mode a child process is forked in order to run the tests. Currently the exit code of this child process is not propagated to the exit code of the parent process, which means that the process exits with a status code of `0` even if some of the tests failed.
This makes it difficult to use Playwright in CI in experimental mode, as the CI pipeline as a whole will pass despite the test failures.
This change addresses this by propagating the exit code in the case where it is non-zero. 
						
						
					 
					
						2022-02-15 13:10:35 -08:00 
						 
				 
			
				
					
						
							
							
								Andrey Lushnikov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ef21ce3f56 
							
						 
					 
					
						
						
							
							feat(test-runner): filter out syntax error stack traces ( #12095 )  
						
						... 
						
						
						
						Filter out long stack traces from babel when it fails compilation
due to syntax error in test. 
						
						
					 
					
						2022-02-14 14:33:14 -08:00 
						 
				 
			
				
					
						
							
							
								Andrey Lushnikov 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b0daa7754f 
							
						 
					 
					
						
						
							
							feat: filter stack traces to exclude test runner frames ( #11795 )  
						
						... 
						
						
						
						Before:
```bash
Running 1 test using 1 worker
  1) [chromium] › tests/example.spec.ts:3:1 › should work ==========================================
    Error: expect(received).toBe(expected) // Object.is equality
    Expected: 2
    Received: 1
      2 |
      3 | test('should work', async({page}) => {
    > 4 |   expect(1).toBe(2);
        |             ^
      5 | });
      6 |
        at Proxy.<anonymous> (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/expect.ts:151:30)
        at /Users/andreylushnikov/tmp/tests/example.spec.ts:4:13
        at /Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:335:13
        at runNextTicks (node:internal/process/task_queues:61:5)
        at processImmediate (node:internal/timers:437:9)
        at TestInfoImpl._runFn (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/testInfo.ts:164:7)
        at WorkerRunner._runTestWithBeforeHooks (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:317:24)
        at TimeoutRunner.run (/Users/andreylushnikov/prog/playwright/packages/playwright-core/src/utils/async.ts:48:14)
        at TestInfoImpl._runWithTimeout (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/testInfo.ts:151:7)
        at WorkerRunner._runTestOrAllHook (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:276:5)
        at WorkerRunner._runSuite (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:190:11)
        at WorkerRunner.run (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/workerRunner.ts:137:9)
        at process.<anonymous> (/Users/andreylushnikov/prog/playwright/packages/playwright-test/src/worker.ts:87:5)
```
after:
```
Running 1 test using 1 worker
  1) [chromium] › tests/example.spec.ts:3:1 › should work ==========================================
    Error: expect(received).toBe(expected) // Object.is equality
    Expected: 2
    Received: 1
      2 |
      3 | test('should work', async({page}) => {
    > 4 |   expect(1).toBe(2);
        |             ^
      5 | });
      6 |
        at /Users/andreylushnikov/tmp/tests/example.spec.ts:4:13
``` 
						
						
					 
					
						2022-02-01 18:40:44 -08:00 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5d19f16601 
							
						 
					 
					
						
						
							
							feat(esm): introduce experimental PW_EXPERIMENTAL_TS_ESM option ( #10519 )  
						
						
						
						
					 
					
						2021-11-24 14:17:01 -08:00 
						 
				 
			
				
					
						
							
							
								Pavel Feldman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							7eb3f76f49 
							
						 
					 
					
						
						
							
							feat(esm): allow running tests in type module projects ( #10503 )  
						
						
						
						
					 
					
						2021-11-24 12:42:48 -08:00 
						 
				 
			
				
					
						
							
							
								Joel Einbinder 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0cad0de3e3 
							
						 
					 
					
						
						
							
							fix(test runner): better error message when importing typescript from esmodule ( #10061 )  
						
						
						
						
					 
					
						2021-11-08 16:25:40 -05:00 
						 
				 
			
				
					
						
							
							
								Max Schmitt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							cd22072685 
							
						 
					 
					
						
						
							
							chore: enable object-curly-spacing in ESLint ( #9168 )  
						
						
						
						
					 
					
						2021-09-27 18:58:08 +02:00 
						 
				 
			
				
					
						
							
							
								Joel Einbinder 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							eb31b9e4a9 
							
						 
					 
					
						
						
							
							feat(test-runner): support esm modules in more places ( #7542 )  
						
						
						
						
					 
					
						2021-07-12 11:59:58 -05:00 
						 
				 
			
				
					
						
							
							
								Joel Einbinder 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							7629587914 
							
						 
					 
					
						
						
							
							fix(test-runner): work with .mjs files ( #7373 )  
						
						
						
						
					 
					
						2021-06-29 15:28:41 -07:00 
						 
				 
			
				
					
						
							
							
								Joel Einbinder 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							368880962f 
							
						 
					 
					
						
						
							
							fix(test-runner): better test match glob ( #7382 )  
						
						
						
						
					 
					
						2021-06-29 11:49:50 -07:00 
						 
				 
			
				
					
						
							
							
								Dmitry Gozman 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4c6fa42810 
							
						 
					 
					
						
						
							
							fix(test runner): expose real stack traces and speed up locations ( #7265 )  
						
						... 
						
						
						
						Stop wrapping/prepending error messages so that we do not loose the stack trace. For this, update a few manually thrown errors with better messages (usually including a file path).
Speed up locations by doing manual `sourceMapSupport.wrapCallSite()` for a single call site. Performance gain in the runner process with 100 files x 100 tests each:
- 25% on the fresh run without babel cache;
- 80% on the cached run where babel is almost instant.
Also some obvious cleanups around stack traces (removing unused code). 
						
						
					 
					
						2021-06-23 10:30:54 -07:00