Use a JSON file to define which WPT files/folders to import
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Feb 2017 16:14:56 +0000 (16:14 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Feb 2017 16:14:56 +0000 (16:14 +0000)
https://bugs.webkit.org/show_bug.cgi?id=167923

Patch by Youenn Fablet <youenn@apple.com> on 2017-02-07
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

* resources/ImportExpectations: Removed.
* resources/import-expectations.json: Added.

Tools:

* Scripts/webkitpy/w3c/test_downloader.py:
(TestDownloader.__init__):
(TestDownloader._init_paths_from_expectations):
* Scripts/webkitpy/w3c/test_importer.py:
(parse_args):
* Scripts/webkitpy/w3c/test_importer_unittest.py:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@211811 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/resources/ImportExpectations [deleted file]
LayoutTests/imported/w3c/resources/import-expectations.json [new file with mode: 0644]
Tools/ChangeLog
Tools/Scripts/webkitpy/w3c/test_downloader.py
Tools/Scripts/webkitpy/w3c/test_importer.py
Tools/Scripts/webkitpy/w3c/test_importer_unittest.py

index ee8f750..c63fd3a 100644 (file)
@@ -1,3 +1,13 @@
+2017-02-07  Youenn Fablet  <youenn@apple.com>
+
+        Use a JSON file to define which WPT files/folders to import
+        https://bugs.webkit.org/show_bug.cgi?id=167923
+
+        Reviewed by Alex Christensen.
+
+        * resources/ImportExpectations: Removed.
+        * resources/import-expectations.json: Added.
+
 2017-02-07  Chris Dumez  <cdumez@apple.com>
 
         Object.preventExtensions() on a Location object should throw a TypeError
diff --git a/LayoutTests/imported/w3c/resources/ImportExpectations b/LayoutTests/imported/w3c/resources/ImportExpectations
deleted file mode 100644 (file)
index 90ca7ba..0000000
+++ /dev/null
@@ -1,301 +0,0 @@
-csswg-test/compositing-1 [ Skip ]
-csswg-test/css-align-3 [ Skip ]
-csswg-test/css-animations-1 [ Skip ]
-csswg-test/css-backgrounds-3 [ Skip ]
-csswg-test/css-box-3 [ Skip ]
-csswg-test/css-break-3 [ Skip ]
-csswg-test/css-cascade-3 [ Skip ]
-csswg-test/css-color-3 [ Skip ]
-csswg-test/css-color-4 [ Skip ]
-csswg-test/css-conditional-3 [ Skip ]
-csswg-test/css-counter-styles-3 [ Skip ]
-csswg-test/css-exclusions-1 [ Skip ]
-csswg-test/css-flexbox-1 [ Skip ]
-csswg-test/css-fonts-3 [ Skip ]
-csswg-test/css-gcpm-3 [ Skip ]
-csswg-test/css-grid-1 [ Skip ]
-csswg-test/css-images-3 [ Skip ]
-csswg-test/css-lists-3 [ Skip ]
-csswg-test/css-masking-1 [ Skip ]
-csswg-test/css-multicol-1 [ Skip ]
-csswg-test/css-namespaces-1 [ Skip ]
-csswg-test/css-namespaces-3 [ Skip ]
-csswg-test/css-page-3 [ Skip ]
-csswg-test/css-pseudo-4 [ Skip ]
-csswg-test/css-regions-1 [ Skip ]
-csswg-test/css-round-display [ Skip]
-csswg-test/css-ruby-1 [ Skip ]
-csswg-test/css-snap-size-1 [ Skip]
-#csswg-test/css-scoping1 [ Pass ]
-csswg-test/css-shapes-1 [ Skip ]
-csswg-test/css-speech-1 [ Skip ]
-csswg-test/css-style-attr-1 [ Skip ]
-csswg-test/css-syntax-3 [ Skip ]
-csswg-test/css-tables-3 [ Skip ]
-csswg-test/css-text-3 [ Skip ]
-csswg-test/css-text-decor-3 [ Skip ]
-csswg-test/css-transforms-1 [ Skip ]
-csswg-test/css-transitions-1 [ Skip ]
-csswg-test/css-transitions-2 [ Skip ]
-csswg-test/css-ui-3 [ Skip ]
-csswg-test/css-values-3 [ Skip ]
-csswg-test/css-variables-1 [ Skip ]
-csswg-test/css-writing-modes-3 [ Skip ]
-csswg-test/css1 [ Skip ]
-csswg-test/css21 [ Skip ]
-csswg-test/cssom-1 [ Skip ]
-csswg-test/cssom-view-1 [ Skip ]
-csswg-test/filters-1 [ Skip ]
-csswg-test/fonts [ Skip ]
-csswg-test/geometry-1 [ Skip ]
-csswg-test/mediaqueries-3 [ Skip ]
-csswg-test/reference [ Skip ]
-csswg-test/selectors-3 [ Skip ]
-csswg-test/selectors-4 [ Skip ]
-csswg-test/vendor-imports [ Skip ]
-
-web-platform-tests/2dcontext [ Skip ]
-web-platform-tests/2dcontext/transformations/canvas_transformations_reset_001.html [ Pass ]
-web-platform-tests/2dcontext/transformations/canvas_transformations_reset_001-ref.html [ Pass ]
-web-platform-tests/DOMEvents [ Skip ]
-web-platform-tests/DOM-parsing [ Skip ]
-web-platform-tests/FileAPI [ Skip ]
-#web-platform-tests/IndexedDB [ Pass ]
-web-platform-tests/WebCryptoAPI [ Skip ]
-#web-platform-tests/WebIDL [ Pass ]
-web-platform-tests/WebIDL/invalid [ Skip ]
-web-platform-tests/WebIDL/valid [ SKip ]
-#web-platform-tests/XMLHttpRequest [ Pass ]
-web-platform-tests/XMLHttpRequest/abort-after-stop.htm [ Skip ]
-web-platform-tests/XMLHttpRequest/event-error-order.sub.html [ Skip ]
-web-platform-tests/XMLHttpRequest/event-error.html [ Skip ]
-web-platform-tests/XMLHttpRequest/event-timeout-order.htm [ Skip ]
-web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.sub.htm [ Skip ]
-web-platform-tests/XMLHttpRequest/open-url-worker-origin.htm [ Skip ]
-web-platform-tests/XMLHttpRequest/preserve-ua-header-on-redirect.htm [ Skip ]
-web-platform-tests/XMLHttpRequest/send-after-setting-document-domain.htm [ Skip ]
-web-platform-tests/XMLHttpRequest/send-authentication-basic.htm [ Skip ]
-web-platform-tests/XMLHttpRequest/send-authentication-basic-cors.htm [ Skip ]
-web-platform-tests/XMLHttpRequest/send-authentication-basic-cors-not-enabled.htm [ Skip ]
-web-platform-tests/XMLHttpRequest/send-authentication-basic-repeat-no-args.htm [ Skip ]
-web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader-existing-session.htm [ Skip ]
-web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader.htm [ Skip ]
-web-platform-tests/XMLHttpRequest/send-authentication-competing-names-passwords.htm [ Skip ]
-web-platform-tests/XMLHttpRequest/send-entity-body-basic.htm [ Skip ]
-web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub.htm [ Skip ]
-web-platform-tests/accelerometer [ Skip ]
-web-platform-tests/ambient-light [ Skip ]
-web-platform-tests/annotation-model [ Skip ]
-web-platform-tests/annotation-protocol [ Skip ]
-web-platform-tests/annotation-vocab [ Skip ]
-web-platform-tests/animation-timing [ Skip ]
-web-platform-tests/app-uri [ Skip ]
-web-platform-tests/auxclick [ Skip ]
-web-platform-tests/battery-status [ Skip ]
-web-platform-tests/bluetooth [ Skip ]
-web-platform-tests/browser-payment-api [ Skip ]
-web-platform-tests/clear-site-data [ Skip ]
-web-platform-tests/compat [ Skip ]
-web-platform-tests/console [Skip]
-web-platform-tests/content-security-policy [ Skip ]
-web-platform-tests/cookies [Skip]
-web-platform-tests/cors [ Skip ]
-web-platform-tests/css-values [ Skip ]
-#web-platform-tests/custom-elements [ Pass ]
-web-platform-tests/custom-elements/v0 [ Skip ]
-web-platform-tests/cssom [ Skip ]
-web-platform-tests/cssom-view [ Skip ]
-#web-platform-tests/dom [ Pass ]
-web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.html [ Skip ]
-web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.svg [ Skip ]
-web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xhtml [ Skip ]
-web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xml [ Skip ]
-web-platform-tests/dom/nodes/Document-createProcessingInstruction.xhtml [ Skip ]
-web-platform-tests/dom/nodes/Document-getElementsByTagName.xhtml [ Skip ]
-web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-svg.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-nextElementSibling-svg.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-lastElementChild-svg.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-firstElementChild-svg.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-childElement-null-svg.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-childElementCount-nochild-svg.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-childElementCount-svg.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-siblingElement-null-svg.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-svg.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-firstElementChild-namespace-svg.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-previousElementSibling-svg.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-childElement-null.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-childElement-null.xhtml [ Skip ]
-web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove.xhtml [ Skip ]
-web-platform-tests/dom/nodes/Element-childElementCount-nochild.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-childElementCount.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-childElementCount.xhtml [ Skip ]
-web-platform-tests/dom/nodes/Element-firstElementChild-entity.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-firstElementChild-entity.xhtml [ Skip ]
-web-platform-tests/dom/nodes/Element-firstElementChild-namespace.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-firstElementChild-namespace.xhtml [ Skip ]
-web-platform-tests/dom/nodes/Element-firstElementChild.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-lastElementChild.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-lastElementChild.xhtml [ Skip ]
-web-platform-tests/dom/nodes/Element-nextElementSibling.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-previousElementSibling.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-siblingElement-null.svg [ Skip ]
-web-platform-tests/dom/nodes/Element-siblingElement-null.xhtml [ Skip ]
-web-platform-tests/dom/nodes/Node-nodeName.xhtml [ Skip ]
-web-platform-tests/dom/nodes/ParentNode-querySelector-All.xht [ Skip ]
-web-platform-tests/dom/traversal/unfinished [ Skip ]
-#web-platform-tests/domparsing [ Pass ]
-web-platform-tests/dpub-aam [ Skip ]
-web-platform-tests/dpub-aria [ Skip ]
-web-platform-tests/generic-sensor [ Skip ]
-web-platform-tests/domparsing/DOMParser-parseFromString-xml.html [ Skip ]
-web-platform-tests/domparsing/XMLSerializer-serializeToString.html [ Skip ]
-web-platform-tests/domparsing/DOMParser-parseFromString-xml-doctype.html [ Skip ]
-web-platform-tests/domparsing/innerhtml-02.html [ Skip ]
-web-platform-tests/domparsing/insert_adjacent_html-xhtml.xhtml [ Skip ]
-web-platform-tests/domparsing/style_attribute_html.html [ Skip ]
-web-platform-tests/domxpath [ Skip ]
-web-platform-tests/editing [ Skip ]
-web-platform-tests/encoding [ Skip ]
-#web-platform-tests/encrypted-media [ Pass ]
-web-platform-tests/encrypted-media/Google [ Skip ]
-web-platform-tests/eventsource [ Skip ]
-web-platform-tests/ext-xhtml-pubid [ Skip ]
-#web-platform-tests/fetch [ Pass ]
-web-platform-tests/fullscreen [ Skip ]
-web-platform-tests/gamepad [ Skip ]
-web-platform-tests/geolocation-API [ Skip ]
-web-platform-tests/gyroscope [ Skip ]
-#web-platform-tests/hr-time [ Pass ]
-#web-platform-tests/html [ Pass ]
-web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name.html [ Skip ]
-web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin_2.html [ Skip ]
-web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin_3.html [ Skip ]
-web-platform-tests/html/browsers/history/joint-session-history [ Skip ]
-web-platform-tests/html/browsers/history/the-history-interface/001.html [ Skip ]
-web-platform-tests/html/browsers/history/the-history-interface/002.html [ Skip ]
-web-platform-tests/html/browsers/history/the-history-interface/combination_history_002.html [ Skip ]
-web-platform-tests/html/browsers/history/the-history-interface/combination_history_003.html [ Skip ]
-web-platform-tests/html/browsers/history/the-history-interface/traverse_the_history_3.html [ Skip ]
-web-platform-tests/html/browsers/history/the-location-interface/assign_after_load.html [ Skip ]
-web-platform-tests/html/browsers/history/the-location-interface/assign_before_load.html [ Skip ]
-web-platform-tests/html/browsers/history/the-location-interface/location_assign.html [ Skip ]
-web-platform-tests/html/browsers/offline/application-cache-api [ Skip ]
-web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.sub.html [ Skip ]
-web-platform-tests/html/browsers/sandboxing [ Skip ]
-web-platform-tests/html/browsers/windows/browsing-context-first-created.xhtml [ Skip ]
-web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.html [ Skip ]
-web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.html [ Skip ]
-web-platform-tests/html/dom/documents/dom-tree-accessors/Document.currentScript.sub.html [ Skip ]
-web-platform-tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters [ Skip ]
-web-platform-tests/html/dom/reflection-original.html [ Skip ] # Not a test file
-web-platform-tests/html/editing [ Skip ]
-web-platform-tests/html/iana [ Skip ]
-web-platform-tests/html/infrastructure [ Skip ]
-web-platform-tests/html/obsolete [ Skip ]
-web-platform-tests/presentation-api [Skip]
-web-platform-tests/html/rendering [ Skip ]
-web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/ [ Skip ]
-web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh [ Pass ]
-web-platform-tests/html/semantics/embedded-content-0 [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/error-codes [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors [ Skip ]
-web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-04.html [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/audio_loop_base.html [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/error-codes [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/currentSrc.html [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/networkState_during_progress.html [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/offsets-into-the-media-resource/currentTime.html [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-remove-from-document-networkState.html [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/play-in-detached-document.html [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay.html [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-currentTime.html [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-max-value.htm [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-negative-time.htm [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/synchronising-multiple-media-elements/media-controllers/task-source.html [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cloneNode.html [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors [ Skip ]
-web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base.html [ Skip ]
-web-platform-tests/html/semantics/embedded-content/the-area-element/area_nohref.xhtml [ Skip ]
-web-platform-tests/html/semantics/embedded-content/the-area-element/test-area.xhtml [ Skip ]
-web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html [ Skip ]
-web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-image-data [ Skip ]
-web-platform-tests/html/semantics/embedded-content/the-object-element/object-events.html [ Skip ]
-web-platform-tests/html/semantics/forms/textfieldselection/select-event.html [ Skip ]
-web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html [ Skip ]
-web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html [ Skip ]
-web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements [ Skip ]
-web-platform-tests/html/semantics/scripting-1/the-script-element/script-for-event.xhtml [ Skip ]
-web-platform-tests/html/semantics/scripting-1/the-script-element/script-text.xhtml [ Skip ]
-web-platform-tests/html/semantics/text-level-semantics/the-data-element [ Skip ]
-web-platform-tests/html/the-xhtml-syntax [ Skip ]
-web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents [ Pass ]
-#web-platform-tests/html/syntax [ Pass ]
-web-platform-tests/html/tools [ Skip ]
-#web-platform-tests/html/webappapis [ Pass ]
-web-platform-tests/html/webappapis/idle-callbacks [ Skip ]
-web-platform-tests/html/webappapis/scripting/event-loops/microtask_after_raf.html [ Skip ]
-web-platform-tests/html-imports [ Skip ]
-web-platform-tests/html-longdesc [ Skip ]
-web-platform-tests/html-media-capture [ Skip ]
-web-platform-tests/http [ Skip ]
-web-platform-tests/imagebitmap-renderingcontext [ Skip ]
-web-platform-tests/infrastructure [ Skip ]
-#web-platform-tests/innerText [ Pass ]
-web-platform-tests/input-events [ Skip ]
-web-platform-tests/js [ Skip ]
-web-platform-tests/magnetometer [ Skip ]
-web-platform-tests/mathml [ Skip ]
-web-platform-tests/mediacapture-record [ Skip ]
-web-platform-tests/mediacapture-streams [ Skip ]
-web-platform-tests/microdata [ Skip ]
-web-platform-tests/mixed-content [ Skip ]
-web-platform-tests/navigation-timing [ Skip ]
-web-platform-tests/notifications [ Skip ]
-web-platform-tests/offscreen-canvas [ Skip ]
-web-platform-tests/old-tests [ Skip ]
-web-platform-tests/orientation-event [ Skip ]
-web-platform-tests/page-visibility [ Skip ]
-web-platform-tests/payment-request [ Skip ]
-web-platform-tests/performance-timeline [ Skip ]
-web-platform-tests/pointerevents [ Skip ]
-web-platform-tests/pointerlock [ Skip ]
-web-platform-tests/preload [ Skip ]
-web-platform-tests/progress-events [ Skip ]
-web-platform-tests/proximity [ Skip ]
-web-platform-tests/quirks-mode [ Skip ]
-web-platform-tests/referrer-policy [ Skip ]
-#web-platform-tests/resource-timing [ Pass ]
-web-platform-tests/screen-orientation [ Skip ]
-web-platform-tests/secure-contexts [ Skip ]
-web-platform-tests/selection [ Skip ]
-web-platform-tests/selectors [ Skip ]
-web-platform-tests/selectors-api [ Skip ]
-web-platform-tests/service-workers [ Skip ]
-#web-platform-tests/shadow-dom [ Pass ]
-web-platform-tests/shadow-dom/untriaged [ Skip ]
-web-platform-tests/subresource-integrity [ Skip ]
-web-platform-tests/svg [ Skip ]
-web-platform-tests/testharness_runner.html [ Skip ]
-#web-platform-tests/touch-events [ Pass ]
-web-platform-tests/typedarrays [ Skip ]
-web-platform-tests/uievents [ Skip ]
-web-platform-tests/upgrade-insecure-requests [ Skip ]
-#web-platform-tests/url [ Pass ]
-#web-platform-tests/user-timing [ Pass ]
-web-platform-tests/vibration [ Skip ]
-web-platform-tests/wai-aria [ Skip ]
-web-platform-tests/web-animations [ Skip ]
-web-platform-tests/webaudio [ Skip ]
-web-platform-tests/webauthn [ Skip ]
-web-platform-tests/webdriver [ Skip ]
-web-platform-tests/webgl [ Skip ]
-web-platform-tests/webmessaging [ Skip ]
-#web-platform-tests/webrtc [ Pass ]
-web-platform-tests/websockets [ Skip ]
-web-platform-tests/webstorage [ Skip ]
-web-platform-tests/webvr [ SKip ]
-web-platform-tests/webvtt [ Skip ]
-web-platform-tests/workers [ Skip ]
diff --git a/LayoutTests/imported/w3c/resources/import-expectations.json b/LayoutTests/imported/w3c/resources/import-expectations.json
new file mode 100644 (file)
index 0000000..dfdfc74
--- /dev/null
@@ -0,0 +1,302 @@
+[
+["csswg-test/compositing-1", "skip"],
+["csswg-test/css-align-3", "skip"],
+["csswg-test/css-animations-1", "skip"],
+["csswg-test/css-backgrounds-3", "skip"],
+["csswg-test/css-box-3", "skip"],
+["csswg-test/css-break-3", "skip"],
+["csswg-test/css-cascade-3", "skip"],
+["csswg-test/css-color-3", "skip"],
+["csswg-test/css-color-4", "skip"],
+["csswg-test/css-conditional-3", "skip"],
+["csswg-test/css-counter-styles-3", "skip"],
+["csswg-test/css-exclusions-1", "skip"],
+["csswg-test/css-flexbox-1", "skip"],
+["csswg-test/css-fonts-3", "skip"],
+["csswg-test/css-gcpm-3", "skip"],
+["csswg-test/css-grid-1", "skip"],
+["csswg-test/css-images-3", "skip"],
+["csswg-test/css-lists-3", "skip"],
+["csswg-test/css-masking-1", "skip"],
+["csswg-test/css-multicol-1", "skip"],
+["csswg-test/css-namespaces-1", "skip"],
+["csswg-test/css-namespaces-3", "skip"],
+["csswg-test/css-page-3", "skip"],
+["csswg-test/css-pseudo-4", "skip"],
+["csswg-test/css-regions-1", "skip"],
+["csswg-test/css-round-display", "skip"],
+["csswg-test/css-ruby-1", "skip"],
+["csswg-test/css-snap-size-1", "skip"],
+["csswg-test/css-scoping1", "import"],
+["csswg-test/css-shapes-1", "skip"],
+["csswg-test/css-speech-1", "skip"],
+["csswg-test/css-style-attr-1", "skip"],
+["csswg-test/css-syntax-3", "skip"],
+["csswg-test/css-tables-3", "skip"],
+["csswg-test/css-text-3", "skip"],
+["csswg-test/css-text-decor-3", "skip"],
+["csswg-test/css-transforms-1", "skip"],
+["csswg-test/css-transitions-1", "skip"],
+["csswg-test/css-transitions-2", "skip"],
+["csswg-test/css-ui-3", "skip"],
+["csswg-test/css-values-3", "skip"],
+["csswg-test/css-variables-1", "skip"],
+["csswg-test/css-writing-modes-3", "skip"],
+["csswg-test/css1", "skip"],
+["csswg-test/css21", "skip"],
+["csswg-test/cssom-1", "skip"],
+["csswg-test/cssom-view-1", "skip"],
+["csswg-test/filters-1", "skip"],
+["csswg-test/fonts", "skip"],
+["csswg-test/geometry-1", "skip"],
+["csswg-test/mediaqueries-3", "skip"],
+["csswg-test/reference", "skip"],
+["csswg-test/selectors-3", "skip"],
+["csswg-test/selectors-4", "skip"],
+["csswg-test/vendor-imports", "skip"],
+["web-platform-tests/2dcontext", "skip"],
+["web-platform-tests/2dcontext/transformations/canvas_transformations_reset_001.html", "import"],
+["web-platform-tests/2dcontext/transformations/canvas_transformations_reset_001-ref.html", "import"],
+["web-platform-tests/DOMEvents", "skip"],
+["web-platform-tests/DOM-parsing", "skip"],
+["web-platform-tests/FileAPI", "skip"],
+["web-platform-tests/IndexedDB", "import"],
+["web-platform-tests/WebCryptoAPI", "skip"],
+["web-platform-tests/WebIDL", "import"],
+["web-platform-tests/WebIDL/invalid", "skip"],
+["web-platform-tests/WebIDL/valid", "skip"],
+["web-platform-tests/XMLHttpRequest", "import"],
+["web-platform-tests/XMLHttpRequest/abort-after-stop.htm", "skip"],
+["web-platform-tests/XMLHttpRequest/event-error-order.sub.html", "skip"],
+["web-platform-tests/XMLHttpRequest/event-error.html", "skip"],
+["web-platform-tests/XMLHttpRequest/event-timeout-order.htm", "skip"],
+["web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.sub.htm", "skip"],
+["web-platform-tests/XMLHttpRequest/open-url-worker-origin.htm", "skip"],
+["web-platform-tests/XMLHttpRequest/preserve-ua-header-on-redirect.htm", "skip"],
+["web-platform-tests/XMLHttpRequest/send-after-setting-document-domain.htm", "skip"],
+["web-platform-tests/XMLHttpRequest/send-authentication-basic.htm", "skip"],
+["web-platform-tests/XMLHttpRequest/send-authentication-basic-cors.htm", "skip"],
+["web-platform-tests/XMLHttpRequest/send-authentication-basic-cors-not-enabled.htm", "skip"],
+["web-platform-tests/XMLHttpRequest/send-authentication-basic-repeat-no-args.htm", "skip"],
+["web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader-existing-session.htm", "skip"],
+["web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader.htm", "skip"],
+["web-platform-tests/XMLHttpRequest/send-authentication-competing-names-passwords.htm", "skip"],
+["web-platform-tests/XMLHttpRequest/send-entity-body-basic.htm", "skip"],
+["web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub.htm", "skip"],
+["web-platform-tests/accelerometer", "skip"],
+["web-platform-tests/ambient-light", "skip"],
+["web-platform-tests/annotation-model", "skip"],
+["web-platform-tests/annotation-protocol", "skip"],
+["web-platform-tests/annotation-vocab", "skip"],
+["web-platform-tests/animation-timing", "skip"],
+["web-platform-tests/app-uri", "skip"],
+["web-platform-tests/auxclick", "skip"],
+["web-platform-tests/battery-status", "skip"],
+["web-platform-tests/bluetooth", "skip"],
+["web-platform-tests/browser-payment-api", "skip"],
+["web-platform-tests/clear-site-data", "skip"],
+["web-platform-tests/compat", "skip"],
+["web-platform-tests/console", "skip"],
+["web-platform-tests/content-security-policy", "skip"],
+["web-platform-tests/cookies", "skip"],
+["web-platform-tests/cors", "skip"],
+["web-platform-tests/css-values", "skip"],
+["web-platform-tests/custom-elements", "import"],
+["web-platform-tests/custom-elements/v0", "skip"],
+["web-platform-tests/cssom", "skip"],
+["web-platform-tests/cssom-view", "skip"],
+["web-platform-tests/dom", "import"],
+["web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.html", "skip"],
+["web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.svg", "skip"],
+["web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xhtml", "skip"],
+["web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xml", "skip"],
+["web-platform-tests/dom/nodes/Document-createProcessingInstruction.xhtml", "skip"],
+["web-platform-tests/dom/nodes/Document-getElementsByTagName.xhtml", "skip"],
+["web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-svg.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-nextElementSibling-svg.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-lastElementChild-svg.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-firstElementChild-svg.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-childElement-null-svg.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-childElementCount-nochild-svg.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-childElementCount-svg.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-siblingElement-null-svg.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-svg.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-firstElementChild-namespace-svg.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-previousElementSibling-svg.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-childElement-null.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-childElement-null.xhtml", "skip"],
+["web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove.xhtml", "skip"],
+["web-platform-tests/dom/nodes/Element-childElementCount-nochild.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-childElementCount.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-childElementCount.xhtml", "skip"],
+["web-platform-tests/dom/nodes/Element-firstElementChild-entity.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-firstElementChild-entity.xhtml", "skip"],
+["web-platform-tests/dom/nodes/Element-firstElementChild-namespace.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-firstElementChild-namespace.xhtml", "skip"],
+["web-platform-tests/dom/nodes/Element-firstElementChild.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-lastElementChild.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-lastElementChild.xhtml", "skip"],
+["web-platform-tests/dom/nodes/Element-nextElementSibling.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-previousElementSibling.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-siblingElement-null.svg", "skip"],
+["web-platform-tests/dom/nodes/Element-siblingElement-null.xhtml", "skip"],
+["web-platform-tests/dom/nodes/Node-nodeName.xhtml", "skip"],
+["web-platform-tests/dom/nodes/ParentNode-querySelector-All.xht", "skip"],
+["web-platform-tests/dom/traversal/unfinished", "skip"],
+["web-platform-tests/domparsing", "import"],
+["web-platform-tests/dpub-aam", "skip"],
+["web-platform-tests/dpub-aria", "skip"],
+["web-platform-tests/generic-sensor", "skip"],
+["web-platform-tests/domparsing/DOMParser-parseFromString-xml.html", "skip"],
+["web-platform-tests/domparsing/XMLSerializer-serializeToString.html", "skip"],
+["web-platform-tests/domparsing/DOMParser-parseFromString-xml-doctype.html", "skip"],
+["web-platform-tests/domparsing/innerhtml-02.html", "skip"],
+["web-platform-tests/domparsing/insert_adjacent_html-xhtml.xhtml", "skip"],
+["web-platform-tests/domparsing/style_attribute_html.html", "skip"],
+["web-platform-tests/domxpath", "skip"],
+["web-platform-tests/editing", "skip"],
+["web-platform-tests/encoding", "skip"],
+["web-platform-tests/encrypted-media", "import"],
+["web-platform-tests/encrypted-media/Google", "skip"],
+["web-platform-tests/eventsource", "skip"],
+["web-platform-tests/ext-xhtml-pubid", "skip"],
+["web-platform-tests/fetch", "import"],
+["web-platform-tests/fullscreen", "skip"],
+["web-platform-tests/gamepad", "skip"],
+["web-platform-tests/geolocation-API", "skip"],
+["web-platform-tests/gyroscope", "skip"],
+["web-platform-tests/hr-time", "import"],
+["web-platform-tests/html", "import"],
+["web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name.html", "skip"],
+["web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin_2.html", "skip"],
+["web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin_3.html", "skip"],
+["web-platform-tests/html/browsers/history/joint-session-history", "skip"],
+["web-platform-tests/html/browsers/history/the-history-interface/001.html", "skip"],
+["web-platform-tests/html/browsers/history/the-history-interface/002.html", "skip"],
+["web-platform-tests/html/browsers/history/the-history-interface/combination_history_002.html", "skip"],
+["web-platform-tests/html/browsers/history/the-history-interface/combination_history_003.html", "skip"],
+["web-platform-tests/html/browsers/history/the-history-interface/traverse_the_history_3.html", "skip"],
+["web-platform-tests/html/browsers/history/the-location-interface/assign_after_load.html", "skip"],
+["web-platform-tests/html/browsers/history/the-location-interface/assign_before_load.html", "skip"],
+["web-platform-tests/html/browsers/history/the-location-interface/location_assign.html", "skip"],
+["web-platform-tests/html/browsers/offline/application-cache-api", "skip"],
+["web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.sub.html", "skip"],
+["web-platform-tests/html/browsers/sandboxing", "skip"],
+["web-platform-tests/html/browsers/windows/browsing-context-first-created.xhtml", "skip"],
+["web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.html", "skip"],
+["web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.html", "skip"],
+["web-platform-tests/html/dom/documents/dom-tree-accessors/Document.currentScript.sub.html", "skip"],
+["web-platform-tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters", "skip"],
+["web-platform-tests/html/dom/reflection-original.html", "skip"],
+["web-platform-tests/html/editing", "skip"],
+["web-platform-tests/html/iana", "skip"],
+["web-platform-tests/html/infrastructure", "skip"],
+["web-platform-tests/html/obsolete", "skip"],
+["web-platform-tests/presentation-api", "skip"],
+["web-platform-tests/html/rendering", "skip"],
+["web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/", "skip"],
+["web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh", "import"],
+["web-platform-tests/html/semantics/embedded-content-0", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/error-codes", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors", "skip"],
+["web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-04.html", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/audio_loop_base.html", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/error-codes", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/currentSrc.html", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/networkState_during_progress.html", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/offsets-into-the-media-resource/currentTime.html", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-remove-from-document-networkState.html", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/play-in-detached-document.html", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay.html", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-currentTime.html", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-max-value.htm", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-negative-time.htm", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/synchronising-multiple-media-elements/media-controllers/task-source.html", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cloneNode.html", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors", "skip"],
+["web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base.html", "skip"],
+["web-platform-tests/html/semantics/embedded-content/the-area-element/area_nohref.xhtml", "skip"],
+["web-platform-tests/html/semantics/embedded-content/the-area-element/test-area.xhtml", "skip"],
+["web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html", "skip"],
+["web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-image-data", "skip"],
+["web-platform-tests/html/semantics/embedded-content/the-object-element/object-events.html", "skip"],
+["web-platform-tests/html/semantics/forms/textfieldselection/select-event.html", "skip"],
+["web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html", "skip"],
+["web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html", "skip"],
+["web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements", "skip"],
+["web-platform-tests/html/semantics/scripting-1/the-script-element/script-for-event.xhtml", "skip"],
+["web-platform-tests/html/semantics/scripting-1/the-script-element/script-text.xhtml", "skip"],
+["web-platform-tests/html/semantics/text-level-semantics/the-data-element", "skip"],
+["web-platform-tests/html/the-xhtml-syntax", "skip"],
+["web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents", "import"],
+["web-platform-tests/html/syntax", "import"],
+["web-platform-tests/html/tools", "skip"],
+["web-platform-tests/html/webappapis", "import"],
+["web-platform-tests/html/webappapis/idle-callbacks", "skip"],
+["web-platform-tests/html/webappapis/scripting/event-loops/microtask_after_raf.html", "skip"],
+["web-platform-tests/html-imports", "skip"],
+["web-platform-tests/html-longdesc", "skip"],
+["web-platform-tests/html-media-capture", "skip"],
+["web-platform-tests/http", "skip"],
+["web-platform-tests/imagebitmap-renderingcontext", "skip"],
+["web-platform-tests/infrastructure", "skip"],
+["web-platform-tests/innerText", "import"],
+["web-platform-tests/input-events", "skip"],
+["web-platform-tests/js", "skip"],
+["web-platform-tests/magnetometer", "skip"],
+["web-platform-tests/mathml", "skip"],
+["web-platform-tests/mediacapture-record", "skip"],
+["web-platform-tests/mediacapture-streams", "skip"],
+["web-platform-tests/microdata", "skip"],
+["web-platform-tests/mixed-content", "skip"],
+["web-platform-tests/navigation-timing", "skip"],
+["web-platform-tests/notifications", "skip"],
+["web-platform-tests/offscreen-canvas", "skip"],
+["web-platform-tests/old-tests", "skip"],
+["web-platform-tests/orientation-event", "skip"],
+["web-platform-tests/page-visibility", "skip"],
+["web-platform-tests/payment-request", "skip"],
+["web-platform-tests/performance-timeline", "skip"],
+["web-platform-tests/pointerevents", "skip"],
+["web-platform-tests/pointerlock", "skip"],
+["web-platform-tests/preload", "skip"],
+["web-platform-tests/progress-events", "skip"],
+["web-platform-tests/proximity", "skip"],
+["web-platform-tests/quirks-mode", "skip"],
+["web-platform-tests/referrer-policy", "skip"],
+["web-platform-tests/resource-timing", "import"],
+["web-platform-tests/screen-orientation", "skip"],
+["web-platform-tests/secure-contexts", "skip"],
+["web-platform-tests/selection", "skip"],
+["web-platform-tests/selectors", "skip"],
+["web-platform-tests/selectors-api", "skip"],
+["web-platform-tests/service-workers", "skip"],
+["web-platform-tests/shadow-dom", "import"],
+["web-platform-tests/shadow-dom/untriaged", "skip"],
+["web-platform-tests/subresource-integrity", "skip"],
+["web-platform-tests/svg", "skip"],
+["web-platform-tests/testharness_runner.html", "skip"],
+["web-platform-tests/touch-events", "import"],
+["web-platform-tests/typedarrays", "skip"],
+["web-platform-tests/uievents", "skip"],
+["web-platform-tests/upgrade-insecure-requests", "skip"],
+["web-platform-tests/url", "import"],
+["web-platform-tests/user-timing", "import"],
+["web-platform-tests/vibration", "skip"],
+["web-platform-tests/wai-aria", "skip"],
+["web-platform-tests/web-animations", "skip"],
+["web-platform-tests/webaudio", "skip"],
+["web-platform-tests/webauthn", "skip"],
+["web-platform-tests/webdriver", "skip"],
+["web-platform-tests/webgl", "skip"],
+["web-platform-tests/webmessaging", "skip"],
+["web-platform-tests/webrtc", "import"],
+["web-platform-tests/websockets", "skip"],
+["web-platform-tests/webstorage", "skip"],
+["web-platform-tests/webvr", "skip"],
+["web-platform-tests/webvtt", "skip"],
+["web-platform-tests/workers", "skip"]
+]
index 654fade..e2a0653 100644 (file)
@@ -1,3 +1,17 @@
+2017-02-07  Youenn Fablet  <youenn@apple.com>
+
+        Use a JSON file to define which WPT files/folders to import
+        https://bugs.webkit.org/show_bug.cgi?id=167923
+
+        Reviewed by Alex Christensen.
+
+        * Scripts/webkitpy/w3c/test_downloader.py:
+        (TestDownloader.__init__):
+        (TestDownloader._init_paths_from_expectations):
+        * Scripts/webkitpy/w3c/test_importer.py:
+        (parse_args):
+        * Scripts/webkitpy/w3c/test_importer_unittest.py:
+
 2017-02-06  Fujii Hironori  <Hironori.Fujii@sony.com>
 
         [GTK] jhbuild fails: mesa-11.0.6.tar.xz: 404 Not Found
index d102bb9..e40e44c 100644 (file)
@@ -32,7 +32,6 @@ import logging
 
 from webkitpy.common.system.filesystem import FileSystem
 from webkitpy.common.webkit_finder import WebKitFinder
-from webkitpy.layout_tests.models.test_expectations import TestExpectationParser
 from webkitpy.common.checkout.scm.git import Git
 
 _log = logging.getLogger(__name__)
@@ -72,7 +71,7 @@ class TestDownloader(object):
 
         if not self._options.import_all:
             webkit_finder = WebKitFinder(self._filesystem)
-            import_expectations_path = webkit_finder.path_from_webkit_base('LayoutTests', 'imported', 'w3c', 'resources', 'ImportExpectations')
+            import_expectations_path = webkit_finder.path_from_webkit_base('LayoutTests', 'imported', 'w3c', 'resources', 'import-expectations.json')
             self._init_paths_from_expectations(import_expectations_path)
 
     def git(self, test_repository):
@@ -96,12 +95,14 @@ class TestDownloader(object):
         if not self._filesystem.isfile(file_path):
             _log.warning('Unable to read import expectation file: %s' % file_path)
             return
-        parser = TestExpectationParser(self._host.port_factory.get(), (), False)
-        for line in parser.parse(file_path, self._filesystem.read_text_file(file_path)):
-            if 'SKIP' in line.modifiers:
-                self.paths_to_skip.append(line.name)
-            elif 'PASS' in line.expectations:
-                self.paths_to_import.append(line.name)
+        import_lines = json.loads(self._filesystem.read_text_file(file_path))
+        for line in import_lines:
+            if line[1] == 'skip':
+                self.paths_to_skip.append(line[0])
+            elif line[1] == 'import':
+                self.paths_to_import.append(line[0])
+            else:
+                _log.warning('Problem reading import lines ' + line[0])
 
     def _add_test_suite_paths(self, test_paths, directory, webkit_path):
         for name in self._filesystem.listdir(directory):
index 119980d..381ba01 100644 (file)
@@ -143,7 +143,7 @@ def parse_args(args):
     parser.add_argument('--no-fetch', action='store_false', dest='fetch', default=True,
          help='Do not fetch the repositories. By default, repositories are fetched if a source directory is not provided')
     parser.add_argument('--import-all', action='store_true', default=False,
-         help='Ignore the ImportExpectations file. All tests will be imported. This option only applies when tests are downloaded from W3C repository')
+         help='Ignore the import-expectations.json file. All tests will be imported. This option only applies when tests are downloaded from W3C repository')
 
     parser.add_argument('--clean-dest-dir', action='store_true', dest='clean_destination_directory', default=False,
          help='Clean destination directory. All files in the destination directory will be deleted except for WebKit specific files (test expectations, .gitignore...) before new tests import. Dangling test expectations (expectation file that is no longer related to a test) are removed after tests import.')
index 2a12f3a..e112eb3 100644 (file)
@@ -178,11 +178,12 @@ class TestImporterTest(unittest.TestCase):
         "import_options": []
      }
 ]''',
-            '/mock-checkout/LayoutTests/imported/w3c/resources/ImportExpectations': '''
-web-platform-tests/dir-to-skip [ Skip ]
-web-platform-tests/dir-to-skip/dir-to-import [ Pass ]
-web-platform-tests/dir-to-skip/file-to-import.html [ Pass ]
-''',
+            '/mock-checkout/LayoutTests/imported/w3c/resources/import-expectations.json': '''
+[
+["web-platform-tests/dir-to-skip", "skip"],
+["web-platform-tests/dir-to-skip/dir-to-import", "import"],
+["web-platform-tests/dir-to-skip/file-to-import.html", "import"]
+]''',
             '/mock-checkout/WebKitBuild/w3c-tests/web-platform-tests/dir-to-skip/test-to-skip.html': 'to be skipped',
             '/mock-checkout/WebKitBuild/w3c-tests/web-platform-tests/dir-to-skip/dir-to-import/test-to-import.html': 'to be imported',
             '/mock-checkout/WebKitBuild/w3c-tests/web-platform-tests/dir-to-skip/dir-to-not-import/test-to-not-import.html': 'to be skipped',