George Kalpakas
3b7a571cc5
test(upgrade): clean up global state after test (#28181)
In ngUpgradeLite, when a downgraded component
[requests its downgraded module][1], the AngularJS injector is
[temporarily stored][2] with the intention of grabbing it
[once the module has been bootstrapped][3] (which also cleans up the
[temporary injector reference][4]).
In [some tests][5], bootstrapping a component might throw an error,
which causes the test to fail immediatelly and move on to the next
test. In slow browsers (e.g. on CI/Saucelabs), the (successful)
bootstrapping of another downgraded module might not have been
completed in time and thus the temporary injector reference not cleaned
up.
In such a case, if the following test (in our randomized test suite)
happens to rely on the temporary injector reference's being initially
unset (such as [this test][6]), it will fail. This might appear as a
flake on CI, because it depends on a race condition and specific order
of tests, so it usually goes away after a rerun.
This commit fixes it by ensuring the temporary injector reference is
manually cleaned up, when necessary.
Jira issue: FW-939
[1]: f983e99fb2/packages/upgrade/src/common/downgrade_component.ts (L120)
[2]: f983e99fb2/packages/upgrade/src/static/downgrade_module.ts (L165)
[3]: f983e99fb2/packages/upgrade/src/static/downgrade_module.ts (L169)
[4]: f983e99fb2/packages/upgrade/src/static/angular1_providers.ts (L25)
[5]: f983e99fb2/packages/upgrade/test/static/integration/downgrade_module_spec.ts (L1331-L1381)
[6]: f983e99fb2/packages/upgrade/test/static/angular1_providers_spec.ts (L31-L45)
PR Close #28181
2019-01-16 09:45:01 -08:00
..
2019-01-04 15:42:19 -08:00
2019-01-14 17:12:00 -08:00
2019-01-07 15:35:09 -08:00
2019-01-15 10:53:03 -08:00
2019-01-15 09:45:41 -08:00
2019-01-15 11:21:58 -08:00
2019-01-15 14:09:52 -08:00
2017-03-08 16:29:27 -08:00
2019-01-04 15:42:19 -08:00
2019-01-14 10:36:02 -08:00
2019-01-11 14:35:23 -08:00
2019-01-04 15:42:19 -08:00
2019-01-15 11:30:37 -08:00
2019-01-15 14:08:20 -08:00
2019-01-07 20:27:50 -08:00
2019-01-15 11:27:54 -08:00
2019-01-04 18:37:31 -08:00
2018-12-14 10:20:40 -08:00
2019-01-10 10:55:58 -08:00
2019-01-15 10:54:49 -08:00
2019-01-15 09:50:31 -08:00
2019-01-16 09:45:01 -08:00
2018-10-19 20:59:29 -07:00
2017-03-08 16:29:27 -08:00
2018-12-19 15:11:52 -05:00
2018-12-04 19:59:12 -08:00
2019-01-11 11:15:59 -08:00
2017-07-20 16:46:47 -05:00
2017-10-30 23:09:17 -04:00
2017-03-08 16:29:27 -08:00
2018-06-25 07:57:13 -07:00
2018-08-16 13:46:43 -07:00
2018-09-11 16:23:17 -07:00
2018-08-16 13:46:43 -07:00