| 
									
										
										
										
											2020-02-04 11:45:40 -08:00
										 |  |  | load(":angular_integration_test.bzl", "angular_integration_test") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Some integration ports must be managed manually to be unique and in other | 
					
						
							|  |  |  | # cases the tests are able to select a random free port. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Where `ng e2e` is used we pass `ng e2e --port 0` which prompts the cli | 
					
						
							|  |  |  | # to select a random free port for the the e2e test. The protractor.conf is | 
					
						
							| 
									
										
										
										
											2020-05-19 18:11:37 -07:00
										 |  |  | # automatically updated to use this port. | 
					
						
							| 
									
										
										
										
											2020-02-04 11:45:40 -08:00
										 |  |  | # | 
					
						
							|  |  |  | # Karma automatically finds a free port so no effort is needed there. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # The manually configured ports are as follows: | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | #   TEST                                PORT        CONFIGURATION | 
					
						
							|  |  |  | #   ====                                ====        ============= | 
					
						
							|  |  |  | #   dynamic-compiler                    4201        /e2e/browser.config.json: "port": 4201 | 
					
						
							|  |  |  | #   hello_world__closure                4202        /e2e/browser.config.json: "port": 4202 | 
					
						
							|  |  |  | #   hello_world__systemjs_umd           4203        /bs-config.e2e.json: "port": 4203 | 
					
						
							|  |  |  | #   i18n                                4204        /e2e/browser.config.json: "port": 4204 | 
					
						
							|  |  |  | #   ng_elements                         4205        /e2e/browser.config.json: "port": 4205 | 
					
						
							|  |  |  | #   platform-server                     4206        /src/server.ts: app.listen(4206,... | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-14 17:23:49 -08:00
										 |  |  | # Map of integration tests to tags. | 
					
						
							|  |  |  | # A subset of these tests fail or are not meant to be run with ivy bundles. These are tagged | 
					
						
							|  |  |  | # "no-ivy-aot". | 
					
						
							|  |  |  | INTEGRATION_TESTS = { | 
					
						
							| 
									
										
										
										
											2020-03-09 22:17:48 -07:00
										 |  |  |     "bazel": { | 
					
						
							|  |  |  |         "tags": [ | 
					
						
							|  |  |  |             # Bazel-in-bazel tests are resource intensive and should not be over-parallized | 
					
						
							|  |  |  |             # as they will compete for the resources of other parallel tests slowing | 
					
						
							|  |  |  |             # everything down. Ask Bazel to allocate multiple CPUs for these tests with "cpu:n" tag. | 
					
						
							|  |  |  |             "cpu:3", | 
					
						
							|  |  |  |             "no-ivy-aot", | 
					
						
							|  |  |  |         ], | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     "cli-hello-world": {"commands": "payload_size_tracking"}, | 
					
						
							|  |  |  |     "cli-hello-world-ivy-compat": {"commands": "payload_size_tracking"}, | 
					
						
							|  |  |  |     "cli-hello-world-ivy-i18n": { | 
					
						
							|  |  |  |         "commands": "payload_size_tracking", | 
					
						
							| 
									
										
										
										
											2020-05-12 14:22:36 +02:00
										 |  |  |         # TODO: (FW-2165) cli-hello-world-ivy-i18n fails on a bundle size check with Ivy bundles | 
					
						
							|  |  |  |         "tags": ["fixme-ivy-aot"], | 
					
						
							| 
									
										
										
										
											2020-03-09 22:17:48 -07:00
										 |  |  |     }, | 
					
						
							|  |  |  |     "cli-hello-world-ivy-minimal": {"commands": "payload_size_tracking"}, | 
					
						
							|  |  |  |     "cli-hello-world-lazy": { | 
					
						
							|  |  |  |         "commands": "payload_size_tracking", | 
					
						
							| 
									
										
										
										
											2020-05-12 14:22:36 +02:00
										 |  |  |         # TODO: (FW-2165) cli-hello-world-lazy fails on a bundle size check with Ivy bundles | 
					
						
							|  |  |  |         "tags": ["fixme-ivy-aot"], | 
					
						
							| 
									
										
										
										
											2020-03-09 22:17:48 -07:00
										 |  |  |     }, | 
					
						
							| 
									
										
										
										
											2020-05-12 16:05:31 +02:00
										 |  |  |     "cli-hello-world-lazy-rollup": { | 
					
						
							|  |  |  |         "commands": "payload_size_tracking", | 
					
						
							|  |  |  |         # TODO: cli-hello-world-lazy-rollup fails on a bundle size check because Ivy and VE sizes are different | 
					
						
							|  |  |  |         "tags": ["no-ivy-aot"], | 
					
						
							|  |  |  |     }, | 
					
						
							| 
									
										
										
										
											2020-03-09 22:17:48 -07:00
										 |  |  |     "dynamic-compiler": {"tags": ["no-ivy-aot"]}, | 
					
						
							|  |  |  |     "hello_world__closure": { | 
					
						
							| 
									
										
										
										
											2020-08-13 11:03:31 -07:00
										 |  |  |         # TODO: Re-enable the payload_size_tracking command: | 
					
						
							|  |  |  |         #   We should define ngDevMode to false in Closure, but --define only works in the global scope. | 
					
						
							|  |  |  |         #   With ngDevMode not being set to false, this size tracking test provides little value but a lot of | 
					
						
							|  |  |  |         #   headache to continue updating the size. | 
					
						
							| 
									
										
										
										
											2020-03-09 22:17:48 -07:00
										 |  |  |         "tags": ["no-ivy-aot"], | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     "hello_world__systemjs_umd": { | 
					
						
							|  |  |  |         # Special case for `hello_world__systemjs_umd` test as we want to pin | 
					
						
							|  |  |  |         # `systems` at version 0.20.2 and not link to the the root @npm//systemjs | 
					
						
							|  |  |  |         # which is stuck at 0.18.10 and can't be updated to 0.20.2 without | 
					
						
							|  |  |  |         # breaking the legacy saucelabs job. | 
					
						
							|  |  |  |         "pinned_npm_packages": ["systemjs"], | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     "i18n": {"tags": ["no-ivy-aot"]}, | 
					
						
							|  |  |  |     "injectable-def": {"tags": ["no-ivy-aot"]}, | 
					
						
							|  |  |  |     "ivy-i18n": {"tags": ["no-ivy-aot"]}, | 
					
						
							|  |  |  |     "language_service_plugin": {}, | 
					
						
							|  |  |  |     "ng_elements": {"tags": ["no-ivy-aot"]}, | 
					
						
							|  |  |  |     "ng_elements_schematics": {"tags": ["no-ivy-aot"]}, | 
					
						
							|  |  |  |     "ng_update": {}, | 
					
						
							|  |  |  |     "ng_update_migrations": {"tags": ["no-ivy-aot"]}, | 
					
						
							|  |  |  |     "ngcc": {"tags": ["no-ivy-aot"]}, | 
					
						
							|  |  |  |     "platform-server": {"tags": ["no-ivy-aot"]}, | 
					
						
							|  |  |  |     "service-worker-schema": {}, | 
					
						
							|  |  |  |     "side-effects": {"tags": ["no-ivy-aot"]}, | 
					
						
							|  |  |  |     "terser": {}, | 
					
						
							| 
									
										
										
										
											2020-05-12 08:19:59 +01:00
										 |  |  |     "typings_test_ts39": { | 
					
						
							|  |  |  |         # Special case for `typings_test_ts39` test as we want to pin | 
					
						
							|  |  |  |         # `typescript` at version 3.9.x for that test and not link to the | 
					
						
							|  |  |  |         # root @npm//typescript package. | 
					
						
							|  |  |  |         "pinned_npm_packages": ["typescript"], | 
					
						
							|  |  |  |     }, | 
					
						
							| 
									
										
										
										
											2020-02-14 17:23:49 -08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2020-02-04 11:45:40 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ | 
					
						
							|  |  |  |     angular_integration_test( | 
					
						
							| 
									
										
										
										
											2020-03-09 22:17:48 -07:00
										 |  |  |         name = test_folder, | 
					
						
							|  |  |  |         commands = INTEGRATION_TESTS[test_folder].get("commands", "default"), | 
					
						
							|  |  |  |         pinned_npm_packages = INTEGRATION_TESTS[test_folder].get("pinned_npm_packages", []), | 
					
						
							|  |  |  |         tags = INTEGRATION_TESTS[test_folder].get("tags", []), | 
					
						
							| 
									
										
										
										
											2020-02-04 11:45:40 -08:00
										 |  |  |     ) | 
					
						
							| 
									
										
										
										
											2020-02-14 17:23:49 -08:00
										 |  |  |     for test_folder in INTEGRATION_TESTS | 
					
						
							| 
									
										
										
										
											2020-02-04 11:45:40 -08:00
										 |  |  | ] |