def prepare_wpt_checkout(self): if not self._options.wpt_checkout: test_downloader = self._downloader_class(WPTPaths.checkout_directory(self._finder), self._host, self._downloader_class.default_options()) test_downloader.clone_tests() self._options.wpt_checkout = WPTPaths.wpt_checkout_path(self._finder) if not self._options.wpt_checkout or not self._host.filesystem.exists(self._options.wpt_checkout): _log.error("Valid web-platform-tests directory required") return False return True
def __init__(self, host, options, gitClass=Git, bugzillaClass=Bugzilla, WPTGitHubClass=WPTGitHub, WPTLinterClass=WPTLinter): self._host = host self._filesystem = host.filesystem self._options = options self._host.initialize_scm() self._WPTGitHubClass = WPTGitHubClass self._gitClass = gitClass self._bugzilla = bugzillaClass() self._bug_id = options.bug_id if not self._bug_id: if options.attachment_id: self._bug_id = self._bugzilla.bug_id_for_attachment_id(options.attachment_id) elif options.git_commit: self._bug_id = self._host.checkout().bug_id_for_this_commit(options.git_commit) if not self._options.repository_directory: webkit_finder = WebKitFinder(self._filesystem) self._options.repository_directory = WPTPaths.wpt_checkout_path(webkit_finder) self._linter = WPTLinterClass(self._options.repository_directory, host.filesystem) self._bugzilla_url = "https://bugs.webkit.org/show_bug.cgi?id=" + str(self._bug_id) self._commit_message = options.message if not self._commit_message: self._commit_message = 'WebKit export of ' + self._bugzilla_url if self._bug_id else 'Export made from a WebKit repository'
def __init__(self, host, test_paths, options): self.host = host self.source_directory = options.source self.options = options self.test_paths = test_paths if test_paths else [] self.filesystem = self.host.filesystem webkit_finder = WebKitFinder(self.filesystem) self._webkit_root = webkit_finder.webkit_base() self.destination_directory = webkit_finder.path_from_webkit_base("LayoutTests", options.destination) self.tests_w3c_relative_path = self.filesystem.join('imported', 'w3c') self.layout_tests_path = webkit_finder.path_from_webkit_base('LayoutTests') self.layout_tests_w3c_path = self.filesystem.join(self.layout_tests_path, self.tests_w3c_relative_path) self.tests_download_path = WPTPaths.checkout_directory(webkit_finder) self._test_downloader = None self._potential_test_resource_files = [] self.import_list = [] self._importing_downloaded_tests = self.source_directory is None self._test_resource_files_json_path = self.filesystem.join(self.layout_tests_w3c_path, "resources", "resource-files.json") self._test_resource_files = json.loads(self.filesystem.read_text_file(self._test_resource_files_json_path)) if self.filesystem.exists(self._test_resource_files_json_path) else None self._tests_options_json_path = self.filesystem.join(self.layout_tests_path, 'tests-options.json') self._tests_options = json.loads(self.filesystem.read_text_file(self._tests_options_json_path)) if self.filesystem.exists(self._tests_options_json_path) else None self._slow_tests = [] if self.options.clean_destination_directory and self._test_resource_files: self._test_resource_files["files"] = [] if self._tests_options: self.remove_slow_from_w3c_tests_options()