Changed a bunch of integration tests to use the various task assertion methods instead of directly querying the `executedTasks` and `skippedTasks` collections. These methods can give better diagnostics when the assertion fails, and can perform additional checks.
Use external repository mirrors in build (#6094) We've been bitten by external repository fluctuation for a long time. This PR makes most of tests use repository mirrors set up by ourselves via init script and system property.
There're still some tests not switching to mirrors, which would be fixed in follow-up commits.