62f4140634
Initially the blocklist has been removed because there were no remaining disabled tests that failed. Also the blocklist logic didn't work anymore because the `material-unit-tests` CI job now runs against `angular/components#master` with Bazel. 388578fec946237e24521509bd887efc243a86d9 tried to revert the removal of the blocklist in favor of a new upcoming breaking change with HammerJS, but the revert doesn't help since the blocklist still doesn't work with Bazel. In order to make the blocklist work with the unit tests running with Bazel, a PR has been submitted on the components repository. See: https://github.com/angular/components/pull/16833. This commit updates the blocklist logic on the framework side to work with the new logic on the components repo side. PR Close #32239
34 lines
1.9 KiB
Bash
Executable File
34 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -u -e -o pipefail
|
|
|
|
# This script runs unit tests from angular/material2.
|
|
|
|
# Save the dir for the root of the Angular repo.
|
|
angular_dir=$(pwd)
|
|
|
|
# Disable full template type check, as Material doesn't build cleanly with it enabled.
|
|
# See https://github.com/angular/components/pull/16373 for details.
|
|
# The "ivyTemplateTypeCheck" flag is set to True so that a minimum amount of type checking still
|
|
# occurs, at a level compatible with that of VE's type checking. This ensures Ivy's type checker
|
|
# is still tested against the Material repo, albeit in its non-strict mode.
|
|
sed -i'.bak' "s/\(_ENABLE_NG_TYPE_CHECKING = \)True/\1False/g" ${MATERIAL_REPO_TMP_DIR}/tools/defaults.bzl
|
|
sed -i'.bak' "s/\(\"ivyTemplateTypeCheck\": \)False/\1True/g" dist/packages-dist-ivy-aot/bazel/src/ng_module.bzl
|
|
|
|
# Switch into Material directory.
|
|
cd ${MATERIAL_REPO_TMP_DIR}
|
|
|
|
# Updates Material's package.json to refer to the packages-dist-ivy-aot directory.
|
|
# Note that it's not necessary to perform a yarn install, as Bazel performs its own yarn install.
|
|
node ${angular_dir}/scripts/ci/update-deps-to-dist-packages.js ${MATERIAL_REPO_TMP_DIR}/package.json ${angular_dir}/dist/packages-dist-ivy-aot/
|
|
|
|
# Copy the test blocklist into the "angular/components" repository. The components
|
|
# repository automatically picks up the blocklist and disables the specified tests.
|
|
cp ${angular_dir}/tools/material-ci/test-blocklist.ts ${MATERIAL_REPO_TMP_DIR}/test/
|
|
|
|
# Create a symlink for the Bazel binary installed through NPM, as running through Yarn introduces OOM errors.
|
|
./scripts/circleci/setup_bazel_binary.sh
|
|
|
|
# Now actually run the tests. The dev-app target is excluded as it fails to compile due to
|
|
# limitations in Ivy's type checker (see FW-1352 and FW-1433)
|
|
bazel test src/... --deleted_packages=//src/dev-app --build_tag_filters=-docs-package,-e2e,-browser:firefox-local --test_tag_filters=-e2e,-browser:firefox-local --define=compile=aot
|