| Index: third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_tests_mover.py
|
| diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_tests_mover.py b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_tests_mover.py
|
| index 1cfd7e32bc85470b423a1680420524a8e7cdfe06..2f9cbf2079efe7a2dfae72f3098aba905a79f791 100644
|
| --- a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_tests_mover.py
|
| +++ b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_tests_mover.py
|
| @@ -25,7 +25,6 @@
|
| # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| -
|
| """Moves a directory of LayoutTests.
|
|
|
| Given a path to a directory of LayoutTests, moves that directory, including all recursive children,
|
| @@ -56,15 +55,14 @@ from webkitpy.common.system.filesystem import FileSystem
|
| from webkitpy.layout_tests.port.base import Port
|
| from webkitpy.layout_tests.models.test_expectations import TestExpectations
|
|
|
| -
|
| logging.basicConfig()
|
| _log = logging.getLogger(__name__)
|
| _log.setLevel(logging.INFO)
|
|
|
| PLATFORM_DIRECTORY = 'platform'
|
|
|
| -class LayoutTestsMover(object):
|
|
|
| +class LayoutTestsMover(object):
|
| def __init__(self, port=None):
|
| self._port = port
|
| if not self._port:
|
| @@ -109,8 +107,9 @@ class LayoutTestsMover(object):
|
| if self._filesystem.isdir(self._absolute_destination):
|
| for file_path in self._filesystem.listdir(self._absolute_origin):
|
| if self._filesystem.exists(self._filesystem.join(self._absolute_destination, file_path)):
|
| - raise Exception('Origin path %s clashes with existing destination path %s' %
|
| - (self._filesystem.join(self._origin, file_path), self._filesystem.join(self._destination, file_path)))
|
| + raise Exception(
|
| + 'Origin path %s clashes with existing destination path %s' %
|
| + (self._filesystem.join(self._origin, file_path), self._filesystem.join(self._destination, file_path)))
|
|
|
| def _get_expectations_for_test(self, model, test_path):
|
| """Given a TestExpectationsModel object, finds all expectations that match the specified
|
| @@ -134,9 +133,12 @@ class LayoutTestsMover(object):
|
| specified relative path.
|
| """
|
| expectations = set()
|
| - for test in self._filesystem.files_under(self._filesystem.join(self._layout_tests_root, path), dirs_to_skip=['script-tests', 'resources'],
|
| - file_filter=Port.is_test_file):
|
| - expectations = expectations.union(self._get_expectations_for_test(model, self._filesystem.relpath(test, self._layout_tests_root)))
|
| + for test in self._filesystem.files_under(
|
| + self._filesystem.join(self._layout_tests_root, path),
|
| + dirs_to_skip=['script-tests', 'resources'],
|
| + file_filter=Port.is_test_file):
|
| + expectations = expectations.union(self._get_expectations_for_test(model, self._filesystem.relpath(
|
| + test, self._layout_tests_root)))
|
| return expectations
|
|
|
| @staticmethod
|
| @@ -178,7 +180,8 @@ class LayoutTestsMover(object):
|
|
|
| expectations_file = self._port.path_to_generic_test_expectations_file()
|
| self._filesystem.write_text_file(expectations_file,
|
| - TestExpectations.list_to_string(test_expectations._expectations, reconstitute_only_these=[]))
|
| + TestExpectations.list_to_string(test_expectations._expectations,
|
| + reconstitute_only_these=[]))
|
| self._scm.add(self._filesystem.relpath(expectations_file, self._scm.checkout_root))
|
|
|
| def _find_references(self, input_files):
|
| @@ -211,7 +214,7 @@ class LayoutTestsMover(object):
|
| # bar/ is moved to baz/, because the reference is always normalized to 'script.js'.
|
| absolute_reference = self._filesystem.normpath(self._filesystem.join(root, reference))
|
| if self._is_child_path(self._absolute_origin, root) == self._is_child_path(self._absolute_origin, absolute_reference):
|
| - return None;
|
| + return None
|
|
|
| new_root = self._move_path(root, self._absolute_origin, self._absolute_destination)
|
| new_absolute_reference = self._move_path(absolute_reference, self._absolute_origin, self._absolute_destination)
|
| @@ -253,7 +256,8 @@ class LayoutTestsMover(object):
|
| def is_test_source_file(filesystem, dirname, basename):
|
| pass_regex = re.compile(r'\.(css|js)$')
|
| fail_regex = re.compile(r'-expected\.')
|
| - return (Port.is_test_file(filesystem, dirname, basename) or pass_regex.search(basename)) and not fail_regex.search(basename)
|
| + return (Port.is_test_file(filesystem, dirname, basename) or
|
| + pass_regex.search(basename)) and not fail_regex.search(basename)
|
|
|
| test_source_files = self._filesystem.files_under(self._layout_tests_root, file_filter=is_test_source_file)
|
| _log.info('Considering %s test source files for references' % len(test_source_files))
|
| @@ -290,8 +294,9 @@ class LayoutTestsMover(object):
|
| """
|
| self._move_directory(self._origin, self._destination)
|
| for directory in self._filesystem.listdir(self._filesystem.join(self._layout_tests_root, PLATFORM_DIRECTORY)):
|
| - self._move_directory(self._filesystem.join(PLATFORM_DIRECTORY, directory, self._origin),
|
| - self._filesystem.join(PLATFORM_DIRECTORY, directory, self._destination))
|
| + self._move_directory(
|
| + self._filesystem.join(PLATFORM_DIRECTORY, directory, self._origin),
|
| + self._filesystem.join(PLATFORM_DIRECTORY, directory, self._destination))
|
|
|
| def _commit_changes(self):
|
| if not self._scm.supports_local_commits():
|
| @@ -313,10 +318,10 @@ class LayoutTestsMover(object):
|
| # FIXME: Handle virtual test suites.
|
| self._commit_changes()
|
|
|
| +
|
| def main(argv):
|
| parser = optparse.OptionParser(description=__doc__)
|
| - parser.add_option('--origin',
|
| - help=('The directory of tests to move, as a relative path from the LayoutTests directory.'))
|
| + parser.add_option('--origin', help=('The directory of tests to move, as a relative path from the LayoutTests directory.'))
|
| parser.add_option('--destination',
|
| help=('The new path for the directory of tests, as a relative path from the LayoutTests directory.'))
|
| options, _ = parser.parse_args()
|
|
|