Last active
April 19, 2017 14:48
-
-
Save gsnedders/afcd8823f7344c11f093db895e819888 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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="[email protected]", | |
- 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