Skip to content

Instantly share code, notes, and snippets.

@bobholt
Last active February 7, 2017 19:09
Show Gist options
  • Save bobholt/fec6632ab8950dbd27504a13cbc9cf54 to your computer and use it in GitHub Desktop.
Save bobholt/fec6632ab8950dbd27504a13cbc9cf54 to your computer and use it in GitHub Desktop.
Windows WPT

Installation on Windows

  • Install OpenSSL 1.0.2 and 1.1.0 binaries from https://slproweb.com/products/Win32OpenSSL.html
  • Add C:\OpenSSL-Win64\bin\openssl.exe to your system path (Advanced Settings > Environment Variables from Control Panel\All Control Panel Items\System).
  • Clone Web Platform Tests using the --recursive option
    • e.g. git clone --recursive git@github.com:w3c/web-platform-tests.git
    • Doing git submodule update --init --recursive once the repo was checked out has resulted in bad checkouts for me.
  • Update submodules: git submodule update --init --recursive
  • Edit hostfile (C:\Windows\System32\drivers\etc\hosts)
    • 127.0.0.1 web-platform.test
    • 127.0.0.1 www.web-platform.test
    • 127.0.0.1 www1.web-platform.test
    • 127.0.0.1 www2.web-platform.test
    • 127.0.0.1 xn--n8j6ds53lwwkrqhv28a.web-platform.test
    • 127.0.0.1 xn--lve-6lad.web-platform.test
    • 0.0.0.0 nonexistent-origin.web-platform.test
  • Download and Install Ahem font
  • Install Python 2.7. Ensure both C:\Python and C:\Python\Scripts are in your system path
  • Clone wptrunner
  • Install wptrunner dependencies (in wptrunner directory, pip install --editable ./
  • Create manifest file
    • Create a meta directory alongside the wptrunner and web-platform-tests directories
    • Change into the web-platform-tests directory
    • Run python manifest
  • Download and install Chrome Canary
  • Download and install [Firefox Nightly(https://www.mozilla.org/en-US/firefox/channel/desktop/)
    • If you have another instance, it is worth adding a new profile in about:profiles and updating the Nightly shortcut (in C:\ProgramData\Microsoft\Windows\Start Menu\Programs) to set the target to "C:\Program Files\Nightly\firefox.exe" -p <profile_name> -no-remote
  • Create a downloadd folder next to web-platform-tests and wptrunner
  • Download and unpack the latest Chromedriver in the download folder.
  • Install chromedriver requirements. In wptrunner: pip install --requirement requirements_chrome.txt
  • Download and upack the latest geckodriver in the download folder.
  • Install geckdriver requirements. In wptrunner: pip install --requirement requirements_firefox.txt
  • Fetch gecko profile
    • Change into download directory
    • Create a gecko-dev directory inside the download directory
    • Change into the gecko-dev directory
    • git init
    • git remote add origin git@github.com:mozilla/gecko-dev.git
    • git config core.sparsecheckout true
    • Create a file at .git/info/sparse-checkout add the single linetesting/profiles/* to the file and save.
    • git pull --depth=1 origin master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment