Skip to content

Instantly share code, notes, and snippets.

@gsnedders
Last active April 19, 2017 14:48
Show Gist options
  • Save gsnedders/afcd8823f7344c11f093db895e819888 to your computer and use it in GitHub Desktop.
Save gsnedders/afcd8823f7344c11f093db895e819888 to your computer and use it in GitHub Desktop.
Only in tools-merge-post: check_stability.ini
diff '--color=never' -u -r tools-merge-pre/check_stability.py tools-merge-post/check_stability.py
--- tools-merge-pre/check_stability.py 2017-04-19 15:39:38.292667625 +0100
+++ tools-merge-post/check_stability.py 2017-04-19 15:40:27.660606721 +0100
@@ -1,6 +1,7 @@
from __future__ import print_function
import argparse
+from ConfigParser import SafeConfigParser
import logging
import os
import re
@@ -439,24 +440,34 @@
return branch_point
-def get_files_changed(branch_point):
- """Get and return files changed since current branch diverged from master."""
+def get_files_changed(branch_point, ignore_changes):
+ """Get and return files changed since current branch diverged from master,
+ excluding those that are located within any directory specifed by
+ `ignore_changes`."""
root = os.path.abspath(os.curdir)
git = get_git_cmd(wpt_root)
files = git("diff", "--name-only", "-z", "%s..." % branch_point)
if not files:
- return []
+ return [], []
assert files[-1] == "\0"
- return [os.path.join(wpt_root, item)
- for item in files[:-1].split("\0")]
+ changed = []
+ ignored = []
+ for item in files[:-1].split("\0"):
+ fullpath = os.path.join(wpt_root, item)
+ topmost_dir = item.split(os.sep, 1)[0]
+ if topmost_dir in ignore_changes:
+ ignored.append(fullpath)
+ else:
+ changed.append(fullpath)
+
+ return changed, ignored
-def get_affected_testfiles(files_changed):
+def get_affected_testfiles(files_changed, skip_tests):
"""Determine and return list of test files that reference changed files."""
affected_testfiles = set()
nontests_changed = set(files_changed)
manifest_file = os.path.join(wpt_root, "MANIFEST.json")
- skip_dirs = ["conformance-checkers", "docs", "tools"]
test_types = ["testharness", "reftest", "wdspec"]
wpt_manifest = manifest.load(wpt_root, manifest_file)
@@ -477,7 +488,7 @@
# (because it's not part of any test).
continue
top_level_subdir = path_components[0]
- if top_level_subdir in skip_dirs:
+ if top_level_subdir in skip_tests:
continue
repo_path = "/" + os.path.relpath(full_path, wpt_root).replace(os.path.sep, "/")
nontest_changed_paths.add((full_path, repo_path))
@@ -486,7 +497,7 @@
# Walk top_level_subdir looking for test files containing either the
# relative filepath or absolute filepatch to the changed files.
if root == wpt_root:
- for dir_name in skip_dirs:
+ for dir_name in skip_tests:
dirs.remove(dir_name)
for fname in fnames:
test_full_path = os.path.join(root, fname)
@@ -706,7 +717,9 @@
def get_parser():
"""Create and return script-specific argument parser."""
- parser = argparse.ArgumentParser()
+ description = """Detect instabilities in new tests by executing tests
+ repeatedly and comparing results between executions."""
+ parser = argparse.ArgumentParser(description=description)
parser.add_argument("--root",
action="store",
default=os.path.join(os.path.expanduser("~"), "build"),
@@ -730,6 +743,11 @@
action="store",
type=int,
help="Maximum number of bytes to write to standard output/error")
+ parser.add_argument("--config-file",
+ action="store",
+ type=str,
+ help="Location of ini-formatted configuration file",
+ default="check_stability.ini")
parser.add_argument("product",
action="store",
help="Product to run against (`browser-name` or 'browser-name:channel')")
@@ -746,6 +764,12 @@
parser = get_parser()
args = parser.parse_args()
+ with open(args.config_file, 'r') as config_fp:
+ config = SafeConfigParser()
+ config.readfp(config_fp)
+ skip_tests = config.get("file detection", "skip_tests").split()
+ ignore_changes = set(config.get("file detection", "ignore_changes").split())
+
if args.output_bytes is not None:
replace_streams(args.output_bytes,
"Log reached capacity (%s bytes); output disabled." % args.output_bytes)
@@ -782,7 +806,11 @@
# For now just pass the whole list of changed files to wptrunner and
# assume that it will run everything that's actually a test
- files_changed = get_files_changed(branch_point)
+ files_changed, files_ignored = get_files_changed(branch_point, ignore_changes)
+
+ if files_ignored:
+ logger.info("Ignoring %s changed files:\n%s" % (len(files_ignored),
+ "".join(" * %s\n" % item for item in files_ignored)))
if not files_changed:
logger.info("No files changed")
@@ -804,7 +832,7 @@
logger.debug("Files changed:\n%s" % "".join(" * %s\n" % item for item in files_changed))
- affected_testfiles = get_affected_testfiles(files_changed)
+ affected_testfiles = get_affected_testfiles(files_changed, skip_tests)
logger.debug("Affected tests:\n%s" % "".join(" * %s\n" % item for item in affected_testfiles))
Only in tools-merge-post: ci_unittest.sh
diff '--color=never' -u -r tools-merge-pre/css/tools/apiclient/.git tools-merge-post/css/tools/apiclient/.git
--- tools-merge-pre/css/tools/apiclient/.git 2017-04-19 15:43:57.889358721 +0100
+++ tools-merge-post/css/tools/apiclient/.git 2017-04-19 15:46:09.829426271 +0100
@@ -1 +1 @@
-gitdir: ../../../../web-platform-tests/.git/worktrees/tools-merge-pre/modules/css/tools/apiclient
+gitdir: ../../../../web-platform-tests/.git/worktrees/tools-merge-post/modules/css/tools/apiclient
diff '--color=never' -u -r tools-merge-pre/css/tools/w3ctestlib/.git tools-merge-post/css/tools/w3ctestlib/.git
--- tools-merge-pre/css/tools/w3ctestlib/.git 2017-04-19 15:44:01.439450227 +0100
+++ tools-merge-post/css/tools/w3ctestlib/.git 2017-04-19 15:46:12.776168894 +0100
@@ -1 +1 @@
-gitdir: ../../../../web-platform-tests/.git/worktrees/tools-merge-pre/modules/css/tools/w3ctestlib
+gitdir: ../../../../web-platform-tests/.git/worktrees/tools-merge-post/modules/css/tools/w3ctestlib
diff '--color=never' -u -r tools-merge-pre/.git tools-merge-post/.git
--- tools-merge-pre/.git 2017-04-19 15:39:38.062661697 +0100
+++ tools-merge-post/.git 2017-04-19 15:39:43.239461791 +0100
@@ -1 +1 @@
-gitdir: /mnt/home-extra/gsnedders/Documents/other-projects/wpt/web-platform-tests/.git/worktrees/tools-merge-pre
+gitdir: /mnt/home-extra/gsnedders/Documents/other-projects/wpt/web-platform-tests/.git/worktrees/tools-merge-post
diff '--color=never' -u -r tools-merge-pre/.gitmodules tools-merge-post/.gitmodules
--- tools-merge-pre/.gitmodules 2017-04-19 15:39:38.192665048 +0100
+++ tools-merge-post/.gitmodules 2017-04-19 15:40:27.660606721 +0100
@@ -1,14 +1,12 @@
-[submodule "resources"]
- path = resources
- url = https://github.com/w3c/testharness.js.git
- ignore = dirty
-[submodule "tools"]
- path = tools
- url = https://github.com/w3c/wpt-tools.git
- ignore = dirty
[submodule "css/tools/apiclient"]
path = css/tools/apiclient
url = https://github.com/w3c/csswg-apiclient.git
[submodule "css/tools/w3ctestlib"]
path = css/tools/w3ctestlib
url = https://github.com/w3c/csswg-w3ctestlib.git
+[submodule "tools/html5lib/html5lib/tests/testdata"]
+ path = tools/html5lib/html5lib/tests/testdata
+ url = https://github.com/html5lib/html5lib-tests.git
+[submodule "resources/webidl2/test/widlproc"]
+ path = resources/webidl2/test/widlproc
+ url = https://github.com/dontcallmedom/widlproc.git
\ No newline at end of file
diff '--color=never' -u -r tools-merge-pre/lint.whitelist tools-merge-post/lint.whitelist
--- tools-merge-pre/lint.whitelist 2017-04-19 15:39:39.656036098 +0100
+++ tools-merge-post/lint.whitelist 2017-04-19 15:40:27.660606721 +0100
@@ -767,3 +767,5 @@
CSS-COLLIDING-SUPPORT-NAME: css/css-display-3/support/util.js
CSS-COLLIDING-SUPPORT-NAME: css/CSS2/normal-flow/support/replaced-min-max-1.png
CSS-COLLIDING-SUPPORT-NAME: css/vendor-imports/mozilla/mozilla-central-reftests/ui3/support/replaced-min-max-1.png
+
+WEBIDL2.JS:.gitmodules
Only in tools-merge-pre/resources: .git
Only in tools-merge-pre/resources: .gitmodules
diff '--color=never' -u -r tools-merge-pre/resources/idlharness.js tools-merge-post/resources/idlharness.js
--- tools-merge-pre/resources/idlharness.js 2017-04-19 15:44:10.349679895 +0100
+++ tools-merge-post/resources/idlharness.js 2017-04-19 15:40:27.660606721 +0100
@@ -437,6 +437,11 @@
IdlArray.prototype.assert_type_is = function(value, type)
//@{
{
+ if (type.idlType in this.members
+ && this.members[type.idlType] instanceof IdlTypedef) {
+ this.assert_type_is(value, this.members[type.idlType].idlType);
+ return;
+ }
if (type.union) {
for (var i = 0; i < type.idlType.length; i++) {
try {
@@ -644,10 +649,6 @@
{
// TODO: Test when we actually have something to test this on
}
- else if (this.members[type] instanceof IdlTypedef)
- {
- // TODO: Test when we actually have something to test this on
- }
else
{
throw "Type " + type + " isn't an interface or dictionary";
@@ -2023,8 +2024,8 @@
/** Self-explanatory. */
this.name = obj.name;
- /** An array of values produced by the "typedef" production. */
- this.values = obj.values;
+ /** The idlType that we are supposed to be typedeffing to. */
+ this.idlType = obj.idlType;
}
//@}
Only in tools-merge-pre/resources/webidl2: .git
diff '--color=never' -u -r tools-merge-pre/resources/webidl2/test/widlproc/.git tools-merge-post/resources/webidl2/test/widlproc/.git
--- tools-merge-pre/resources/webidl2/test/widlproc/.git 2017-04-19 15:44:13.709766503 +0100
+++ tools-merge-post/resources/webidl2/test/widlproc/.git 2017-04-19 15:46:12.319490455 +0100
@@ -1 +1 @@
-gitdir: ../../../../../web-platform-tests/.git/worktrees/tools-merge-pre/modules/resources/modules/webidl2/modules/test/widlproc
+gitdir: ../../../../../web-platform-tests/.git/worktrees/tools-merge-post/modules/resources/webidl2/test/widlproc
Only in tools-merge-pre/tools: .git
diff '--color=never' -u -r tools-merge-pre/tools/.gitmodules tools-merge-post/tools/.gitmodules
--- tools-merge-pre/tools/.gitmodules 2017-04-19 15:44:13.809769081 +0100
+++ tools-merge-post/tools/.gitmodules 2017-04-19 15:40:27.667273560 +0100
@@ -1,7 +1,3 @@
-[submodule "tools/wptserve"]
- path = wptserve
- url = https://github.com/w3c/wptserve.git
- ignore = dirty
[submodule "tools/pywebsocket"]
path = pywebsocket
url = https://github.com/w3c/pywebsocket.git
@@ -15,6 +11,3 @@
[submodule "pytest"]
path = pytest
url = https://github.com/pytest-dev/pytest.git
-[submodule "webdriver"]
- path = webdriver
- url = https://github.com/w3c/wdclient.git
Only in tools-merge-pre/tools/html5lib: .git
diff '--color=never' -u -r tools-merge-pre/tools/html5lib/html5lib/tests/testdata/.git tools-merge-post/tools/html5lib/html5lib/tests/testdata/.git
--- tools-merge-pre/tools/html5lib/html5lib/tests/testdata/.git 2017-04-19 15:44:54.297479351 +0100
+++ tools-merge-post/tools/html5lib/html5lib/tests/testdata/.git 2017-04-19 15:46:20.329696928 +0100
@@ -1 +1 @@
-gitdir: ../../../../../../web-platform-tests/.git/worktrees/tools-merge-pre/modules/tools/modules/html5lib/modules/testdata
+gitdir: ../../../../../../web-platform-tests/.git/worktrees/tools-merge-post/modules/tools/html5lib/html5lib/tests/testdata
Only in tools-merge-pre/tools: LICENSE
Only in tools-merge-pre/tools/pytest: .git
diff '--color=never' -u -r tools-merge-pre/tools/pytest.ini tools-merge-post/tools/pytest.ini
--- tools-merge-pre/tools/pytest.ini 2017-04-19 15:44:13.819769338 +0100
+++ tools-merge-post/tools/pytest.ini 2017-04-19 15:40:27.677273818 +0100
@@ -1,2 +1,2 @@
[pytest]
-norecursedirs = .* {arch} *.egg html5lib py pytest pywebsocket six webdriver wptserve
+norecursedirs = .* {arch} *.egg html5lib py pytest pywebsocket six
Only in tools-merge-pre/tools/pywebsocket: .git
Only in tools-merge-pre/tools/six: .git
diff '--color=never' -u -r tools-merge-pre/tools/tox.ini tools-merge-post/tools/tox.ini
--- tools-merge-pre/tools/tox.ini 2017-04-19 15:44:13.826436177 +0100
+++ tools-merge-post/tools/tox.ini 2017-04-19 15:40:27.693940914 +0100
@@ -6,13 +6,13 @@
deps =
flake8
pytest
- coverage
+ pytest-cov
mock
hypothesis
pytest-catchlog
commands =
- coverage run -m pytest
+ pytest --cov
flake8
passenv =
@@ -21,4 +21,4 @@
[flake8]
ignore = E128,E129,E221,E226,E231,E251,E265,E302,E303,E305,E402,E901,F401,F821,F841
max-line-length = 141
-exclude = .tox,html5lib,py,pytest,pywebsocket,six,webdriver,wptserve
+exclude = .tox,html5lib,py,pytest,pywebsocket,six,_venv,webencodings,wptserve/docs,wptserve/tests/functional/docroot/
Only in tools-merge-pre/tools: .travis.yml
Only in tools-merge-pre/tools/webdriver: COPYING
Only in tools-merge-pre/tools/webdriver: .git
diff '--color=never' -u -r tools-merge-pre/tools/webdriver/setup.py tools-merge-post/tools/webdriver/setup.py
--- tools-merge-pre/tools/webdriver/setup.py 2017-04-19 15:44:54.500817926 +0100
+++ tools-merge-post/tools/webdriver/setup.py 2017-04-19 15:40:27.693940914 +0100
@@ -1,7 +1,3 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this file,
-# You can obtain one at http://mozilla.org/MPL/2.0/.
-
from setuptools import setup, find_packages
setup(name="webdriver",
@@ -10,7 +6,7 @@
"the W3C browser automation specification.",
author="Mozilla Engineering Productivity",
author_email="tools@lists.mozilla.org",
- license="MPL 2.0",
+ license="BSD",
packages=find_packages(),
classifiers=["Development Status :: 4 - Beta",
"Intended Audience :: Developers",
diff '--color=never' -u -r tools-merge-pre/tools/webdriver/webdriver/client.py tools-merge-post/tools/webdriver/webdriver/client.py
--- tools-merge-pre/tools/webdriver/webdriver/client.py 2017-04-19 15:44:54.500817926 +0100
+++ tools-merge-post/tools/webdriver/webdriver/client.py 2017-04-19 15:40:27.693940914 +0100
@@ -1,7 +1,3 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
import urlparse
import error
@@ -20,7 +16,7 @@
if session.session_id is None:
session.start()
- assert session.session_id != None
+ assert session.session_id is not None
return func(self, *args, **kwargs)
@@ -216,6 +212,7 @@
"""
return ActionSequence(self.session, *args, **kwargs)
+
class Window(object):
def __init__(self, session):
self.session = session
@@ -228,7 +225,8 @@
@size.setter
@command
- def size(self, (width, height)):
+ def size(self, data):
+ width, height = data
body = {"width": width, "height": height}
self.session.send_session_command("POST", "window/rect", body)
@@ -240,7 +238,8 @@
@position.setter
@command
- def position(self, (x, y)):
+ def position(self, data):
+ data = x, y
body = {"x": x, "y": y}
self.session.send_session_command("POST", "window/rect", body)
diff '--color=never' -u -r tools-merge-pre/tools/webdriver/webdriver/error.py tools-merge-post/tools/webdriver/webdriver/error.py
--- tools-merge-pre/tools/webdriver/webdriver/error.py 2017-04-19 15:44:54.500817926 +0100
+++ tools-merge-post/tools/webdriver/webdriver/error.py 2017-04-19 15:40:27.693940914 +0100
@@ -1,8 +1,3 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this file,
-# You can obtain one at http://mozilla.org/MPL/2.0/.
-
-
import collections
diff '--color=never' -u -r tools-merge-pre/tools/webdriver/webdriver/__init__.py tools-merge-post/tools/webdriver/webdriver/__init__.py
--- tools-merge-pre/tools/webdriver/webdriver/__init__.py 2017-04-19 15:44:54.500817926 +0100
+++ tools-merge-post/tools/webdriver/webdriver/__init__.py 2017-04-19 15:40:27.693940914 +0100
@@ -1,7 +1,3 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this file,
-# You can obtain one at http://mozilla.org/MPL/2.0/.
-
from client import Cookies, Element, Find, Session, Timeouts, Window
from error import (
ElementNotSelectableException,
diff '--color=never' -u -r tools-merge-pre/tools/webdriver/webdriver/servo.py tools-merge-post/tools/webdriver/webdriver/servo.py
--- tools-merge-pre/tools/webdriver/webdriver/servo.py 2017-04-19 15:44:54.500817926 +0100
+++ tools-merge-post/tools/webdriver/webdriver/servo.py 2017-04-19 15:40:27.693940914 +0100
@@ -1,7 +1,3 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this file,
-# You can obtain one at http://mozilla.org/MPL/2.0/.
-
class ServoExtensionCommands(object):
def __init__(self, session):
self.session = session
diff '--color=never' -u -r tools-merge-pre/tools/webdriver/webdriver/transport.py tools-merge-post/tools/webdriver/webdriver/transport.py
--- tools-merge-pre/tools/webdriver/webdriver/transport.py 2017-04-19 15:44:54.500817926 +0100
+++ tools-merge-post/tools/webdriver/webdriver/transport.py 2017-04-19 15:40:27.693940914 +0100
@@ -1,7 +1,3 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this file,
-# You can obtain one at http://mozilla.org/MPL/2.0/.
-
import httplib
import json
import urlparse
Only in tools-merge-pre/tools/wptserve: .git
diff '--color=never' -u -r tools-merge-pre/tools/wptserve/setup.py tools-merge-post/tools/wptserve/setup.py
--- tools-merge-pre/tools/wptserve/setup.py 2017-04-19 15:44:54.527485280 +0100
+++ tools-merge-post/tools/wptserve/setup.py 2017-04-19 15:40:27.693940914 +0100
@@ -1,7 +1,7 @@
from setuptools import setup
PACKAGE_VERSION = '1.4.0'
-deps = []
+deps = ["six>=1.8"]
setup(name='wptserve',
version=PACKAGE_VERSION,
diff '--color=never' -u -r tools-merge-pre/tools/wptserve/tests/functional/base.py tools-merge-post/tools/wptserve/tests/functional/base.py
--- tools-merge-pre/tools/wptserve/tests/functional/base.py 2017-04-19 15:44:54.527485280 +0100
+++ tools-merge-post/tools/wptserve/tests/functional/base.py 2017-04-19 15:40:27.693940914 +0100
@@ -3,13 +3,14 @@
import base64
import logging
import os
+import pytest
import unittest
from six.moves.urllib.parse import urlencode, urlunsplit
from six.moves.urllib.request import Request as BaseRequest
from six.moves.urllib.request import urlopen
-import wptserve
+wptserve = pytest.importorskip("wptserve")
logging.basicConfig()
@@ -18,6 +19,7 @@
here = os.path.split(__file__)[0]
doc_root = os.path.join(here, "docroot")
+
class Request(BaseRequest):
def __init__(self, *args, **kwargs):
BaseRequest.__init__(self, *args, **kwargs)
@@ -33,6 +35,7 @@
self.add_header("Content-Length", str(len(data)))
BaseRequest.add_data(self, data)
+
class TestUsingServer(unittest.TestCase):
def setUp(self):
self.server = wptserve.server.WebTestHttpd(host="localhost",
diff '--color=never' -u -r tools-merge-pre/tools/wptserve/tests/functional/test_cookies.py tools-merge-post/tools/wptserve/tests/functional/test_cookies.py
--- tools-merge-pre/tools/wptserve/tests/functional/test_cookies.py 2017-04-19 15:44:54.527485280 +0100
+++ tools-merge-post/tools/wptserve/tests/functional/test_cookies.py 2017-04-19 15:40:27.697274333 +0100
@@ -1,8 +1,11 @@
import unittest
-import wptserve
+import pytest
+
+wptserve = pytest.importorskip("wptserve")
from .base import TestUsingServer
+
class TestResponseSetCookie(TestUsingServer):
def test_name_value(self):
@wptserve.handlers.handler
diff '--color=never' -u -r tools-merge-pre/tools/wptserve/tests/functional/test_handlers.py tools-merge-post/tools/wptserve/tests/functional/test_handlers.py
--- tools-merge-pre/tools/wptserve/tests/functional/test_handlers.py 2017-04-19 15:44:54.527485280 +0100
+++ tools-merge-post/tools/wptserve/tests/functional/test_handlers.py 2017-04-19 15:40:27.697274333 +0100
@@ -1,14 +1,15 @@
import json
import os
-import pytest
import unittest
import uuid
+import pytest
from six.moves.urllib.error import HTTPError
-import wptserve
+wptserve = pytest.importorskip("wptserve")
from .base import TestUsingServer, doc_root
+
class TestFileHandler(TestUsingServer):
def test_GET(self):
resp = self.request("/document.txt")
diff '--color=never' -u -r tools-merge-pre/tools/wptserve/tests/functional/test_pipes.py tools-merge-post/tools/wptserve/tests/functional/test_pipes.py
--- tools-merge-pre/tools/wptserve/tests/functional/test_pipes.py 2017-04-19 15:44:54.527485280 +0100
+++ tools-merge-post/tools/wptserve/tests/functional/test_pipes.py 2017-04-19 15:40:27.697274333 +0100
@@ -2,8 +2,11 @@
import unittest
import time
+import pytest
+
from .base import TestUsingServer, doc_root
+
class TestStatus(TestUsingServer):
def test_status(self):
resp = self.request("/document.txt", query="pipe=status(202)")
diff '--color=never' -u -r tools-merge-pre/tools/wptserve/tests/functional/test_request.py tools-merge-post/tools/wptserve/tests/functional/test_request.py
--- tools-merge-pre/tools/wptserve/tests/functional/test_request.py 2017-04-19 15:44:54.527485280 +0100
+++ tools-merge-post/tools/wptserve/tests/functional/test_request.py 2017-04-19 15:40:27.697274333 +0100
@@ -1,8 +1,11 @@
import unittest
-import wptserve
+import pytest
+
+wptserve = pytest.importorskip("wptserve")
from .base import TestUsingServer
+
class TestInputFile(TestUsingServer):
def test_seek(self):
@wptserve.handlers.handler
diff '--color=never' -u -r tools-merge-pre/tools/wptserve/tests/functional/test_response.py tools-merge-post/tools/wptserve/tests/functional/test_response.py
--- tools-merge-pre/tools/wptserve/tests/functional/test_response.py 2017-04-19 15:44:54.527485280 +0100
+++ tools-merge-post/tools/wptserve/tests/functional/test_response.py 2017-04-19 15:40:27.697274333 +0100
@@ -1,9 +1,12 @@
import unittest
from types import MethodType
-import wptserve
+import pytest
+
+wptserve = pytest.importorskip("wptserve")
from .base import TestUsingServer
+
def send_body_as_header(self):
if self._response.add_required_headers:
self.write_default_headers()
diff '--color=never' -u -r tools-merge-pre/tools/wptserve/tests/functional/test_server.py tools-merge-post/tools/wptserve/tests/functional/test_server.py
--- tools-merge-pre/tools/wptserve/tests/functional/test_server.py 2017-04-19 15:44:54.527485280 +0100
+++ tools-merge-post/tools/wptserve/tests/functional/test_server.py 2017-04-19 15:40:27.697274333 +0100
@@ -1,10 +1,12 @@
import unittest
+import pytest
from six.moves.urllib.error import HTTPError
-import wptserve
+wptserve = pytest.importorskip("wptserve")
from .base import TestUsingServer
+
class TestFileHandler(TestUsingServer):
def test_not_handled(self):
with self.assertRaises(HTTPError) as cm:
diff '--color=never' -u -r tools-merge-pre/tools/wptserve/tests/functional/test_stash.py tools-merge-post/tools/wptserve/tests/functional/test_stash.py
--- tools-merge-pre/tools/wptserve/tests/functional/test_stash.py 2017-04-19 15:44:54.527485280 +0100
+++ tools-merge-post/tools/wptserve/tests/functional/test_stash.py 2017-04-19 15:40:27.697274333 +0100
@@ -1,11 +1,14 @@
import unittest
import uuid
-import wptserve
+import pytest
+
+wptserve = pytest.importorskip("wptserve")
from wptserve.router import any_method
from wptserve.stash import StashServer
from .base import TestUsingServer
+
class TestResponseSetCookie(TestUsingServer):
def run(self, result=None):
with StashServer(None, authkey=str(uuid.uuid4())):
Only in tools-merge-pre/tools/wptserve: tox.ini
diff '--color=never' -u -r tools-merge-pre/.travis.yml tools-merge-post/.travis.yml
--- tools-merge-pre/.travis.yml 2017-04-19 15:39:38.192665048 +0100
+++ tools-merge-post/.travis.yml 2017-04-19 15:40:27.660606721 +0100
@@ -48,6 +48,14 @@
env:
- secure: "YTSXPwI0DyCA1GhYrLT9KMEV6b7QQKuEeaQgeFDP38OTzJ1+cIj3CC4SRNqbnJ/6SJwPGcdqSxLuV8m4e5HFFnyCcQnJe6h8EMsTehZ7W3j/fP9UYrJqYqvGpe3Vj3xblO5pwBYmq7sg3jAmmuCgAgOW6VGf7cRMucrsmFeo7VM="
- SCRIPT=ci_stability.sh PRODUCT=chrome:unstable
+ - python: 2.7
+ env: TOXENV=py27 HYPOTHESIS_PROFILE=ci SCRIPT=ci_unittest.sh
+ - python: 3.5
+ env: TOXENV=py35 HYPOTHESIS_PROFILE=ci SCRIPT=ci_unittest.sh
+ - python: 3.6
+ env: TOXENV=py36 HYPOTHESIS_PROFILE=ci SCRIPT=ci_unittest.sh
+ - python: pypy
+ env: TOXENV=pypy HYPOTHESIS_PROFILE=ci_pypy SCRIPT=ci_unittest.sh
exclude:
- env: # exclude empty env from the top-level above
allow_failures:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment