Skip to content

Commit

Permalink
Revert "ci: remove material-unit-tests failure blocklist (angular#32138
Browse files Browse the repository at this point in the history
…)" (angular#32226)

This reverts commit 0660903 so we
can add some tests to the blocklist.

PR Close angular#32226
  • Loading branch information
kara authored and AndrewKushnir committed Aug 20, 2019
1 parent dd6070a commit 388578f
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -911,6 +911,14 @@ testing/** @angular/fw-test



# ================================================
# Material CI
# ================================================

/tools/material-ci/** @angular/fw-core @angular/framework-global-approvers



# ================================================
# Public API
# ================================================
Expand Down
4 changes: 4 additions & 0 deletions scripts/ci/run_angular_material_unit_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ cd ${MATERIAL_REPO_TMP_DIR}
# 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/

# Append the test blocklist into angular/material2's karma-test-shim.js.
# This filters out known-failing tests because the goal is to prevent regressions.
cat ${angular_dir}/tools/material-ci/angular_material_test_blocklist.js >> ./test/karma-test-shim.js

# Create a symlink for the Bazel binary installed through NPM, as running through Yarn introduces OOM errors.
./scripts/circleci/setup_bazel_binary.sh

Expand Down
20 changes: 20 additions & 0 deletions tools/material-ci/angular_material_test_blocklist.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/

/**
* Blocklist of unit tests from angular/material2 with ivy that are skipped when running on
* angular/angular. As bugs are resolved, items should be removed from this blocklist.
*
* The `notes` section should be used to keep track of specific issues associated with the failures.
*/

// clang-format off
// tslint:disable

window.testBlocklist = {};
// clang-format on
24 changes: 24 additions & 0 deletions tools/material-ci/instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
### Unit tests for Angular CDK/Material
The unit tests from angular/material2 run on CircleCI under the `material-unit-tests` job.
Known failing tests are skipped based on the blocklist in
`tools/material-ci/angular_material_test_blocklist.js`. Whenever the root cause of a known failure
is identified, the `notes` field for the corresponding tests should be updated. Whenever a failure
is resolved, the corresponding tests should be removed from the blocklist.

### Debugging
To debug a failure, you need to work against the angular/material2 repo:
1. Clone `angular/material2`
2. Checkout the `ivy-2019` branch
3. Run `yarn`
4. Run `scripts/ivy/install-angular.sh path/to/local/angular/repo`
5. Run `gulp test`

### Regenerating the blocklist
If a problem has been fixed, you can regenerate the blocklist by:
1. Clone `angular/material2`
2. Checkout the `ivy-2019` branch
3. Run `yarn`
4. Run `scripts/ivy/install-angular.sh path/to/local/angular/repo`
5. Run `gulp test`. Let it finish. It will take a few minutes.
6. Run `scripts/ivy/generate-blocklist.js path/to/local/angular/repo`
7. Copy the new blocklist from `dist/angular_material_test_blocklist.js`

0 comments on commit 388578f

Please sign in to comment.