package(default_visibility = ["//visibility:public"]) load("//tools:defaults.bzl", "karma_web_test") exports_files([ "LICENSE", "protractor-perf.conf.js", "karma-js.conf.js", "browser-providers.conf.js", ]) alias( name = "tsconfig.json", actual = "//packages:tsconfig-build.json", ) filegroup( name = "web_test_bootstrap_scripts", # do not sort srcs = [ "@npm//:node_modules/core-js/client/core.js", "//packages/zone.js/dist:zone.js", "//packages/zone.js/dist:zone-testing.js", "//packages/zone.js/dist:task-tracking.js", "//:test-events.js", "//:shims_for_IE.js", # Including systemjs because it defines `__eval`, which produces correct stack traces. "@npm//:node_modules/systemjs/dist/system.src.js", "@npm//:node_modules/reflect-metadata/Reflect.js", ], ) filegroup( name = "angularjs_scripts", srcs = [ # We also declare the unminfied AngularJS files since these can be used for # local debugging (e.g. see: packages/upgrade/test/common/test_helpers.ts) "@npm//:node_modules/angular/angular.js", "@npm//:node_modules/angular/angular.min.js", "@npm//:node_modules/angular-1.5/angular.js", "@npm//:node_modules/angular-1.5/angular.min.js", "@npm//:node_modules/angular-1.6/angular.js", "@npm//:node_modules/angular-1.6/angular.min.js", "@npm//:node_modules/angular-mocks/angular-mocks.js", "@npm//:node_modules/angular-mocks-1.5/angular-mocks.js", "@npm//:node_modules/angular-mocks-1.6/angular-mocks.js", ], ) # To run a karma_web_test target manually, run the "./scripts/saucelabs/run-bazel-via-tunnel.sh" # script. Note: If you are on MacOS or Windows, you need to manually start the Saucelabs tunnel # because the script only supports the linux Saucelabs tunnel binary. We combine all tests into # a single "karma_web_test" target because running them as separate targets in parallel can result # in to too many browsers being acquired at the same time. This will then result in tests being # flaky. This target runs in CI with Saucelabs and Ivy. karma_web_test( name = "saucelabs_unit_tests", # Default timeout is moderate (5min). This causes the test to be terminated while # Saucelabs browsers keep running. Ultimately resulting in failing tests and browsers # unnecessarily being acquired. Our specified Saucelabs idle timeout is 10min, so we use # Bazel's long timeout (15min). This ensures that Karma can shut down properly. timeout = "long", tags = [ "local", "manual", "saucelabs", ], deps = [ "//packages/core/test/acceptance:acceptance_lib", ], ) karma_web_test( # This target runs in CI with View Engine as a Saucelabs and Bazel proof-of-concept. It's a # subset of the legacy saucelabs tests. name = "saucelabs_unit_tests_poc", # Default timeout is moderate (5min). This causes the test to be terminated while # Saucelabs browsers keep running. Ultimately resulting in failing tests and browsers # unnecessarily being acquired. Our specified Saucelabs idle timeout is 10min, so we use # Bazel's long timeout (15min). This ensures that Karma can shut down properly. timeout = "long", tags = [ "local", "manual", "saucelabs", ], deps = [ # We combine all tests into a single karma_web_test target # as running them as separate targets in parallel leads to too many # browsers being acquired at once in SauceLabs and the tests flake out # TODO: this is an example subset of tests below, add all remaining angular tests "//packages/common/http/test:test_lib", "//packages/common/http/testing/test:test_lib", "//packages/common/test:test_lib", "//packages/core/test:test_lib", "//packages/forms/test:test_lib", "//packages/http/test:test_lib", "//packages/zone.js/test:karma_jasmine_test_ci", # "//packages/router/test:test_lib", # //packages/router/test:test_lib fails with: # IE 11.0.0 (Windows 8.1.0.0) bootstrap should restore the scrolling position FAILED # Expected undefined to equal 5000. # at stack (eval code:2338:11) # at buildExpectationResult (eval code:2305:5) # at expectationResultFactory (eval code:858:11) # at Spec.prototype.addExpectationResult (eval code:487:5) # at addExpectationResult (eval code:802:9) # at Anonymous function (eval code:2252:7) # at Anonymous function (eval code:339:25) # at step (eval code:133:17) # at Anonymous function (eval code:114:50) # at fulfilled (eval code:104:47) ], )