Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1190)

Unified Diff: Tools/Scripts/webkitpy/thirdparty/wpt/checkout.sh

Issue 1154373005: Introduce WPTServe for running W3C Blink Layout tests (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add executable bit to pass permchecks. Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Tools/Scripts/webkitpy/thirdparty/wpt/checkout.sh
diff --git a/Tools/Scripts/webkitpy/thirdparty/wpt/checkout.sh b/Tools/Scripts/webkitpy/thirdparty/wpt/checkout.sh
new file mode 100755
index 0000000000000000000000000000000000000000..620940d7f125f34e2592e3ca300ad35b32df3660
--- /dev/null
+++ b/Tools/Scripts/webkitpy/thirdparty/wpt/checkout.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+#
+# Removes ./wpt/ directory containing the reduced web-platform-tests tree and
+# starts a new checkout. Only files in WPTWhiteList are retained. The revisions
+# getting checked out are defined in WPTHeads.
+
+DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
+cd $DIR
+
+TARGET_DIR=$DIR/wpt
+REMOTE_REPO="https://chromium.googlesource.com/external/w3c/web-platform-tests.git"
+
+function clone {
+ # First line is the main repo HEAD.
+ WPT_HEAD=$(head -n 1 $DIR/WPTHeads)
+
+ # Remove existing repo if already exists.
+ [ -d "$TARGET_DIR" ] && rm -rf $TARGET_DIR
+
+ # Clone the main repository.
+ git clone $REMOTE_REPO $TARGET_DIR
+ cd $TARGET_DIR && git checkout $WPT_HEAD
+
+ # Starting from the 2nd line of WPTWhiteList, we read and checkout submodules.
+ tail -n+2 $DIR/WPTHeads | while read dir submodule commit; do
+ cd $TARGET_DIR/$dir && \
+ git submodule update --init $submodule && \
+ cd $TARGET_DIR/$dir/$submodule && \
+ git checkout $commit
+ done
+}
+
+function reduce {
+ # Remove all except white-listed.
+ cd $TARGET_DIR
+ find . -type f | grep -Fxvf ../WPTWhiteList | xargs -n 1 rm
+ find . -empty -type d -delete
+}
+
+actions="clone reduce"
+[ "$1" != "" ] && actions="$@"
+
+for action in $actions; do
+ type -t $action >/dev/null || (echo "Unknown action: $action" 1>&2 && exit 1)
+ $action
+done
+
+# TODO(burnik): Handle the SSL certs and other configuration.
« no previous file with comments | « Tools/Scripts/webkitpy/thirdparty/wpt/WPTWhiteList ('k') | Tools/Scripts/webkitpy/thirdparty/wpt/wpt.config.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698