| OLD | NEW |
| 1 # Copyright (C) 2010 Google Inc. All rights reserved. | 1 # Copyright (C) 2010 Google Inc. All rights reserved. |
| 2 # | 2 # |
| 3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
| 4 # modification, are permitted provided that the following conditions are | 4 # modification, are permitted provided that the following conditions are |
| 5 # met: | 5 # met: |
| 6 # | 6 # |
| 7 # * Redistributions of source code must retain the above copyright | 7 # * Redistributions of source code must retain the above copyright |
| 8 # notice, this list of conditions and the following disclaimer. | 8 # notice, this list of conditions and the following disclaimer. |
| 9 # * Redistributions in binary form must reproduce the above | 9 # * Redistributions in binary form must reproduce the above |
| 10 # copyright notice, this list of conditions and the following disclaimer | 10 # copyright notice, this list of conditions and the following disclaimer |
| (...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 654 """Returns a list of expectation (== or !=) and filename pairs""" | 654 """Returns a list of expectation (== or !=) and filename pairs""" |
| 655 | 655 |
| 656 # Try to extract information from reftest.list. | 656 # Try to extract information from reftest.list. |
| 657 reftest_list = self._get_reftest_list(test_name) | 657 reftest_list = self._get_reftest_list(test_name) |
| 658 if reftest_list: | 658 if reftest_list: |
| 659 return reftest_list.get(self._filesystem.join(self.layout_tests_dir(
), test_name), []) | 659 return reftest_list.get(self._filesystem.join(self.layout_tests_dir(
), test_name), []) |
| 660 | 660 |
| 661 # Try to find -expected.* or -expected-mismatch.* in the same directory. | 661 # Try to find -expected.* or -expected-mismatch.* in the same directory. |
| 662 reftest_list = [] | 662 reftest_list = [] |
| 663 for expectation, prefix in (('==', ''), ('!=', '-mismatch')): | 663 for expectation, prefix in (('==', ''), ('!=', '-mismatch')): |
| 664 for extension in Port._supported_file_extensions: | 664 for extension in Port.supported_file_extensions: |
| 665 path = self.expected_filename(test_name, prefix + extension) | 665 path = self.expected_filename(test_name, prefix + extension) |
| 666 if self._filesystem.exists(path): | 666 if self._filesystem.exists(path): |
| 667 reftest_list.append((expectation, path)) | 667 reftest_list.append((expectation, path)) |
| 668 if reftest_list: | 668 if reftest_list: |
| 669 return reftest_list | 669 return reftest_list |
| 670 | 670 |
| 671 # Try to extract information from MANIFEST.json. | 671 # Try to extract information from MANIFEST.json. |
| 672 match = re.match(r'external/wpt/(.*)', test_name) | 672 match = re.match(r'external/wpt/(.*)', test_name) |
| 673 if not match: | 673 if not match: |
| 674 return [] | 674 return [] |
| (...skipping 14 matching lines...) Expand all Loading... |
| 689 tests.extend(self._all_virtual_tests(suites)) | 689 tests.extend(self._all_virtual_tests(suites)) |
| 690 return tests | 690 return tests |
| 691 | 691 |
| 692 def real_tests(self, paths): | 692 def real_tests(self, paths): |
| 693 # When collecting test cases, skip these directories. | 693 # When collecting test cases, skip these directories. |
| 694 skipped_directories = set(['.svn', '_svn', 'platform', 'resources', 'sup
port', 'script-tests', 'reference', 'reftest']) | 694 skipped_directories = set(['.svn', '_svn', 'platform', 'resources', 'sup
port', 'script-tests', 'reference', 'reftest']) |
| 695 files = find_files.find(self._filesystem, self.layout_tests_dir(), paths
, | 695 files = find_files.find(self._filesystem, self.layout_tests_dir(), paths
, |
| 696 skipped_directories, functools.partial(Port.is_t
est_file, self), self.test_key) | 696 skipped_directories, functools.partial(Port.is_t
est_file, self), self.test_key) |
| 697 return self._convert_wpt_file_paths_to_url_paths([self.relative_test_fil
ename(f) for f in files]) | 697 return self._convert_wpt_file_paths_to_url_paths([self.relative_test_fil
ename(f) for f in files]) |
| 698 | 698 |
| 699 # When collecting test cases, we include any file with these extensions. | |
| 700 _supported_file_extensions = set(['.html', '.xml', '.xhtml', '.xht', '.pl', | |
| 701 '.htm', '.php', '.svg', '.mht', '.pdf']) | |
| 702 | |
| 703 @staticmethod | 699 @staticmethod |
| 704 # If any changes are made here be sure to update the isUsedInReftest method
in old-run-webkit-tests as well. | 700 # If any changes are made here be sure to update the isUsedInReftest method
in old-run-webkit-tests as well. |
| 705 def is_reference_html_file(filesystem, dirname, filename): | 701 def is_reference_html_file(filesystem, dirname, filename): |
| 706 if filename.startswith('ref-') or filename.startswith('notref-'): | 702 if filename.startswith('ref-') or filename.startswith('notref-'): |
| 707 return True | 703 return True |
| 708 filename_without_ext, _ = filesystem.splitext(filename) | 704 filename_without_ext, _ = filesystem.splitext(filename) |
| 709 for suffix in ['-expected', '-expected-mismatch', '-ref', '-notref']: | 705 for suffix in ['-expected', '-expected-mismatch', '-ref', '-notref']: |
| 710 if filename_without_ext.endswith(suffix): | 706 if filename_without_ext.endswith(suffix): |
| 711 return True | 707 return True |
| 712 return False | 708 return False |
| 713 | 709 |
| 710 # When collecting test cases, we include any file with these extensions. |
| 711 supported_file_extensions = set([ |
| 712 '.html', '.xml', '.xhtml', '.xht', '.pl', |
| 713 '.htm', '.php', '.svg', '.mht', '.pdf', |
| 714 ]) |
| 715 |
| 714 @staticmethod | 716 @staticmethod |
| 715 def _has_supported_extension(filesystem, filename): | 717 def _has_supported_extension(filesystem, filename): |
| 716 """Returns True if filename is one of the file extensions we want to run
a test on.""" | 718 """Returns True if filename is one of the file extensions we want to run
a test on.""" |
| 717 extension = filesystem.splitext(filename)[1] | 719 extension = filesystem.splitext(filename)[1] |
| 718 return extension in Port._supported_file_extensions | 720 return extension in Port.supported_file_extensions |
| 719 | 721 |
| 720 def is_test_file(self, filesystem, dirname, filename): | 722 def is_test_file(self, filesystem, dirname, filename): |
| 721 match = re.search(r'[/\\]external[/\\]wpt([/\\].*)?$', dirname) | 723 match = re.search(r'[/\\]external[/\\]wpt([/\\].*)?$', dirname) |
| 722 if match: | 724 if match: |
| 723 if match.group(1): | 725 if match.group(1): |
| 724 path_in_wpt = match.group(1)[1:].replace('\\', '/') + '/' + file
name | 726 path_in_wpt = match.group(1)[1:].replace('\\', '/') + '/' + file
name |
| 725 else: | 727 else: |
| 726 path_in_wpt = filename | 728 path_in_wpt = filename |
| 727 return self._wpt_manifest().is_test_file(path_in_wpt) | 729 return self._wpt_manifest().is_test_file(path_in_wpt) |
| 728 if 'inspector-unit' in dirname: | 730 if 'inspector-unit' in dirname: |
| (...skipping 906 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1635 | 1637 |
| 1636 def __init__(self, base, args, reference_args=None): | 1638 def __init__(self, base, args, reference_args=None): |
| 1637 self.name = base | 1639 self.name = base |
| 1638 self.base = base | 1640 self.base = base |
| 1639 self.args = args | 1641 self.args = args |
| 1640 self.reference_args = args if reference_args is None else reference_args | 1642 self.reference_args = args if reference_args is None else reference_args |
| 1641 self.tests = set() | 1643 self.tests = set() |
| 1642 | 1644 |
| 1643 def __repr__(self): | 1645 def __repr__(self): |
| 1644 return "PhysicalTestSuite('%s', '%s', %s, %s)" % (self.name, self.base,
self.args, self.reference_args) | 1646 return "PhysicalTestSuite('%s', '%s', %s, %s)" % (self.name, self.base,
self.args, self.reference_args) |
| OLD | NEW |